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


19

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

Ответы:


23

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

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

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


Любой способ «сохранить как» с несколькими слоями?
— 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
});

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


5

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

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

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


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


-2

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

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


2
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели представление о том, что это такое и почему оно есть. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно недоступен.
— ArMoraer
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.