"Sans imagination il ne pourrait y avoir création."
Albert Jacquard.

"L'imagination est plus importante que le savoir."
Albert Einstein.

mardi 6 juillet 2010

Plugin PgAdmin III : Export PostGIS




Un plugin pour PgAdmin III : Export PostGIS


Présentation 
Ce plugin d'export pour PostGIS a été développé en VB.Net 2008.
Il utilise l'utilitaire ogr2ogr qui fait partie du package d'outils Open Source FWTOOLS maintenus et mis à jour par Franck Warmerdam (d'ou les initiales FW).
Pour plus d'informations, consulter ce lien :
FWTOOLS 

Et celui-ci pour ogr2ogr :
ogr2ogr


Installation 


La version de PgAdmin III utilisée pour ce tutorial est la 1.10.3, lien ci-dessous pour la télécharger :
PgAdmin3-1.10.3


La version de FWTOOLS utilisée pour ce tutoriel est la 2.4.7, lien ci-dessous pour la télécharger :
FWTools 2.4.7



Lancer l'installation et définir le répertoire d'installation :
C:\FWTools à la place C:\Program Files\FWTools2.4.7
































Le programme d'export pour PostGIS est disponible ici :


Voir la fin du tutoriel pour la nouvelle version.


Configurer PgAdmin III

PgAdmin III 1.10 donne la possibilité d'ajouter très facilement des applications externes dans le menu plugins.
Pour activer la disponibilité de ces applications:  

  • Ouvrir PgAdmin III, dans le menu Fichier sélectionner Préférences
 












  •  Dans l'onglet Général donner le chemin de l'application PgAdmin III (pgadmin3.exe)

  
















  • Sortir de PgAdmin III,
  • Aller dans le répertoire C:\Program Files\pgAdmin III\1.10, faire une copie du fichier plugins.ini,
  • Ouvrir le fichier plugins.ini et copier les lignes suivantes a la fin du fichier :
    ;
    ;
    PostGisExport (Windows)
    ;
    [Separator]
    Title=Export PostGIS
    Command="$$PGBINDIR\PostGisExport\
    PostGisExport.exe"  "host=$$HOSTNAME" "port=$$PORT" "username=$$USERNAME" "password=$$PASSWORD" "database=$$DATABASE" "schema=$$SCHEMA"  "table=$$TABLE"
    Description=Export PostGIS
    KeyFile=$$PGBINDIR\
    PostGisExport\PostGisExport.exe
    Platform=windows
    ServerType=postgresql
    Database=Yes
    ;AppliesTo=database
    SetPassword=Yes
    •  Les variables  utilisées, contiendront respectivement :
    • $$PGBINDIR       :  répertoire dans lequel se trouve pgadmin3.exe,
    • $$HOSTNAME    :  adresse du serveur,
    • $$PORT                :  port,   
    • $$USERNAME     :  utilisateur ,
    • $$PASSWORD     :  mot de passe,
    • $$DATABASE      :  base de données,
    • $$SCHEMA          :  schéma courant,
    • $$TABLE              :  table sélectionné.

  • Enregistrer le fichier,
  • Ouvrir PgAdmin III et dans le menu plugins vous devriez voir ceci :






















Comment utiliser le plugin

Passons maintenant à l'utilisation du plugin, pour cela ouvrir PgAdmin III :
  • se connecter à un serveur, 
  • choisir une base de données, 
  • sélectionner un schéma puis une table,
  • lancer l'exécution du plugin






  • vous devriez obtenir cette fenêtre :














  • Sélectionner un format d'export parmi ceux disponibles (ESRI Shapefile est le format par défaut),
  • déployer la sortie console,



















  • Cliquer sur le bouton export pour obtenir le format d'export sélectionné.



















Un répertoire correspondant au format sélectionné est créé s'il n'existe pas, dans lequel vous trouverez le ou les fichiers créés. 
Si vous le souhaitez, vous pouvez récupérer la ligne de commande dans la sortie console.




Nouvelle Version : 1ere Mise a jour
  • J'ai ajoute le choix du système de projection en sortie,
  • La détection du chemin de FWTools, ce qui permet de gérer le cas ou l'installation n'a pas été faite sous C:\FWTools
  • Ajout du format GPX



Nouvelle Version : 2eme Mise a jour

  • Ajout du format DXF,
  • Export d'une requête, ce qui peut permettre d'exporter une vue.



Important :

 La requête doit contenir la fonction srid afin de pouvoir fixer le srid source dans la boite d'export, et se terminera par un point virgule. Ne mettre qu'une seule requête dans la boîte SQL.

Exemple :

SELECT nom,code_insee,wkb_geometry,srid(wkb_geometry) FROM commune;

Dans le cas d'une requête, dans la partie destination le nom de sortie est fixé a query1, vous pouvez bien entendu le modifier en conservant l'extension, avant de cliquer sur le bouton export.

Rappel :

Le résultat de l'export sera visible sous le répertoire .\ PostGisExport\Data\"extension"

Exemple :

\ PostGisExport\Data\SHP






Conclusion 



Si d'autres formats d'export vous intéressent (parmi ceux acceptés par ogr2ogr), faite m'en part, et je les rajouterais. 







21 commentaires:

  1. Bonjour,

    Ce plugin est très intéressant.
    Surtout quand il prendra en compte le changement de projection et l'export de requêtes.

    Vous serait il possible d'ajouter le format GPX?

    Pour l'installation du plugin, dommage qu'on ne puisse pas spécifier le répertoire d'installation de FWTools, par exemple par une instruction supplémentaire dans le fichier plugin.ini?
    Ce serait utile pour les personnes qui ont déjà FWTools d'installé.

    Cordialement

    Fabrice

    RépondreSupprimer
  2. Fabrice,

    Merci pour tes remarques, j'ai ajouté le format GPX et rajouté la détection du répertoire d'installation de FWTools.

    Cordialement
    Jérôme

    RépondreSupprimer
  3. Bonjour, tous ces plugins sont très alléchants, d'autant qu'il est difficile d'en trouver pour pgAdmin3.
    Néanmoins, je n'utilise pas Windows et me sens frustré de ne pouvoir utiliser vos œuvres...
    Je pense qu'ils gagneraient en notoriété s'ils étaient écris dans un langage compréhensible par les pingouins (et les mangeurs de pommes)
    Merci ! ;)

    RépondreSupprimer
  4. Bonjour Guillaume,

    Je vais creuser autour de MonoDevelop afin de pouvoir approcher les pingouins et les mangeurs de pommes.

    A suivre donc...

    RépondreSupprimer
  5. Bonjour,
    Ca fait long temps que je cherchais de tels plugins pour pgadmin3. Cependant j'ai installé ExportPostGis et PostgisViewer, mais ils ne fonctionnent pas sur mon ordi (windows 7). Ils apparaissent bien dans pdadmin3 mais il y a aucune fenêtre qui s'affiche.
    Je mentionne que les données ont bien une géométrie.

    auriez vous une idée, s'il vous plait?

    Anne

    RépondreSupprimer
  6. Bonjour Anne,

    Nous allons commencer par ExportPosgis :
    est-ce que vous avez configuré PgAdmin comme indiqué dans le tutorial ?
    est ce que le répertoire 'C:\Program Files\pgAdmin III\1.10\PostGisExport' est présent?
    avec les dll et l'exécutable, ainsi que des sous-répertoire.

    Jérôme

    RépondreSupprimer
  7. Bonjour,
    Oui, j'ai configuré PGAdmin comme dans le tutorial et PostGISExport fait bien parti de répertoire "C:\...".

    Est-ce que le problème peut être du au fait que je me connecte à une base de données Postgis stockée dans un serveur PostgreSQL sous linux et non pas en local. Moi, j'ai bien Windows.

    Merci,
    Anne

    RépondreSupprimer
  8. Bonjour Anne,

    A priori non,
    d'autres questions :
    - avez-vous sélectionné une table dans le navigateur d'objets sous PgAdmin ?
    - passez-vous par le requêteur ? si oui, un seul reqêteur doit être ouvert,

    Cordialement,
    Jérôme

    RépondreSupprimer
  9. Re-bonjour,
    Oui, j'ai sélectionné une table via le navigateur d'objets sous PGAdmin. La géométrie de la table est de type polygon.

    Bien cordialement,
    anne

    RépondreSupprimer
  10. hum...
    Je ne l'ai testé que sous Windows XP et Windows Vista, mais pas sous Seven, je vais essayer de le faire.

    En attendant une derniere question :
    sous PgAdmin dans le menu fichier, preferences, est-ce que 'chemin des binaires' est bien egal à C:\Program Files\pgAdmin III\1.10 ?

    cordialement,
    Jérôme

    RépondreSupprimer
  11. je vous remercie beaucoup pour votre aide

    Oui, le chemin des binaires est bien celui que vous avez dit.

    Cordialement,
    anne

    RépondreSupprimer
  12. Bonjour,

    Je trouve cet outils très intéressant mais je n'arrive pas à faire marcher l'export vers gpx alors que les autres formats marchent.

    une petite aide ?

    RépondreSupprimer
  13. Bonjour Germain,

    Pour l'export vers GPX, les géométries de la table doivent être de type POINT. Je n'ai pas essayé avec une requête.

    Cordialement,
    Jérôme

    RépondreSupprimer
  14. Bonjour,

    j'ai réussi avec une précédente étape en Kml mais directement de Postgis a Gpx, ça bloque. Je ne comprend pas non plus pourquoi on ne peut pas créé des Gpx avec des tables de types lignes alors que le Gpx supporte les objets linéaires.

    RépondreSupprimer
  15. Bonjour,
    j'en remets une couche : en tant que pingouins je me sens frustré ...

    merci pour nous !

    j'ai été alléché avant de voir l'impossibilité : dommage

    RépondreSupprimer
  16. Bonjour

    Je viens d'installer le plugin pour l'export, mais lorsque je veux faire un export de ma table j'ai un message d'erreur. Je remarque que PostGIS Export n'arrive pas à me remonter les infos concernant la projection de la table.

    Avez-vous une idée ?

    Config: Windows 2008 R2
    pgAdmin 1.12.2

    RépondreSupprimer
    Réponses
    1. Pour moi c'est le schéma qu'il ne répercute pas.
      Si la table est dans le schéma public alors pas de pb sinon il faut modifier à la main le fichier de commande
      Si vous avez une idée ?
      D'avance merci

      Supprimer
  17. Bonjour jérôme,
    Merci pour votre aide j'ai copié tout vos tuto, je suis vraiment débutante dans les sig, je voulais vous poser une question d'une débutante, je veux créer une base de données images satellitaires avec postgres, pour alimenter cette BDD je dois extraire les métadonnées depuis un fichier dimap en format xml, est ce que vous pourriez m'orienter de sa faisabilité SVP.
    Merci

    RépondreSupprimer
  18. Bonjour,
    je découvre à l'instant ces utilitaires très intéressants et qui répondraient à certains de mes besoins mais il s'avère que les liens de téléchargement ne sont plus à jour. Snif! Il s'agit aussi bien du lien de téléchargement de PostGisExport que de ceux des deux versions de PostGisViewer.
    Pourriez-vous s'il vous plaît y remédier?
    Merci d'avance.

    Santanna

    RépondreSupprimer
  19. Bjr

    je n'arrive pas à télécharger le plugin postgisexport. Est-ce qu'il marche sur la version 1.14 de PgAdmin

    RépondreSupprimer
  20. Super,
    Toutes mes felicitation
    Je suis un debutant et je cherchais comment exporter au format KML.

    RépondreSupprimer