Разделить или сохранить подмножество SHP-файла ESRI Shape в новый файл?

StackOverflow https://stackoverflow.com/questions/3016682

  •  26-09-2019
  •  | 
  •  

Вопрос

Я работаю с файлами формы в GeoDjango.Прямо сейчас я пытаюсь написать тест для кода, который загружается в файл формы и сохраняет его в базе данных.В настоящее время в файле формы насчитывается 64 118 элементов.Я бы хотел сократить это до нескольких, чтобы тест мог быстро загрузить его и подтвердить, что все правильно.

Поскольку файлы shape не имеют текстового формата, есть ли бесплатное приложение или библиотека, которые я могу использовать, чтобы извлечь несколько функций и сохранить их в новый файл?

Я должен упомянуть, что у меня нет ни лицензии, ни доступа к какой-либо линейке продуктов ESRI.

Это было полезно?

Решение

У вас есть несколько вариантов экспорта подмножества записей из шейп-файла.

  • Любая настольная ГИС с открытым исходным кодом сможет выполнить это.Вот некоторые из наиболее популярных Квантовая ГИС, gvSIG или Открытый прыжок.Точные шаги будут различаться в каждом из них, но в основном вам нужно загрузить файл формы, начать редактирование, выбрать нужные записи и экспортировать их в новый шейп-файл.

  • Тот Самый огр2огр инструмент, входящий в пакет GDAL, позволяет вам выполнять преобразование между различными форматами географических векторов (или в пределах одного формата), и вы можете указать SQL-подобное выражение для фильтрации исходного набора данных.

    ogr2ogr -f "Шейп-файл ESRI" - где "идентификатор < 10" новый файл_формы.shp огромный файл_формы.shp

  • Если вы используете PostGIS и не хотите устанавливать ни одно из предыдущих приложений, вы можете использовать pgsql2shp инструмент для экспорта подмножества вашей таблицы PostGIS в шейп-файл.

    pgsql2shp -f "/путь /к /шейп-файлу" -h сервер -u пользователь -P пароль postgisdb "ВЫБЕРИТЕ * Из таблицы, ГДЕ идентификатор < 10"

Редактировать:В любом из трех вариантов вы можете выполнить пространственный фильтр (то есть объекты, попадающие в ограничивающую рамку), а не выделение на основе атрибутов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top