RFC 65:RFC 7946 GeoJSON

作者:肖恩·吉利斯

联系人:sean,邮箱:mapbox.com

状态:通过、实施

实现版本:2.2

总结

IETF已经对GeoJSON进行了标准化: RFC 7946 . 需要更新OGR GeoJSON驱动程序,以便它可以编写rfc7946geojson。

理论基础

RFC 7946标准与GeoJSON的遗留定义向后兼容,但有一些不同(参见 https://tools.ietf.org/html/rfc7946#appendix-B ). 对于OGR,最重要的是:去除“crs”(仅CRS84),逆时针缠绕多边形,在反偏振光处分割几何体,以及在反偏振光和极点处表示边界框。注:RFC7946明确限制二维和三维坐标,例如禁止使用M尺寸。在GeoJSON 2008输出的现有驱动程序中已经是这样了。

关于gdal dev列表的共识是,开发人员应该能够通过配置带有选项的层创建来要求RFC 7946 GeoJSON,并且它是一个all或nothing开关。

变化

将为GeoJSON驱动程序添加一个层创建选项,例如。, RFC7946=TRUE . 当“on”时,OGR将使用CRS84坐标(根据需要重新投影)编写GeoJSON,默认精度为7个位置,多边形正确缠绕,几何图形在反间谍处分割。

与这项工作相关的是,ogrgometryFactory::transformWithOptions()方法得到了改进,以便更好地处理从极轴投影到跨反经纬投影到EPSG:4326的几何体的重新投影

更新的驱动程序

GeoJSON

SWIG绑定(Python/Java/C#/Perl)更改

没有

公用事业

实用程序将使用layer creation选项实现RFC 7946。

文档

新图层创建选项的文档将参考RFC 7946。

测试套件

ogr_geojson.py文件测试新选项的效果。

兼容性问题

由于这是一个opt-in参数,因此没有向后兼容性问题。以前的GDAL/OGR版本可以读取符合RFC 7646的GeoJSON文件。

实施

甚至鲁奥已经完成了实现,Mapbox也赞助了实现。

投票历史

+1名来自JukkaR、HowardB、DanielM和Ever