关于MapServer的Output Format
作者: 赵博 • 2007 年 12 月 23 日 • 技术主义 • 4 条评论
今天和孙宁的地图对比发现MapServer默认的输出画质和GeoServer还是有一定差距。所以对MapServer的Output Format仔细研究了一番,主要是集中在我们通常使用的JPEG和PNG格式。MapServer图片的渲染使用GD库,支持多种格式,比如gif,jpeg,tiff,png,bmp等。最新版的MapServer 5.0支持AAG渲染模式大大增强了输出地图的画质。先列出几个渲染模式,供大家参考:
OUTPUTFORMAT
NAME ‘ Musicman’
DRIVER AGG/PNG
IMAGEMODE RGB
FORMATOPTION “QUANTIZE_FORCE=ON”
FORMATOPTION “QUANTIZE_DITHER=ON”
FORMATOPTION “QUALITY=90″
FORMATOPTION “QUANTIZE_COLORS=24bit”
FORMATOPTION “INTERLACE=ON”
END
OUTPUTFORMAT
NAME ‘musicman2′
DRIVER “GD/JPEG”
MIMETYPE “image/jpeg”
IMAGEMODE RGB
FORMATOPTION “QUALITY=90″
EXTENSION “jpg”
END
OUTPUTFORMAT
NAME ‘AGG’
DRIVER AGG/PNG
IMAGEMODE RGB
END
OUTPUTFORMAT
NAME ‘AGGA’
DRIVER AGG/PNG
IMAGEMODE RGBA
END
OUTPUTFORMAT
NAME ‘AGG_JPEG’
DRIVER AGG/JPEG
IMAGEMODE RGB
END
OUTPUTFORMAT
NAME ‘AGG_PNG24′
DRIVER AGG/PNG
IMAGEMODE RGB
END
PS:其实在google map和百度map制作时,给文字以buffer也可以减轻在文字周围的锯齿。以后有空可以试试看。同时,我画质质量从0到100差距还是很大的,但是渲染和压缩都需要时间,所以就看你怎么平衡与取舍了。同时MapServer渲染好的地图可能时放在缓存里,这样可以大大节省渲染的压缩需要的时间,所以,也很有可能MapServer只是提供已经渲染好的矢量地图。
相关文章:

兄弟知道线状图层或面状图层边界的锯齿在mapserver如何消除么?类似ps中的羽化
希望多多交流
不是很记得了,不过在mapserver – reference里面都有提到。
我已经达到了我想要的效果~~
感谢你的blog,兄弟!
顺便问下FORMATOPTION中内容的含义
主要就是自定义要显示的地图的文件格式,以及在这些文件格式下相关参数的自定义。