#1 Thu 24 April 2008 15:55
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
centroïde d'un polygone (en 2D)
Bonjour,
j'ai une liste de coordonnées issus d'un fichier MIF/MID et je voudrais calculer pour chaque polygone le centroïde de celui ci.
je ne dispose pour le faire que d'un langage de programmation donc je suis plus à la recherche d'un algorithme plutôt que d'un programme tout fait.
j'ai fait quelque recherches sur internet mais je n'ai pas trouvé grand chose d'intéressant.
de plus il faudrait que le centroïde soit obligatoirement à l'intérieur du polygone (ce qui peut poser des problèmes dans le cas d'un polygone en forme de croissant).
si vous avez des idées je serais preneur !
Merci
Sylvain.
Sylvain K.
CapGemini
Hors ligne
#2 Thu 24 April 2008 16:41
Re: centroïde d'un polygone (en 2D)
Bonjour,
Tu as GEOS qui te permet de faire ce genre de traitement.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Thu 24 April 2008 16:51
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: centroïde d'un polygone (en 2D)
merci pour le lien.
en effet une lib tres interessante mais qui n'est pas trop adapte a ma structure existante (j'ai deja une structure polygone compose d'un vector de point et vu le nombre de point que j'ai tout retransforme pour utiliser la librairie ne sera pas tres productif !).
cependant j'ai pu voir que pour calculer le centroide ils se reposent sur les triangle.
j'ai par ailleurs trouve le lien suivant :
http://www.members.shaw.ca/FLYAWAYTOO/m … troid.html
et je voudrais savoir si cela vous sembler correct comme algorithme.
Sylvain K.
CapGemini
Hors ligne
#4 Thu 24 April 2008 16:58
Re: centroïde d'un polygone (en 2D)
Bonjour,
L'avantage des logiciels Open source est que vous avez accès au source, et donc vous pouvez copier l'algorithme
Pour le lien je ne sais pas.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Thu 24 April 2008 18:10
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: centroïde d'un polygone (en 2D)
Est-ce que vous appelez centroide le centre de gravité ??
Ou un point "quelconque", genre celui utilisé par MapInfo: centre du rectangle exinscrit, décalé en X s'il tombe en dehors de la région ??
Hors ligne
#6 Thu 24 April 2008 18:16
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: centroïde d'un polygone (en 2D)
j'entends par centroïde le centre de gravité.
mais j'avoue que ça peut poser problème dans le cas ou celui ci serait situé en dehors du polygone puisque je vais effectuer une interpolation sur tous les autres points à partir du centroïde. mais je verrais ça plus tard si ça pose vraiment problème.
Sylvain K.
CapGemini
Hors ligne
#7 Thu 24 April 2008 23:15
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3197
- Site web
Re: centroïde d'un polygone (en 2D)
Bonjour
http://www.techno-science.net/?onglet=g … ition=1300
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#8 Fri 25 April 2008 09:45
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: centroïde d'un polygone (en 2D)
merci pour ce lien tres interessant meme tot le matin !
j'ai fait quelques test avec des regions en utilisant le centroide calcule par mapinfo lors de l'export en MIF/MID
x,y sont les coordonnes calculees par mapinfo et xcentroide et ycentroide sont les coordonnes que j'ai calcule via l'utilisation de l'algorithme se trouvant dans le lien un peu plus haut.
x 319908.70000000001
y 261777.89999999999
xCentroide 319851.08691597386
yCentroide 261509.23186665043
----------------------------------------------
x 314236.50000000000
y 254049.85000000001
xCentroide 314156.90129775653
yCentroide 254075.76859286305
il existe donc une legere difference mais il reste maintenant a verifier si cette difference est vraiment significative.
Sylvain K.
CapGemini
Hors ligne