Импорт из OracleDB в PostGIS

Не знаете, где задать вопрос? Задавайте здесь.
alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Импорт из OracleDB в PostGIS

Сообщение alex39 » 25 фев 2016, 17:11

Мне необходимо выгрузить несколько таблиц ил Oracle db и вставить их в PostgreSQL.

Я могу экспортировать таблицы в одном из следующих форматов: cvs, html, insert, sql, exel.xml, xml, pdf, text, loader.
А импортировать я умею только с помощью PostGIS Shapefile Import/Export Manager, а он в свою очередь принимает файлы только DBF и Shape.

Как советуете поступить?

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Импорт из OracleDB в PostGIS

Сообщение Andrey Zhukov » 25 фев 2016, 17:30

Да тот же CSV импортируется в нужную таблицу в одну строчку :)
Хотя геометрию придется через WKT заливать и через промежуточную таблицу.

Код: Выделить всё

COPY table(field1,field2,fieldN) FROM '/folder/file.csv' DELIMITER ',' CSV HEADER;

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Импорт из OracleDB в PostGIS

Сообщение trir » 25 фев 2016, 17:38

Напрямую через GDAL

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: Импорт из OracleDB в PostGIS

Сообщение alex39 » 25 фев 2016, 17:41

Андрей, 80% ответа абсолютно не понятно ... можешь в личку или тут расписать более подробно?

Пс нашел http://gis-lab.info/qa/csv2shp.html cvs to shp с помощью ogr ... но с огром вегда проблемно все у меня получается, так что если есть более подходящий и легкий способ, то жду ваших ответов )

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Импорт из OracleDB в PostGIS

Сообщение Andrey Zhukov » 25 фев 2016, 17:52

Вариантов уйма на самом деле.

1. Выгрузить через QGIS в shp из Oracle, потом залить в PostGIS
2. Выгрузить из Oracle в csv с геометрией в WKT, залить в PostgreSQL через PgAdmin, там WKT преобразовать в местную геометрию.
3. Осилить командную строку и GDAL.
4. Осилить текстовый редактор и python.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Импорт из OracleDB в PostGIS

Сообщение trir » 25 фев 2016, 19:08

Самое простое - использовать sql-dump. основные проблемы с созданием таблиц, а с insert не должно быть никаких проблем

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: Импорт из OracleDB в PostGIS

Сообщение alex39 » 25 фев 2016, 19:31

Попробовал 1 вариант, "Выгрузить через QGIS в shp из Oracle, потом залить в PostGIS" , выгрузить - выгрузил, а как загрузить?
Через стандартную утилиту PostGIS Shapefile Import/Export Manager пишет dbf file(.dbf) can not be opened.

Trir, скинь пожалуйста ссылку на подробную инструкцию или распиши сам, тк в целом мне не понятно о чем ты сказал.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Импорт из OracleDB в PostGIS

Сообщение trir » 25 фев 2016, 19:44


alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: Импорт из OracleDB в PostGIS

Сообщение alex39 » 25 фев 2016, 21:05

Помогите пожалуйста, если кто-то это делал, обйясните от и до как провернуть эти манипуляции :

1. Выгрузить через QGIS в shp из Oracle, потом залить в PostGIS
2. Выгрузить из Oracle в csv с геометрией в WKT, залить в PostgreSQL через PgAdmin, там WKT преобразовать в местную геометрию.
3. Осилить командную строку и GDAL.
4. Осилить текстовый редактор и python.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Импорт из OracleDB в PostGIS

Сообщение trir » 25 фев 2016, 21:44


Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Импорт из OracleDB в PostGIS

Сообщение Andrey Zhukov » 26 фев 2016, 14:28

Так.
1. Таблица в Oracle с геометрией или без?
2. SHP, выгруженный из Оракла, нормально открывается в QGIS?

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: Импорт из OracleDB в PostGIS

Сообщение alex39 » 26 фев 2016, 15:41

1)Таблица в оракле с геометрией
2)Я затрудняюсь ответить, тк я просто в QGIS подключился к базе, открыл таблицу с геометрией и Save as в формате shp. Как мне открыть его и проверить теперь в QGIS я не знаю

В старой виртуалке получилось загрузить shp через стандартную утилиту
После ввода Select postgis_full_version();
"POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4090" PROJ="Rel. 4.9.1, 04 March 2015" LIBXML="2.7.8" LIBJSON="0.12""

На новой виртуалке же так нифига и не выходит, пишет что не может открыть dfb файл
"POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4090" PROJ="Rel. 4.9.1, 04 March 2015" GDAL="GDAL 2.0.1, released 2015/09/15"

Разница в конце ... хотя уже и удалял и загружал с одного и того дистрибутива.

"Create extension postgis" прописал и там и там ....

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Импорт из OracleDB в PostGIS

Сообщение Andrey Zhukov » 26 фев 2016, 16:09

Добавить получивший шейп-файл в QGIS.

alex39
Интересующийся
Сообщения: 18
Зарегистрирован: 03 фев 2016, 18:46
Репутация: 0

Re: Импорт из OracleDB в PostGIS

Сообщение alex39 » 26 фев 2016, 16:11

Путем простого перетягивания с папки в окошко Layers Panel у меня открылись мои улицы, хоть и немного сплющены

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Импорт из OracleDB в PostGIS

Сообщение trir » 26 фев 2016, 16:25


Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 3 гостя