banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 26 March 2013 11:39

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

PostGIS: Enregistrer ses résultats en Shapefile

Bonjour,

J'utilise depuis peu PostGis afin de faciliter des traitements de fichiers relativement gros. J'arrive à plus ou moins faire ce que je veux... maintenant, j'aimerais exporter certains de mes résultats directement en shapfile.
J'aimerais si possible éviter de passer par QGis (tout simplement pour pouvoir répeter l'exécution plusieurs fois).
J'ai parcourus certains forum qui parlent de pgsql2shp. J'ai essayé à "l'état brut" dans PostGis, mais ça me mets des messages d'errurs (ERREUR:  erreur de syntaxe sur ou près de « pgsql2shp »), comme si la commande n'était pas reconnue...
Du coup, est ce qu'il y a une étape à faire avant, est ce qu'il faut installer quelque chose?

ça parait certainement bête comme question, mais ça fait pas mal de temps que je cherche et je ne trouve rien de simple, ça parait évident à tout le monde d'utiliser pgsql2shp

A+

Hors ligne

 

#2 Tue 26 March 2013 12:08

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: PostGIS: Enregistrer ses résultats en Shapefile

Salut,

pgsql2shp est un exécutable et non une commande sql. Tu dois donc l'utiliser par exemple dans un shell (ligne de commande).

Plus d'infos par là : http://manpages.ubuntu.com/manpages/nat … shp.1.html

Hors ligne

 

#3 Tue 26 March 2013 12:13

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: PostGIS: Enregistrer ses résultats en Shapefile

Merci tumasgiu pour la précision, j'étais déjà tombé sur ce lien, mais j'ai l'impression que c'est surtout destiné à Ubuntu, malheureusement, je suis sur un poste Windows! Est ce que ça fonctionne sous windows quand même?

Hors ligne

 

#4 Tue 26 March 2013 12:59

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: PostGIS: Enregistrer ses résultats en Shapefile

Bonjour,

Oui la commande fonctionne sous Windows mais utiliser une console DOS n'est pas aussi simple et efficace que sous Linux/Ubuntu hmm

Tu peux lancer ceci dans la console dos :

Code:

C:/Program Files/Postgresql/9.1/bin/pgsql2shp.exe --help

Attention : le chemin sera probablement différent (j'ai fais ca de tête).

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#5 Tue 26 March 2013 13:21

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: PostGIS: Enregistrer ses résultats en Shapefile

Ok, merci Yves.

Et il n'existe pas une autre méthode, d'ajouter quelque chose de similaire à un export .csv?

Hors ligne

 

#6 Tue 26 March 2013 13:32

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: PostGIS: Enregistrer ses résultats en Shapefile

Bonjour,

Vous voulez exporter une table/requete en CSV ?

La commande COPY TO permet de faire ca (http://www.postgresql.org/docs/9.1/static/sql-copy.html)

Nicolas

Hors ligne

 

#7 Tue 26 March 2013 13:34

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: PostGIS: Enregistrer ses résultats en Shapefile

Pardon, je me suis peut-être mal exprimé, mais il n'existe pas un moyen directement dans PostGis d'obtenir le résultat d'une requète sous forme de shapefile? En gros, de la même manière que l'on peut exporter en CSV en utilisant COPY TO par exemple?

Hors ligne

 

#8 Tue 26 March 2013 13:39

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: PostGIS: Enregistrer ses résultats en Shapefile

Bonjour,

Effectivement c'est plus claire maintenant wink

Non pas à ma connaissance sad

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#9 Tue 26 March 2013 13:47

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: PostGIS: Enregistrer ses résultats en Shapefile

Les nouvelles fonctionnalités de PG permettent de développer de quoi accèder a des fichiers par SQL (http://www.postgresql.org/docs/9.1/stat … apper.html) , mais je ne crois pas qu'il existe un Foreign Data Wrapper pour Shapefile.

Sinon, OGR permet de faire un peu de SQL et d'ecrire dans bcp de formats SIG.
Comme OGR dispose de GEOS, on peut faire des choses puissantes et proches de PostGIS.

Sinon, vraiment tiré par les cheveux:
Ecrire une procédure en Python et profiter d'un paquet Python pour ecrire le shape ou appeler pgsql2shp.

Que devez-vous faire avec vos données ?

Nicolas

Hors ligne

 

#10 Tue 26 March 2013 14:20

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: PostGIS: Enregistrer ses résultats en Shapefile

Ok, en fait, j'ai installé la dernière version de l'OpenGeo Suite et je fais quelques petits traitement avec QGis, mais là, ce sera pour faire des traitements entre des distributions d'espères, des milieux etc... du coup, en SQL, j'ai réussit à faire mon traitement, que jusqu'à maintenant j'esportais en Csv. Mais là, la personne aimerait avoir un shapefile différent pour chaque espèce (où l'on retrouve les polygones résultant de mon traitement), sachant que l'on a plusieurs centaines d'espèces, et que l'on aimerait que la commande puisse être utiliser par d'autres personnes, pas forcément expertes en commande... Après, je ne suis pas forcément expert en python non plus, j'arrive à bidouiller quelques commandes trouvées sur internet et les adapter à mes besoins, mais ça en reste là.

Hors ligne

 

#11 Thu 04 April 2013 08:57

yasmine07
Participant occasionnel
Date d'inscription: 4 Mar 2013
Messages: 21

Re: PostGIS: Enregistrer ses résultats en Shapefile

Bonjour,

Je ne suis pas vraiment une pro de postgis mais j'ai eu besoin de générer des shape file résultats de mes requêtes et j'ai essayé cette méthode et ça marche sur la majorité de mes requêtes:

Sut FWtools tu écris :

"ogr2ogr -f "ESRI Shapefile" c:\chemin\nom_fichier.shp PG:"host=localhost user=nom_user dbname=nom_db" -sql "ta requete avec au plus une colonne de type  geometry"

Il paraît qu'avec Gdal, au lieu de FWtools c mieux mais bon j'ai pas essayé.

J'espère que ça réponds à ta question.

Bon courage.

Hors ligne

 

#12 Thu 04 April 2013 10:11

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: PostGIS: Enregistrer ses résultats en Shapefile

yasmine07 a écrit:

Bonjour,

Il paraît qu'avec Gdal, au lieu de FWtools c mieux mais bon j'ai pas essayé.

J'espère que ça réponds à ta question.

Bon courage.


Bonjour,

Une petite précision:
FWTools est en fait une livraison de GDAL/OGR (et d'autres outils comme OpenEV), packagée par l'auteur de GDAL, Franck Warmerdam (FW)

la commande indiquée, ogr2ogr, est la bonne commande. C'est un des outils de OGR wink

Nicolas

Hors ligne

 

#13 Thu 04 April 2013 10:19

yasmine07
Participant occasionnel
Date d'inscription: 4 Mar 2013
Messages: 21

Re: PostGIS: Enregistrer ses résultats en Shapefile

merci pour la précision Nicolas :-).

Hors ligne

 

Pied de page des forums

Powered by FluxBB