用 C 解析 geojson 文件

Parse geojson files with C

我找不到任何简单的 C 源文件或库来解析 geojson 文件(实现 rfc7946 标准)。

也许这样的解析器存在于 GRASS 或 GDAL 之类的项目中?但是我在浏览 C 库的世界时仍然遇到了一些麻烦。

一些曲目?

GeoJSON 是 JSON 格式,因此您可以使用 JSON 解析器。有几个:

https://github.com/search?l=C&q=json+parser&type=Repositories

您应该自己添加支票和其他东西。

如果需要数据的某种表示,可以自己写。 Mapbox用不到1k行的代码写了一个C++ version of GeoJSON parser for converting GeoJSON into geometry.hpp representation based on RapidJSON

A standard-compliant (RFC 7946) implementation of GeoJSON in C can be found inside SpatiaLite, but may be it's easier for you to use typical JSON parsers instead. You can take a look in virtualgeojson.c 如果你想使用这个库。

如果您想进行基本的几何操作,Ho1 的答案是完美的。对于高级的东西(你不想重新发明),你可以考虑使用 geos 的 CAPI。

请注意,CAPI GeoJSON 编写器非常新,不幸的是文档不是最新的。这是包含这些更改的头文件:https://github.com/libgeos/geos/blob/main/capi/geos_c.h.in

我终于开始了。

我正在写一个 small library based on json-parser,它允许说明解析的 json 是否是一个有效的 geojson。 (根据标准 7946)。

这显然是初稿,还有很多工作要做。

我是 C 的初学者,所以如果您有任何建议或意见,我显然很感兴趣。