【问题标题】:How to get GDAL/ogr2ogr to output GeoJSON as feature-per-line instead of a formatted FeatureCollection?如何让 GDAL/ogr2ogr 将 GeoJSON 输出为每行特征而不是格式化的 FeatureCollection?
【发布时间】:2019-01-26 16:59:19
【问题描述】:

我正在尝试将一些非常大的 Shapefile 转换为 GeoJSON,以便我可以通过 tippecanoe 运行它们并创建一个 .mbtiles 以上传到 Mapbox Studio 以进行托管和样式设置。

我可以使用 ogr2ogr 很好地创建我的 GeoJSON 文件,但是它会输出具有良好格式的 FeatureCollection。我想要的是一个每行一个功能的 .json 文件,这样我就可以使用 Tippecanoe 的“并行处理输入”功能并加快我的 .mbtiles 的创建速度。

问题 1:有没有办法简单地用 ogr2ogr 做到这一点?我似乎在GDAL GeoJSON driver docs 中找不到相关选项。

问题 2:或者,ogr2ogr 是否可以输出 GeoJSON text sequence 而不是 FeatureCollection 文件?

【问题讨论】:

  • 请注意,tippecanoe 带有一个 tippecanoe-json-tool,它将为您完成此转换。

标签: gis geojson gdal ogr2ogr tippecanoe


【解决方案1】:

如果您在 Shapefile 中创建了一个 id 或任何其他属性的数组,您可以遍历此列表并使用 ogr2ogr --where 选项逐个导出特征。另请参阅此示例 https://gis.stackexchange.com/questions/35296/how-to-use-where-sql-in-an-ogr2ogr-loop-in-gdal-ogr-bash#35297

【讨论】:

    【解决方案2】:

    第一季度。好吧,您可以借助 UNIX 工具 - jq 提取各个特征。

        jq --compact-output ".features" input_featurecollection.geojson > output_features_only.geojson
    

    这会将每条记录作为一个单独的 geojson 特征

    Q2您可以将输入的 geojson 文件通过管道传输到此命令并回显输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      相关资源
      最近更新 更多