Выгрузки в shp по полигонам
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Выгрузки в shp по полигонам
Есть задача регулярной выгрузки нескольких слоёв в шейп (или sqllite) по границам полигонов. Исходные слои - разных типов геометрии. Полигоны границ выгрузок могут пересекаться, могут иметь общую границу. Конечный результат вижу, как папки или архивы с шейп-файлами, имеющими в названии имя полигона границ и время выгрузки или номер. Буду признателен за ссылки и советы.
Последний раз редактировалось oleg 25 фев 2012, 22:03, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Выгрузки в shp по полигонам.
Не очень понял причем тут PostgreSQL, ну кроме того, что данные хранятся в этой базе. Задача легко решается при помощи OGR (либо через Python-интерфейс либо через командный файл). Ну или расширение для QGIS если нужны «кнопачки»
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Выгрузки в shp по полигонам
Voltron, спасибо! Прошу перенести тему в "Свободные, бесплатные, открытые ГИС".
В поиске решение в форме скрипта для OSGeo4W. Представляю себе настройку скрипта, как простую правку в текстовом редакторе - параметры доступа, вход - база, путь выхода. При работе сохраняются все таблицы указанной базы (баз?) в отдельные шейп-файлы либо в SQLite. Должно быть полезно многим.
Замечания и дополнения приветствуются.
В поиске решение в форме скрипта для OSGeo4W. Представляю себе настройку скрипта, как простую правку в текстовом редакторе - параметры доступа, вход - база, путь выхода. При работе сохраняются все таблицы указанной базы (баз?) в отдельные шейп-файлы либо в SQLite. Должно быть полезно многим.
Замечания и дополнения приветствуются.
-
- Активный участник
- Сообщения: 142
- Зарегистрирован: 16 окт 2009, 22:08
- Репутация: 55
- Откуда: Харьков
Re: Выгрузки в shp по полигонам
Необходимо было выполнять данную задачу (в БД PostgGIS были загружены shp-слои через модуль SPIT/QGIS, SRID 4326), сделал bat-файл со следующим содержимым:
- выгрузка слоев в каталог D:\layers с перезаписью файлов (-overwrite) при каждом запуске bat-файла из БД databasename. Выполнение bat-файла выполнялось через Планировщик задач в заданное время. Через некоторое время для всех выгружаемых слоев из БД в каталоге, слои SHX стали размером 1КБ (при загрузке в QGIS слоя не было отображения геометрии, пустая таблица атрибутов). Тогда сделал bat-файл для выгрузки слоёв из БД с указанием имени каждого слоя:
Код: Выделить всё
C:\OSGeo4W\OSGeo4W.bat ogr2ogr -overwrite -f "ESRI Shapefile" D:\layers PG:"host=hostname dbname=databasename user=username password=password" -t_srs EPSG:4326
Код: Выделить всё
CALL C:\OSGeo4W\OSGeo4W.bat ogr2ogr -overwrite -f "ESRI Shapefile" D:\layers PG:"host=hostname dbname=databasename user=username password=password" LayerA
CALL C:\OSGeo4W\OSGeo4W.bat ogr2ogr -overwrite -f "ESRI Shapefile" D:\layers PG:"host=hostname dbname=databasename user=username password=password" LayerB
CALL C:\OSGeo4W\OSGeo4W.bat ogr2ogr -overwrite -f "ESRI Shapefile" D:\layers PG:"host=hostname dbname=databasename user=username password=password" LayerC
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя