Upload de conteúdo de Geopackage para PostgreSQL

15

Como pano de fundo, procuramos fazer uma transição do uso de shapefiles. Já começamos a usar os Geopackages para trabalho em área de trabalho (QGIS / ArcGIS), mas muitas vezes temos a necessidade de enviar dados para nossos bancos de dados PostgreSQL.

Estou ciente de que você pode fazer upload de conteúdo de Geopackage para o Postgres usando o QGIS, mas me pergunto se existem utilitários de linha de comando semelhantes ao shp2pgsql para fazer upload de geopackages ou tabelas em geopackages para o Postgres? Estou assumindo que possivelmente ogr2ogr, mas não consigo encontrar a documentação.

James Norris
fonte

Respostas:

10

Este tutorial mostra como importar pacotes geográficos para o postgres com ogr2ogr, como:

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

Observe que importar para o PostgreSQL assim converterá o caso dos nomes dos campos nos dados do GeoPackage em minúsculas na tabela do PostgreSQL. Para manter o caso, você precisaria usar a lcoopção como:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO
Mazu_R
fonte
Isso é ótimo. Eu tenho ogr2ogr trabalhando com o .gpkg. Agora preciso fazer o pós-processamento em cada uma das tabelas criadas a partir do gpkg no postgres no meu script de linha de comando e preciso extrair cada nome de tabela do gpkg. Eu posso ver ogrinfo listar as tabelas, mas alguma idéia de como posso obtê-las em uma variável?
James Norris
5

Há trabalho em andamento no mestre QGIS (por exemplo, aqui e aqui para 'consertar' a ferramenta no QGIS (vetor de importação para o banco de dados Postgis - ...) que gera parâmetros de linha de comando para o OGR2OGR para você usar, especificamente para o Postgis, que parece rompi com o QGIS 3. Também tenho outra solicitação de recebimento planejada para obter mais correções e opções adicionais.Se você puder esperar uma semana mais ou menos e usar o mestre ou 3 meses ou mais e usar o 3.4, isso evitará que você tenha que digitar o comando manualmente os parâmetros de linha e deve funcionar para muitos formatos de arquivo diferentes, incluindo o geopackage.

Stev_k
fonte
2

Usando o tutorial neste link, é melhor adicionar à linha de comando GDAL (ogr2ogr) as próximas opções.

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

Funciona para mim.

Yinneth Castiblanco
fonte