将GeoJSON转换为内联Mapfile功能的mappyfile插件
项目描述
A mappyfile 插件,用于将GeoJSON转换为内联 Mapfile功能。适用于将动态创建的功能(来自Web服务、用户创建的功能和其他外部数据源)添加到地图中,或快速可视化几何形状。
注意 - 要显示整个GeoJSON文件,MapServer可以配置为使用GeoJSON驱动程序将GeoJSON作为输入OGR源。
import geojson
import mappyfile
# import directly
import mappyfile_geojson
# can also be imported as plugin using
from mappyfile.plugins import mappyfile_geojson
gj = geojson.load(fn)
l = mappyfile_geojson.convert(gj)
print(mappyfile.dumps(l))
转换以下JSON
{
"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
}
}
到以下Mapfile LAYER
LAYER
EXTENT 102 0 105 1
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
示例
有关使用mappyfile的插件示例,请参阅example.py,其中包含example.map。
另一个示例,使用mapscript为每个测试用例创建图像,可在create_images.py找到。
示例输出图像位于images文件夹中。
要求
Python 3.8+
mappyfile(插件可以单独使用,但会创建一个结构化以在mappyfile中使用的数据字典对象)。应单独安装mappyfile。
安装
安装 mappyfile-geojson 插件将自动安装所需的依赖项 geojson。
pip install mappyfile
pip install mappyfile-geojson
注意事项
可以计算输入要素的范围,可选缓冲区(通过将 extent_buffer 传递给 convert 函数)
支持多部分要素
支持具有 Z 值的坐标序列,但 Z 值被忽略,因为 Mapserver 内联要素不支持 Z 值。
作为 MapServer 的 LAYER,只支持单一几何类型,GeoJSON 文件中的所有要素也应为同一类型(然而,支持多部分和单部分要素的混合,例如 LineString 和 MultiLineString)
不支持嵌套 JSON 属性
"properties": { "prop0": "value0", "prop1": { "this": "that" } }
将变为
ITEMS "value0;{u'this': u'that'}"
发布
1.0 (02/10/2023)
放弃对 Python 2.7 的支持
更新 GeoJSON 和 mappyfile 依赖项
使用 black 重新格式化代码
0.4 (09/02/2020)
自动化的 Windows 测试
自动化的发布流程
设置 geojson 依赖项版本
修复由于 py2 和 py3 之间的精度问题差异而失败的测试
尽可能使用整数表示层 EXTENT,例如 5 而不是 5.0
0.3 (29/08/2018)
添加对 MultiPoint、MultiLineString 和 MultiPolygon 的支持
允许具有 Z 值的坐标(以前这些会导致脚本崩溃)
更新 README
0.2 (15/02/2018)
支持 Unicode
0.1 (06/02/2018)
初始发布
项目详情
哈希值 for mappyfile_geojson-1.0.0-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed4155afb91fcff622918e9203941c6dab5fe39d9c4f212b8f60c6cfc243b865 |
|
MD5 | 8867d83f87866c3bd475aec69f081446 |
|
BLAKE2b-256 | c56cc1e2e028a098be25de4ccf2a4f5dc389845815f5691215fc874acba63e0c |