Страница 1 из 1
из tab в postgis
Добавлено: 04 фев 2016, 13:31
kasandra
Здавствуйте!
Стоит задача ограмное количество tab файлов загрузить в Postgis.
Хотелось бы сделать это сразу, не проходя отдельно этапы конвертации в шейп , потом шейпы загружать в PostgreSQL.
Помогите разобраться, вот с помощью такой строки загружается один файл tab. Как сделать что бы это операция проделывалась сразу для нескольких?
C:\OSGeo4W64\bin\ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" "E:\test_shp\*.tab" .
И было бы совсем отлично, если кто-то подскажет как сделать, что бы для разного типа геомтерии своя таблица создовалась. (Это не принципиально, могу потом и запросом разнести) .
Re: из tab в postgis
Добавлено: 04 фев 2016, 21:35
Дмитрий Барышников
Если задача не для скрипта, то можно попробовать
NextGIS Manager.
Он правда из беты не вышел, но с задачей должен справиться.
Нужно:
1. В дереве перейти в "Подключения к БД"
2. Создать подключение к PostGIS и проверить что удается войти
3. Перейти в папку с табами и выбрать их всех (ctrl+A)
4. Скопировать (ctrl+C)
5. Перейти в подключение и выбрать схему (можно создать новую)
6. Вставить табы (Ctrl+V)
Еще наброски
документации.
Re: из tab в postgis
Добавлено: 05 фев 2016, 00:10
MYS
C PostgreSQL дела не имел, но для автоматизации действий с командной строкой напрашивается командный файл.
Повторяете строку C:\OSGeo4W64\bin\ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" "E:\test_shp\*.tab" в командном файле столько раз, сколько у вас *.tab файлов. Делаете колонку из имен ваших *.tab файлов. Нормальный редактор текстовых файлов (типа AkelPad) позволяет заменять в тексте одни колонку на другую. Выделяете колонку *.tab, вставляете на ее место колонку имен *.tab файлов. Командный файл готов.
Re: из tab в postgis
Добавлено: 05 фев 2016, 00:44
Максим Дубинин
ужасненько, учитывая что жив FOR
Код: Выделить всё
for %i in (*.tab) DO ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" %i
разнесение по типам и другие примеры автоматизации смотрите в
правильных местах
Re: из tab в postgis
Добавлено: 06 фев 2016, 10:41
kasandra
Спасибо огромное! Попробую все ворянты и поэксперементирую

Re: из tab в postgis
Добавлено: 09 фев 2016, 11:47
kasandra
Пробую загрузить файлы через командную строку в postgres, но видемо есть проблемы с кодировкой, так как выдает ошибку: ERROR 1: INSERT command for new feature failed.
ERROR: invalid byte sequence for encoding "UTF8": 0xd1 0xe5
----
for %i in (E:\data\*.tab) DO C:\OSGeo4W64\bin\ogr2ogr.exe -skipfailures -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" %i
---
В результате данные загружаются, но без атрибутики. Как с этим можно с правиться?