我需要用 C++ 编写一个解析器,它允许我从有效的 WKT 字符串创建 geojson 几何类型。
所以,我有一个有效的 WKT 字符串作为输入,我需要使用 rapidjson 对其进行转换并写入所有坐标等。
我想知道的是 Geojson 和 WKT 在解析方面是否匹配。例如,似乎 Geojson 多边形类型与坐标和外/内环顺序相匹配。
那么,就所有类型(点、线串、多多边形)的坐标顺序和内部结构而言,Geojson 和 WKT 类型是否等效?
这将使转换几乎是微不足道的。
WKT 是极高精度数据集的理想选择,因为它可以支持各种 CRS'。然而,所有 GeoJSON 坐标的坐标参考系统是 WGS 84。因此,除了地理坐标参考系统之外,WKT 格式还可以描述如何组合地心、投影、垂直、时间和工程坐标参考系统;而“GeoJSON 不会限制您使用经度、纬度、海拔……高维数据并不常见,因为 GeoJSON 的灵活性是其他格式无法比拟的。”
WKT 和 GeoJSON 之间的另一个关键区别是 GeoJSON(基于 JSON)区分大小写,而 WKT 不区分大小写。WKT 也能够支持弯曲的形状,而 GeoJSON 则不能。
因此,肯定需要转换工具。经过进一步研究,您可以找到许多发出 GeoJSON 的 WKT 解析器,其中包括由 Tom MacWright 创作的一个(用于浏览器和节点),它使用户能够将 Well-Known Text 解析和字符串化为 GeoJSON。
不确定您是否已经解决了这个问题,但想为其他可能感兴趣的人提供答案。
资料来源:
https://www.rfc-editor.org/rfc/rfc7946#section-4
http://www.macwright.org/2015/03/23/geojson-second-bite.html#coordinate