使用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第三方库


热门话题
动态Java:动态排序arraylist   java spring boot 1.5.1和elasticsearch 5.4   java在BottomNavigationView中禁用重新选择   JSONXML转换器Java库?   java spring框架jdk兼容性   java是否可以在XMlStreamReader中设置最大字符大小事件?   java选择并迭代具有相同名称的元素和子元素(Jsoup)   java Camel,使用字段条件拆分带有头的大型XML文件   java无法获取xml文件中具有name=“debitRequest”的父节点的子节点名称   升级到HSQL 2.0.1后的java。rc3有很多组织。hsqldb。HsqlException:数据异常:。。。投诉   java如何在where条件下传递多个搜索值   处理特定项的唯一ID的java类>抽象还是非抽象?   java逗号运算符在“eval()”中做什么?   在网页上运行Java应用程序的html   带有单独“窗口”的java控制台应用程序终端UI   参数正确的groovy脚本之间的java调用方法   java打印加载了文件的字节。将所有字节读入数组   安卓无法解析Java。带有ParseObject的lang.NullPointerException   java检查SQL查询的延迟   使用Java https错误上传到Imgur v3