【问题标题】:TopoJSON or GeoJSON vector tiles in c++C++ 中的 TopoJSON 或 GeoJSON 矢量图块
【发布时间】:2018-07-03 12:01:42
【问题描述】:

我想在 C++ 中使用 TopoJSON/GeoJSON。我正在编写自己的图块客户端,并希望将 png 替换为 Topo JSON 图块。问题是我在 c++ 中找不到 TopoJSON/GeoJson 瓦片解析器的示例以及如何使用它们。

我只能在这里找到 Protobuf 替代品:https://github.com/mapbox/mapnik-vector-tile

【问题讨论】:

  • 对于我的 GeoJSON 解析器,我使用了boost::property_tree。代码小而简单,但真的很慢。我计划在未来编写更好的解析。他们有一个如何使用它来解析 JSON.. 的示例。您可以根据自己的情况进行调整。
  • 不错。但我仍然必须定义 GeoJSON.for json 解析的功能,我使用的是 rapidJSON。大多数情况下,它比其他解析器快 3 倍。 Mapnik 有一个我刚刚发现的 TopoJSON 功能集:github.com/mapnik/mapnik/blob/master/plugins/input/topojson/…
  • 引用:“我正在编写自己的 tile 客户端”。你写过这个吗?如果是,它是否可供全世界使用?
  • 嗨,我把它卖给了一家公司。所以不,不会有一个开源回购。

标签: c++ vector tiles geojson topojson


【解决方案1】:

对于 JSON 解析器部分,您可以使用 JSON 页面上列表中的任何 C 或 C++ JSON 解析器

我使用gason,因为它超级快并且有一个超级简单的API(可能过于简约,但对我来说不是缺点)

这是一个部分完整的 TopoJSON/GeoJSON 处理程序(它只处理“多边形”和“多多边形”拓扑,可能是最重要的用例)

https://github.com/pedro-vicente/render_geojson

该页面包含所需依赖项的所有链接

【讨论】:

    猜你喜欢
    • 2014-01-13
    • 2017-09-16
    • 2021-02-08
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多