使用mapserver的纯python映射文件解析器

mappyfile的Python项目详细描述


VersionDocsBuild StatusCoverallsAppveyor Build StatusDownloads

用于处理mapserver映射文件的纯python解析器,使用Lark

演示库功能的联机格式化程序可以在:http://mappyfile.geographika.net/

FOSS4G Europe 2017提供了一个关于mappyfile的演示文稿-幻灯片可用 for download here

https://raw.githubusercontent.com/geographika/mappyfile/master/docs/images/class_parsed_small.png

要求

  • 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"))

有两个命令行工具可用-formatvalidate

mappyfile format raster.map formatted_raster.map
mappyfile validate D:\ms-ogc-workshop\ms4w\apps\ms-ogc-workshop\**\*.map

作者

贡献者

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?