Загрузка содержимого Geopackage в PostgreSQL

15

В качестве предыстории мы смотрим на переход от использования шейп-файлов. Мы уже начали использовать Geopackages для настольных систем (QGIS / ArcGIS), но часто у нас есть требование загружать данные в наши базы данных PostgreSQL.

Я знаю, что вы можете загружать контент Geopackage в Postgres с помощью QGIS, но интересуетесь, есть ли какие-либо утилиты командной строки, подобные shp2pgsql, для загрузки геопакетов или таблиц в геопакетах в Postgres? Я предполагаю, возможно, ogr2ogr, но не могу найти документацию.

Джеймс Норрис
источник

Ответы:

10

Этот туториал покажет, как импортировать геопакеты в postgres с помощью ogr2ogr, например:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg

При импорте заметок в PostgreSQL, как этот, будет преобразован регистр имен полей в ваших данных GeoPackage в нижний регистр в таблице PostgreSQL. Для ведения кейса вам понадобится lcoопция:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO
Mazu_R
источник
Это замечательно. У меня есть ogr2ogr, работающий с .gpkg. Теперь мне нужно выполнить постобработку для каждой из таблиц, созданных из gpkg в postgres в моем сценарии командной строки, и мне нужно извлечь имя каждой таблицы из gpkg. Я могу видеть Ogrinfo список таблиц, но какие-либо идеи о том, как я могу получить их в переменную?
Джеймс Норрис
5

В мастере QGIS продолжается работа (например, здесь и здесь, чтобы «исправить» инструмент в QGIS (Импортировать вектор в базу данных Postgis - ...), который генерирует параметры командной строки для OGR2OGR для использования вами, в частности, для Postgis, который, кажется, Я порвал с QGIS 3. У меня также запланирован еще один запрос на получение дополнительных исправлений и дополнительных опций. Если вы можете подождать неделю или около того и использовать мастер, или 3 месяца или около того и использовать 3.4, тогда вам не придется вводить команду Параметры строки вручную, и должны работать для многих различных форматов файлов, включая геопакет.

Stev_k
источник
2

Используя учебник по этой ссылке, лучше добавить в командную строку GDAL (ogr2ogr) следующие опции.

ogr2ogr -f PostgreSQL "PG:user=youruser password=yourpassword dbname=yourdbname" yourgeopackage.gpkg

Меня устраивает.

Иннет Кастибланко
источник