из tab в postgis
-
- Активный участник
- Сообщения: 145
- Зарегистрирован: 09 апр 2014, 11:33
- Репутация: 2
из tab в postgis
Здавствуйте!
Стоит задача ограмное количество tab файлов загрузить в Postgis.
Хотелось бы сделать это сразу, не проходя отдельно этапы конвертации в шейп , потом шейпы загружать в PostgreSQL.
Помогите разобраться, вот с помощью такой строки загружается один файл tab. Как сделать что бы это операция проделывалась сразу для нескольких?
C:\OSGeo4W64\bin\ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" "E:\test_shp\*.tab" .
И было бы совсем отлично, если кто-то подскажет как сделать, что бы для разного типа геомтерии своя таблица создовалась. (Это не принципиально, могу потом и запросом разнести) .
Стоит задача ограмное количество tab файлов загрузить в Postgis.
Хотелось бы сделать это сразу, не проходя отдельно этапы конвертации в шейп , потом шейпы загружать в PostgreSQL.
Помогите разобраться, вот с помощью такой строки загружается один файл tab. Как сделать что бы это операция проделывалась сразу для нескольких?
C:\OSGeo4W64\bin\ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" "E:\test_shp\*.tab" .
И было бы совсем отлично, если кто-то подскажет как сделать, что бы для разного типа геомтерии своя таблица создовалась. (Это не принципиально, могу потом и запросом разнести) .
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: из tab в postgis
Если задача не для скрипта, то можно попробовать NextGIS Manager.
Он правда из беты не вышел, но с задачей должен справиться.
Нужно:
1. В дереве перейти в "Подключения к БД"
2. Создать подключение к PostGIS и проверить что удается войти
3. Перейти в папку с табами и выбрать их всех (ctrl+A)
4. Скопировать (ctrl+C)
5. Перейти в подключение и выбрать схему (можно создать новую)
6. Вставить табы (Ctrl+V)
Еще наброски документации.
Он правда из беты не вышел, но с задачей должен справиться.
Нужно:
1. В дереве перейти в "Подключения к БД"
2. Создать подключение к PostGIS и проверить что удается войти
3. Перейти в папку с табами и выбрать их всех (ctrl+A)
4. Скопировать (ctrl+C)
5. Перейти в подключение и выбрать схему (можно создать новую)
6. Вставить табы (Ctrl+V)
Еще наброски документации.
-
- Интересующийся
- Сообщения: 42
- Зарегистрирован: 02 ноя 2011, 09:11
- Репутация: 23
Re: из tab в postgis
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 файлов. Командный файл готов.
Повторяете строку 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 файлов. Командный файл готов.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: из tab в postgis
ужасненько, учитывая что жив FOR
разнесение по типам и другие примеры автоматизации смотрите в правильных местах
Код: Выделить всё
for %i in (*.tab) DO ogr2ogr.exe -f "PostgreSQL" PG:"host=localhost user=postgres dbname=test password=postgre" %i
пристегивайтесь, турбулентность прямо по курсу
-
- Активный участник
- Сообщения: 145
- Зарегистрирован: 09 апр 2014, 11:33
- Репутация: 2
Re: из tab в postgis
Спасибо огромное! Попробую все ворянты и поэксперементирую 

-
- Активный участник
- Сообщения: 145
- Зарегистрирован: 09 апр 2014, 11:33
- Репутация: 2
Re: из tab в postgis
Пробую загрузить файлы через командную строку в 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
---
В результате данные загружаются, но без атрибутики. Как с этим можно с правиться?
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
---
В результате данные загружаются, но без атрибутики. Как с этим можно с правиться?
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 2 гостя