使用mapserver的纯python映射文件解析器
mappyfile的Python项目详细描述
用于处理mapserver映射文件的纯python解析器,使用Lark
演示库功能的联机格式化程序可以在:http://mappyfile.geographika.net/
在FOSS4G Europe 2017提供了一个关于mappyfile的演示文稿-幻灯片可用 for download here。
要求
- python 2.7或python 3.x
安装
在pypi(python包索引)上提供mappyfile,可以使用pip:
pip install mappyfile
这也将安装它所需的依赖项lark(lark解析器)和jsonschema。
用法
在python脚本中:
importmappyfilemapfile=mappyfile.open("./docs/examples/raster.map")# update the map namemapfile["name"]="MyNewMap"new_layer_string=""" LAYER NAME 'land' TYPE POLYGON DATA '../data/vector/naturalearth/ne_110m_land' CLASS STYLE COLOR 107 208 107 OUTLINECOLOR 2 2 2 WIDTH 1 END END END """layers=mapfile["layers"]new_layer=mappyfile.loads(new_layer_string)layers.insert(0,new_layer)# insert the new layer at any index in the Mapfileforlinlayers:print("{} {}".format(l["name"],l["type"]))print(mappyfile.dumps(mapfile,indent=1,spacer="\t"))
有两个命令行工具可用-format和validate:
mappyfile format raster.map formatted_raster.map mappyfile validate D:\ms-ogc-workshop\ms4w\apps\ms-ogc-workshop\**\*.map
贡献者
- 朱利安·恩塞尔梅@jenselme
- 气体发生器{a15}
- 伊恩·图顿@ianturton