Nouvelle version
Multi-géométrie
J'ai mis en place la prise en compte des multi-géométries :
- MULTIPOLYGON
- MULTILINESTRING
- MULTIPOINT
Requêtes
J'ai rajouté la possibilité d'exécuter les requêtes présente dans l'éditeur SQL de PgAdmin III, mais pour que cela soit possible, il faut respecter certaines règles:
- Un seul éditeur SQL de PgAdmin III doit être ouvert.
- Pour que la ou les requête(s) soient exécutées, il ne faut pas être positionné sur un nom de table dans le navigateur d'objets de PgAdmin III , ou alors que la table soit déjà chargée dans le visualiseur. Une table sélectionnée prendra toujours le pas sur une ou des requêtes.
- Le premier champ doit être géométrique ou une géométrie issue d'une fonction de traitement géométrique (ST_Buffer, ST_Intersection....) par requête sera utilisé pour l'affichage. Ce champ ou cette géométrie sera encapsulé par la fonction AsBinary et aura pour alias geom :
- SELECT AsBinary(wkb_geometry) as geom ....
- SELECT AsBinary(ST_Buffer(wkb_geometry, 1.0)) as geom...
- SELECT AsBinary(ST_Intersection(a.wkb_geometry,b.wkb_geoemetry)) as geom...
- ....
- Le second champ doit permettre de déterminer le type de géométrie, il doit donc être encapsulé par la fonction GeometryType, un alias n'est pas nécessaire :
- SELECT ..., GeometryType(wkb_geometry)...
- SELECT ..., GeometryType(ST_Buffer(wkb_geometry,1.0))...
- SELECT ..., GeometryType(ST_Intersection(a.wkb_geometry,b.wkb_geometry))...
- ....
- Chaque requête devra se terminer par un point virgule, ce qui permettra de pouvoir exécuter plusieurs requêtes a la suite.
Exemple
Ci-dessous deux requêtes se terminant par des points virgules :
- La première requête va charger la commune qui a pour nom 'Sainte-Croix-de-Quintillargues'
- La seconde requête va charger tous les bâtiments de cette commune.
Après avoir lancé le plugin PostGISViewer, les deux requêtes sont exécutées et donne le résultat suivant :
Les couches créées portent comme nom query avec un identifiant qui s'incrémente pour toute la cession du visualiseur.
Toutes suggestions, remarques pour l'amélioration de cet outil seront les bienvenues.
A suivre...