"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.