Конвертировать шейп-файлы в GeoJSON?

19

Я пытаюсь преобразовать шейп- файлы с веб-сайта округа Сенат штата Техас в файл GeoJSON для использования с Google Maps API. Я использую QGIS для облегчения, но я не могу получить правильную проекцию / координаты. До сих пор я безуспешно пробовал Google Mercator (EPSG: 900913) и WGS 84 (EPSG: 4326). Я использую OpenLayers для проверки результатов, и он продолжает размещать Техас рядом с Гвинейским заливом (0 лат, 0 lng).

user28781
источник

Ответы:

23

Нет проблем загрузить загружаемый шейп-файл непосредственно в QGIS.

Данные в EPSG: 3081, вам лучше оставить все как есть. Google API ожидает значения longlong, поэтому целевой CRS должен быть EPSG: 4326.

Просто щелкните правой кнопкой мыши на слое -> Сохранить как ..., чтобы выбрать тип файла GeoJSON, другое имя файла и EPSG: 4326 в качестве нового CRS. Вы можете добавить результат на холст, чтобы увидеть, что они выровнены ( On-the-fly-reprojectionвыбраны).

Andrej
источник
Любой способ «сохранить как» с несколькими слоями?
chrismarx
Нет, каждому файлу нужно свое имя. Вы можете использовать ogr2ogr в командной строке для пакетной обработки.
AndreJ
Похоже, что может быть использована поддержка пакетной обработки, которая поддерживает такие вещи, как разумные значения по умолчанию для автоматического именования файлов, чтобы просто отправить полученные файлы в папку
chrismarx
6

Вот инструмент конвертирования шейп-файла в geojson через веб-браузер без серверного кода и с поддержкой неанглийской кодировки, просто нужно загрузить zip-файл и установить правильную кодировку текста.

https://github.com/gipong/shp2geojson.js

Если вы используете эту библиотеку с Google Map api v3, вы можете пропустить поле кода EPSG, поскольку файл для загрузки ZIP-архива (PlanS172.zip) с веб-сайта округов Сената штата Техас содержит файл .prj.

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

введите описание изображения здесь

Gipong
источник
5

Через командную строку:

ogr2ogr -f GeoJSON -t_srs crs:84 output.geojson input.shp

Я думаю, это то, что использует веб-клиент из этого ответа .

Мартин Тома
источник
Только что протестировано. Ведет себя намного лучше, чем QGIS, когда дело доходит до потребления оперативной памяти!
Икар Похорски
2

Это должно помочь вам, если вам нужно всего лишь сделать несколько шейп-файлов

http://ogre.adc4gis.com/

Бретт Каллен
источник
это довольно мило, я собирался отправить ссылку с примером
ogr2ogr
-2

GeoJSON основан на нотации объектов JavaScript. Здесь, в этом посте, вы можете изучить различные методы преобразования шейп-файлов в Интернете, в автономном режиме или с помощью API, который вы можете использовать. Посмотрите этот пост, чтобы преобразовать шейп-файлы в файлы GeoJSON для использования на карте Google.

Различные способы конвертировать Shapefile в GeoJSON - онлайн или оффлайн или API

Химаншу Патель
источник
2
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели представление о том, что это такое и почему оно есть. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно недоступен.
ArMoraer