Pages: 1
- Sujet précédent - Calculer l'emprise non convexe d'un semi de point (alpha shapes) - Sujet suivant
#1 Mon 04 November 2013 11:33
Calculer l'emprise non convexe d'un semi de point (alpha shapes)
Bonjour à tous,
Je suis à la recherche d'une méthode/outil libre et facile d'accès qui permettrait de faire une emprise non convexe (alpha shapes). En général, la fonction qui créé l'emprise de gauche (convex hull) est facile à trouver dans de nombreux logiciels SIG, mais j'aimerais avoir une emprise plus "fine" comme on voit ci dessous. A priori, ca existe dans pgrouting, mais bon, je n'ai pas encore mis mon nez là dedans.
pgRouting comes with an implementation of alpha shapes. There is an alpha shape function: alphashape(sql text) and a convenience wrapper: points_as_polygon(query character varying). The weird thing is that you don’t get to set an alpha value
[img]http://underdark.files.wordpress.com/2011/09/alpha_shape_convex_hull.png[/img]
Pour l’instant, je viens de trouver un logiciel qui semble faire ça : http://biogeometry.duke.edu/software/alphashapes mais il n'a pas l'air compilé... A tester/à suivre.
Je suis preneur de vos idées sur d'autres softs ou méthodes un peu plus "clic bouton".
Je testerais pgrouting si vraiment je ne trouve rien d'autre.
Hors ligne
#2 Mon 04 November 2013 11:47
Re: Calculer l'emprise non convexe d'un semi de point (alpha shapes)
Pour référence, je viens de trouver un sujet assez fournis chez les voisins de ForumSIG : http://www.forumsig.org/showthread.php/ … -de-points
EDIt : et je rebondis sur LasTOOLS : https://www.cs.unc.edu/~isenburg/lastools/
A priori, il y aurait une commande lasboundary qui correspondrait à ce que je cherche, sachant que LASTOOLS s'intègre dans QGIS : http://www.forumsig.org/showthread.php/ … post283390
Dernière modification par Robin (Mon 04 November 2013 11:52)
Hors ligne
#3 Mon 04 November 2013 12:00
- ppluvinet
- Participant assidu
- Lieu: LYON
- Date d'inscription: 6 Aug 2007
- Messages: 610
Re: Calculer l'emprise non convexe d'un semi de point (alpha shapes)
Bonjour,
N'a-t-on presque la même chose en appliquant une dilatation/union/erosion
c'est à dire :
1. (Dilatation) faire un buffer de petite taille sur chacun des points
2. (Union) agréger ces buffer en eux et exploser les multi-parties
3. (Erosion) Faire une érosion(buffer négatif) de la même longueur que les dilatations.
Facile à faire avec postgis :
Code:
select (st_dump(st_buffer(st_union(st_buffer(geom,1000)),-1000))).geom as geom from POINTS;
Et ca doit facilement se faire avec QGIS ou ArcGis en model Builder
Le moins évident est de définir la taille des buffer
Dernière modification par ppluvinet (Mon 04 November 2013 13:37)
Pascal PLUVINET
Hors ligne
#4 Mon 04 November 2013 12:17
Re: Calculer l'emprise non convexe d'un semi de point (alpha shapes)
Merci Dominique. Il faut croire qu'il faudra que je me mette à postgis un de ces 4, ça semble quand même incontournable. Pas très fan des buffer dans mon cas précis, surtout quand on parle de plusieurs centaines de milliers de points, les temps de traitement sont trop long.
Mes retours : après un test sur un fichier de 250 000 points, je trouve mon bonheur avec lasboundary.exe qui me fait une belle emprise en quelques secondes. Je n'ai pas réussi à la configurer sur QGIS, j'ai dû faire une erreur dans les chemins d'accès ou autre, mais l'applicatif lasboundary.exe seul dans le répertoire de mon fichier de point converti en las me donne une emprise en shapefile avec des trous, sans configuration avec juste cette ligne de code : lasboundary -i *.las -oshp posée dans un fichier texte nommé pour l'occaz test.bat.
Résultat ci joint. Je vais voir à présent comment affiner le contour généré mais c'est déjà très satisfaisant.
Hors ligne
Pages: 1
- Sujet précédent - Calculer l'emprise non convexe d'un semi de point (alpha shapes) - Sujet suivant