Vous importez .shp dans PostgreSQL?


14

Je veux importer un fichier shp dans postgreSQL. Tout d'abord, je crée un fichier sql, puis j'exécute PostgreSQL. Pour créer un fichier sql, j'exécute cette commande dans windows cmd:

shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql

puis exécutez:

psql -d postgres -U postgres -p 4321 -f worldcountries.sql

mais le résultat est:

psql: worldcountries.sql: 21: ERREUR: la fonction addGeometrycolumn (inconnu, inconnu, inconnu, inconnu, inconnu, entier) n'existe pas

Réponses:


13
ERROR: **function addGeometrycolumn**(unknown, unknown, unknown, unknown,unknown, integer) does not exist

Il semble que PostGIS ne soit pas encore installé. PostGIS est une extension de Postgres qui permet l'utilisation de fichiers géographiques.

Installez-le et votre importation fonctionnera bien.


3
Et la commande est "CREATE EXTENSION postgis;"postgis.net/docs/… .
user30184

1
@ user30184 Absolument correct, mais notez que cela suppose PostgreSQL 9.1 ou supérieur. (Il y a très peu de raisons d'utiliser quelque chose de plus ancien, à mon avis.)
jpmc26


1

Vous pouvez utiliser le plugin build in import qui est installé lorsque vous installez l'extension PostGis dans PostgreSQL. Vous pouvez le trouver sous Plugins dans le menu et il s'appelle PostGIS Shapefile et DBF loader

regardez cette vidéo youtube comme exemple


0

Vous avez une projection différente dans votre psql; et avoir une projection n'est pas nécessaire. Y a-t-il un schéma auquel vous souhaitez ajouter le fichier de forme?

Cela devrait fonctionner:

shp2pgsql -s 4326 -I worldcountries.shp schema.worldcountries > dr_worldcountries.sql

psql -f worldcountries.sql -h [host] -d [database] -U postgres

3
-pcar lui psqlindique le port du serveur, pas la projection. La projection est intégrée dans le script SQL. Voir le manuel fin pour psqlle comportement de. Dans ce cas, le port spécifié par l'OP n'est pas le port par défaut, il est donc requis. Je déconseille également généralement de stocker une forme sans projection. Cela limite votre capacité à modifier les projections, ce qui peut être utile pour obtenir des calculs plus précis.
jpmc26
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.