• 关于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只是提供已经渲染好的矢量地图。

    相关文章:

    关于

    生于古城長安,求學金陵,輾轉赴美深造,現漂泊於長安與北京。

    http://www.yenching.org

    1. 兄弟知道线状图层或面状图层边界的锯齿在mapserver如何消除么?类似ps中的羽化
      希望多多交流

    2. 我已经达到了我想要的效果~~
      感谢你的blog,兄弟!
      顺便问下FORMATOPTION中内容的含义