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

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

vendredi 11 juin 2010

Plugin PgAdmin III : PostGIS vers Google Earth

Un plugin PgAdmin III : PostGIS vers Google Earth


 Présentation

Le plugin d'export de PostGIS vers Google Earth a été développé en VB.Net 2008




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

Le plugin d'export de PostGIS vers Google Earth est téléchargeable ici :
 
PostGIS2GE

et a décompresser dans le répertoire : C:\Program Files\pgAdmin III\1.10 qui correspond au répertoire d'installation de pgAdmin III.

La version de Google Earth utilisé pour ce tutorial est la 5.1.3535.3218, lien ci-dessous pour la télécharger :
Google Earth


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 :

    ;
    ; PostGIS2GE (Windows)
    ;
    [Separator]
    Title=PostGis2GE
    Command="$$PGBINDIR\PostGIS2GE\PostGIS2GE.exe"  "host=$$HOSTNAME" "port=$$PORT" "username=$$USERNAME" "password=$$PASSWORD" "database=$$DATABASE" "schema=$$SCHEMA"  "table=$$TABLE"
    Description=PostGIS vers Google Earth
    KeyFile=$$PGBINDIR\
    PostGIS2GE\PostGIS2GE.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


  • Ouvrir PgAdmin III, se connecter a une base de données, sélectionner un schéma, Tables, ouvrir un éditeur SQL, puis saisir une ou plusieurs requêtes séparées par des points virgules (voir   )




































 
  • Puis exécuter le plugin PostGIS2GE qui va créer deux fichiers kml a partir des requêtes, et charger ces fichiers dans google Earth.




























  • query1.kml est le résultat de la requête :


SELECT ST_Askml(ST_Force_2D(wkb_geometry)) as geom,ogc_fid,nom
FROM commune 
WHERE nom='Sainte-Croix-de-Quintillargues';


  • query2.kml est le résultat de la requête :
 

SELECT ST_Askml(ST_Force_2D(a.wkb_geometry)) as geom,a.ogc_fid,a.nature,a.hauteur as extrude
FROM batiment a,commune b
WHERE b.nom='Sainte-Croix-de-Quintillargues'
AND a.wkb_geometry && b.wkb_geometry
AND ST_Contains(b.wkb_geometry,a.wkb_geometry);

  • Sous Google Earth passer en mode relief et changer l'affichage de query1.kml