Я работаю с файлами форм в GeoDjango. Прямо сейчас я пытаюсь записать тест для кода, который загружается в файле форм и сохраняет его к базе данных. Файл форм в настоящее время имеет количество функции 64 118. Я хотел бы уменьшить это до небольшого количества, таким образом, тест может быстро загрузить его и подтвердить, что все правильно.
Так как файлы форм не находятся в текстовом формате, есть ли бесплатное приложение или библиотека, которой я могу пользоваться, чтобы щипнуть горстку функций и сохранить их в новый файл?
Я должен упомянуть, что у меня нет лицензии, ни доступа ни к одной линейке продуктов ESRI.
У вас есть несколько вариантов экспорта подмножества записей из шейп-файла.
Любая настольная ГИС с открытым исходным кодом сможет это сделать. Некоторые из наиболее популярных - Quantum GIS, gvSIG или openJUMP. Точные шаги в каждом из них различны, но в основном вам нужно загрузить файл формы, начать редактирование, выбрать нужные записи и экспортировать их в новый файл формы.
Инструмент ogr2ogr, входящий в пакет GDAL, позволяет выполнять преобразования между различными географическими векторными форматами (или в пределах одного формата), а также можно указать SQL-подобное выражение для фильтрации исходного набора данных.
ogr2ogr -f "ESRI Shapefile" -where "id < 10" new_shapefile.shp huge_shapefile.shp
Если вы используете PostGIS и не хотите устанавливать предыдущие приложения, вы можете использовать инструмент pgsql2shp для экспорта подмножества таблицы PostGIS в шейп-файл.
pgsql2shp -f "/path/to/shapefile" -h server -u user -P password postgisdb "SELECT * FROM table WHERE id < 10"
Edit: В любом из трех вариантов вы можете выполнить пространственный фильтр (т.е. признаки, которые попадают в ограничивающую рамку), а не отбор на основе атрибутов.