#1 Mon 19 March 2012 17:13
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
[POSTGIS] comment utiliser la fonction alphashape
Bonjour,
je souhaiterais savoir comment utiliser la fonction alphashape.
J'ai une table "node" contenant des points (plusieurs centaines de milliers) et je souhaiterais que ladite fonction me produise un polygone, la fonction alphashape est une alternative à la fonction concave_hull
quand je tape la requete suivante:
Code:
SELECT ddd.id , ddd.the_geom FROM alphashape('SELECT id, st_x(the_geom) AS x, ST_Y(the_geom) AS y FROM node'::text) ddd(id, the_geom);
ca me renvoie 27 lignes à 2 colonnes et ces 2 colonnes sont la colonne x et y de ma table node , ce que j'aimerais recuperer c'est la geometrie du polygone que devrait normalement produire la fonction alphashape
Merci d'avance
edit : ou alors ces x et y retournés sont en fait les coordonnées du polygones...
Dernière modification par icadedt (Mon 19 March 2012 17:36)
Hors ligne
#2 Tue 20 March 2012 13:43
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [POSTGIS] comment utiliser la fonction alphashape
maintenant j'ai un autre probleme, hier la fonction alphashape exsitait encore et aujourd'hui elle n'existe plus ! Je n'ai pas fait de requete de modif, creation ou de suppr de la fonction...
Hors ligne
#3 Tue 20 March 2012 14:46
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] comment utiliser la fonction alphashape
maintenant j'ai un autre probleme, hier la fonction alphashape exsitait encore et aujourd'hui elle n'existe plus ! Je n'ai pas fait de requete de modif, creation ou de suppr de la fonction...
Vous etes bien connecté sur la meme base que hier ? celle ou les fonctions de routing ont ete importées ?
Que donne, dans psql, la commande:
Code:
\df *alpha*
Nicolas
Hors ligne
#4 Tue 20 March 2012 14:57
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [POSTGIS] comment utiliser la fonction alphashape
icadedt a écrit:maintenant j'ai un autre probleme, hier la fonction alphashape exsitait encore et aujourd'hui elle n'existe plus ! Je n'ai pas fait de requete de modif, creation ou de suppr de la fonction...
Vous etes bien connecté sur la meme base que hier ? celle ou les fonctions de routing ont ete importées ?
Que donne, dans psql, la commande:Code:
\df *alpha*Nicolas
quand je tape la ligne de commande , la fenetre me dit qu'elle a trouvé 0 lignes.
Il me semble que alphashape fait partie de postgis plutot que de pgrouting. Pour info la fonction points_to_polygon a disparu aussi !
Hors ligne
#5 Tue 20 March 2012 15:01
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] comment utiliser la fonction alphashape
Nicolas Ribot a écrit:icadedt a écrit:maintenant j'ai un autre probleme, hier la fonction alphashape exsitait encore et aujourd'hui elle n'existe plus ! Je n'ai pas fait de requete de modif, creation ou de suppr de la fonction...
Vous etes bien connecté sur la meme base que hier ? celle ou les fonctions de routing ont ete importées ?
Que donne, dans psql, la commande:Code:
\df *alpha*Nicolas
quand je tape la ligne de commande , la fenetre me dit qu'elle a trouvé 0 lignes.
Il me semble que alphashape fait partie de postgis plutot que de pgrouting. Pour info la fonction points_to_polygon a disparu aussi !
Non, ce sont des fonctions de pgRouting:
Code:
find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH alphashape {} \; /usr/local/pgsql/share/contrib/routing_dd.sql:35:CREATE OR REPLACE FUNCTION alphashape(sql text) find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH points_as_polygon {} \; /usr/local/pgsql/share/contrib/routing_dd_wrappers.sql:26:CREATE OR REPLACE FUNCTION points_as_polygon(query varchar)
La fonction s'appelle points_as_polygon
Attention aux versions de pgRouting et aux bases sur lesquelles vous avez installé.
Nicolas
Dernière modification par Nicolas Ribot (Tue 20 March 2012 15:02)
Hors ligne
#6 Tue 20 March 2012 15:25
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [POSTGIS] comment utiliser la fonction alphashape
icadedt a écrit:Nicolas Ribot a écrit:Vous etes bien connecté sur la meme base que hier ? celle ou les fonctions de routing ont ete importées ?
Que donne, dans psql, la commande:Code:
\df *alpha*Nicolas
quand je tape la ligne de commande , la fenetre me dit qu'elle a trouvé 0 lignes.
Il me semble que alphashape fait partie de postgis plutot que de pgrouting. Pour info la fonction points_to_polygon a disparu aussi !
Non, ce sont des fonctions de pgRouting:Code:
find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH alphashape {} \; /usr/local/pgsql/share/contrib/routing_dd.sql:35:CREATE OR REPLACE FUNCTION alphashape(sql text) find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH points_as_polygon {} \; /usr/local/pgsql/share/contrib/routing_dd_wrappers.sql:26:CREATE OR REPLACE FUNCTION points_as_polygon(query varchar)La fonction s'appelle points_as_polygon
Attention aux versions de pgRouting et aux bases sur lesquelles vous avez installé.
Nicolas
effectivement je me suis trompé de serveur , celui que j'utilise actuellement n'avait pas les fonctions de pgrouting installées !
edit: savez vous si la fonction concave_hull vient de postgis ou pgrouting? Auriez vous la requete et la DLL pour la créer ?
Dernière modification par icadedt (Tue 20 March 2012 15:37)
Hors ligne
#7 Tue 20 March 2012 15:42
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] comment utiliser la fonction alphashape
Nicolas Ribot a écrit:icadedt a écrit:
quand je tape la ligne de commande , la fenetre me dit qu'elle a trouvé 0 lignes.
Il me semble que alphashape fait partie de postgis plutot que de pgrouting. Pour info la fonction points_to_polygon a disparu aussi !
Non, ce sont des fonctions de pgRouting:Code:
find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH alphashape {} \; /usr/local/pgsql/share/contrib/routing_dd.sql:35:CREATE OR REPLACE FUNCTION alphashape(sql text) find /usr/local/pgsql/share/contrib -name "*.sql" -exec grep -nH points_as_polygon {} \; /usr/local/pgsql/share/contrib/routing_dd_wrappers.sql:26:CREATE OR REPLACE FUNCTION points_as_polygon(query varchar)La fonction s'appelle points_as_polygon
Attention aux versions de pgRouting et aux bases sur lesquelles vous avez installé.
Nicolas
effectivement je me suis trompé de serveur , celui que j'utilise actuellement n'avait pas les fonctions de pgrouting installées !
edit: savez vous si la fonction concave_hull vient de postgis ou pgrouting? Auriez vous la requete et la DLL pour la créer ?
Elle vient avec Postgis 2.0, dispo sur toutes les plateformes.
(j'ai fait un rapide test avec cette fonction, pas convaincu, mais suis pas sur de l'avoir bien utilisée...)
Hors ligne
#8 Tue 20 March 2012 15:45
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [POSTGIS] comment utiliser la fonction alphashape
(j'ai fait un rapide test avec cette fonction, pas convaincu, mais suis pas sur de l'avoir bien utilisée...)
le probleme avec alphashape c'est que ca fait une patate mal dégrossie, j'espérais que concave_hull faisait un polygone plus affiné
http://grass.osgeo.org/wiki/Create_concave_hull
Dernière modification par icadedt (Tue 20 March 2012 15:47)
Hors ligne
#9 Wed 28 March 2012 10:20
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [POSTGIS] comment utiliser la fonction alphashape
Elle vient avec Postgis 2.0, dispo sur toutes les plateformes.
(j'ai fait un rapide test avec cette fonction, pas convaincu, mais suis pas sur de l'avoir bien utilisée...)
Je ne pense pas que postgis 2 soit dispo sur windows
http://postgis.refractions.net/download/windows/
Hors ligne
#10 Wed 28 March 2012 10:37
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] comment utiliser la fonction alphashape
Hors ligne