Как получить GDAL/ogr2ogr для вывода GeoJSON в виде функции для каждой строки вместо отформатированной коллекции FeatureCollection?

Я пытаюсь преобразовать некоторые очень большие шейп-файлы в GeoJSON, чтобы я мог запустить их через tippecanoe и создать.mbtiles для загрузки в Mapbox Studio для размещения и стилизации.

Я могу использовать ogr2ogr для создания своего файла GeoJSON, но он выводит FeatureCollection с хорошим форматированием. Мне нужен файл.json с одной функцией в строке, чтобы я мог использовать функцию "Параллельная обработка ввода" в Tippecanoe и ускорить создание моих.mbtiles.

Вопрос 1: Есть ли способ сделать это просто с помощью ogr2ogr? Я не могу найти соответствующую опцию в документации драйвера GDAL GeoJSON.

Вопрос 2. Альтернативно, может ли ogr2ogr выводить текстовую последовательность GeoJSON вместо файла FeatureCollection?

3 ответа

Q1. Что ж, вы можете извлечь отдельные функции с помощью инструмента UNIX - jq.

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

Это будет иметь каждую запись как отдельную функцию geojson

Q2 вы можете передать свой входной файл geojson этой команде и повторить вывод.

Если вы создадите массив идентификаторов или любого другого атрибута в своем шейп-файле, вы можете перебрать этот список и использовать опцию ogr2ogr --where для экспорта объектов по одному. Смотрите также этот пример https://gis.stackexchange.com/questions/35296/how-to-use-where-sql-in-an-ogr2ogr-loop-in-gdal-ogr-bash

Вы можете использовать ogr2ogrдля вывода последовательности geojson, как вы предложили в вопросе 2 @craigsnyders:

      ogr2ogr -f GeoJSONSeq -t_srs EPSG:4326 output.json input.shp
Другие вопросы по тегам