跳转到主要内容

用于与MapServer一起工作的纯Python MapFile解析器

项目描述

Version Docs Build Status Coveralls Appveyor Build Status Downloads

用于处理MapServer MapFiles的纯Python解析器,使用Lark构建。mappyfile是OSGeo社区项目的官方项目。

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

mappyfile用于https://app.mapserverstudio.net/中的格式化和验证,并且可以在您的任何Mapfiles上免费测试。如果您认为mappyfile很有用,请考虑在https://mapserverstudio.net/上注册专业账户。这将有助于资助mappyfile和MapServer的维护和进一步开发。

要求

  • Python 3.8或更高版本

安装

mappyfile可在PyPI(Python包索引)上获得,并可以使用pip进行安装

pip install mappyfile

这将同时安装其所需的依赖项 - Larkjsonschema

要安装可选的lark-cython库以在CPython上获得更好的性能,可以运行以下命令

pip install mappyfile[lark_cython]

mappyfile还可在conda上获得。按以下方式安装

conda install -c conda-forge mappyfile

文档

完整文档可在http://mappyfile.readthedocs.io/en/latest/找到

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

用法

在Python脚本中

import mappyfile

mapfile = mappyfile.open("./docs/examples/raster.map")

# update the map name
mapfile["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 Mapfile

for l in layers:
    print("{} {}".format(l["name"], l["type"]))

print(mappyfile.dumps(mapfile, indent=1, spacer="\t"))

有三种命令行工具可用 - 格式验证模式

mappyfile format raster.map formatted_raster.map
mappyfile validate D:\ms-ogc-workshop\ms4w\apps\ms-ogc-workshop\**\*.map
mappyfile schema mapfile-schema-8-0.json --version=8.0

作者

贡献者

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

mappyfile-1.0.2.tar.gz (105.5 kB 查看哈希值)

上传时间 源代码

构建分发

mappyfile-1.0.2-py2.py3-none-any.whl (58.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面