#1 Mon 22 June 2009 09:31
- kzoen
- Juste Inscrit !
- Date d'inscription: 18 Jun 2009
- Messages: 4
Lissage après dilatation/érosion
Bonjour,
J'applique la méthode de dilatation/erosion sur différents milieux afin de mettre en évidence leur connectivité
Exemple: continuité entre 2 zones boisées pour une espèce ayant des capacités de déplacement de X km:
J'applique un buffer positif de X km à la couche des zones boisées, puis un 2ème buffer négatif de Xkm afin que seules les connections restent. Selon cette méthode, les zones espacées de moins de 2Xkm restent connectées.
Seulement, en raison des "renfoncements" créés par les buffers autour de petites zones, certaines connections sont éliminées par le buffer négatif bien qu'elles relient des zones distantes de moins de 2Xkm.
Je vous ai joint les schémas, je pense que se sera plus clair... Sur l'image "buffer+", on voit les buffers en vert foncé autour des zones boisées, en vert clair. Sur l'image "buffer -", on voit ce qu'il reste après application du buffer négatif. Vous pouvez voir que la petite tâche boisée à peu près au milieu de l'image n'est pas considérée comme connectée à celle qui est au-dessus alors qu'elle l'était après application du buffer positif. Elle a été enlevée à cause de ces fameux "renfoncements" dont je parlais, créés par la superposition de 2 buffers.
Auriez vous une solution pour "lisser" ma couche de buffer + afin que mes zones soient bien connectées?
Merci d'avance, bonne journée!
Kzoen
Buffer +: [img]http://img269.imageshack.us/img269/863/buffer.th.png[/img]
Buffer -: [img]http://img269.imageshack.us/img269/4292/bufferb.th.png[/img]
Hors ligne
#2 Mon 22 June 2009 14:54
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: Lissage après dilatation/érosion
Une option serait de créer le squelette de ton premier résultat. Un peu comme en extraire la ligne centrale ou l'axe central.
Ensuite, tu pourrais appliquer un nouveau buffer à ce squelette, assez large pour ne pas être complétement effacé par ton buffer négatif.
Tu pourrais utiliser ce buffer en fin de processus pour boucher les "trous" créés par ton buffer négatif.
Ça nécessiterait quelques traitements, mais je crois que ça résoudrait ton problème.
Hors ligne