将geojson转换为内联映射文件特性的mappyfile插件

mappyfile-geojson的Python项目详细描述


VersionBuild Status

将GeoJSON转换为的mappyfile插件 内联Mapfile features。有助于添加 动态创建的功能(从web服务、用户创建的功能和其他外部 数据源)到地图,或快速可视化几何图形

注意-要显示整个GeoJSON文件MapServer 可以配置为将geojson读取为输入OGR source 使用GeoJSON driver

importgeojsonimportmappyfile# import directlyimportmappyfile_geojson# can also be imported as plugin usingfrommappyfile.pluginsimportmappyfile_geojsongj=geojson.load(fn)l=mappyfile_geojson.convert(gj)print(mappyfile.dumps(l))

转换:

{"type":"Feature","geometry":{"type":"LineString","coordinates":[[102.0,0.0],[103.0,1.0],[104.0,0.0],[105.0,1.0]]},"properties":{"prop0":"value0","prop1":0.0}}

致:

LAYER
    EXTENT 102.0 0.0 105.0 1.0
    STATUS ON
    TYPE LINE
    PROCESSING "ITEMS=prop0,prop1"
    FEATURE
        ITEMS "value0;0.0"
        POINTS
            102.0 0.0
            103.0 1.0
            104.0 0.0
            105.0 1.0
        END
    END
END

演示

将插件与^{tt1}一起使用的示例$ 可以在example.py中找到 还有一个example.map

https://raw.githubusercontent.com/geographika/mappyfile-geojson/master/polygon.png

另一个例子,使用mapscript为每个测试用例创建映像 可在create_images.py找到。

示例输出图像位于images 文件夹。

要求

  • Python2.7或Python3.x
  • mappyfile(插件可以单独使用,但是会创建一个dictionary对象 构造为在mappyfile中使用)应单独安装mappyfile

安装

注意:安装mappyfile-geojson插件将自动安装所需的依赖项geoson

pip install mappyfile
pip install mappyfile-geojson

注释

  • 可以使用可选缓冲区(通过将extent_buffer传递给^{tt5})计算输入特性的范围$ 功能)

  • 支持多部分功能

  • 支持具有z值的坐标序列,但忽略z值,因为在 Mapserver内联功能

  • 由于MapServerLAYER只支持单一的几何类型,GeoJSON文件中的所有特性也应该 类型相同(但是支持多部分和非多部分功能的混合,例如LineString和MultiLineString)

  • 不支持嵌套的json属性:

    "properties":{"prop0":"value0","prop1":{"this":"that"}}

    将变成:

    ITEMS "value0;{u'this': u'that'}"

释放量

0.3(2018年8月29日)

  • 添加对多点、多行和多多边形的支持
  • 允许使用z值的坐标(以前这些值会使脚本崩溃)
  • 更新的自述文件

0.2(2018年2月15日)

  • Unicode支持

0.1(2018年2月6日)

  • 初次发行

作者

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

推荐PyPI第三方库


热门话题
java将resultset转换为json的最佳方式是什么   smb需要从具有用户名和密码但引发SMBApiException的java连接碎片驱动器   没有线程,java死锁实现无法工作。睡觉   java Tomcat内存中会话复制   从java文本窗格保存字体   java启动Windows 10 Paint3D以打开特定的图像文件   Eclipse Java,将文本从ISO88591转换为UTF8   java加载jar中包含的资源   java xpath在selenium中不可识别,但在XPather中可识别   java如何将Springbean从多个配置文件的自动关联候选中排除?   java在某个范围内的XOR最大值?   java Android JNI/C++:如何正确添加带有。h和。cpp文件?   java使用关键字this和类中的多个构造函数   C++如何将一个被重复调用的外部进程集成到java WebApp中?