将geojson转换为内联映射文件特性的mappyfile插件
mappyfile-geojson的Python项目详细描述
将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。
另一个例子,使用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日)
- 初次发行