#1 Thu 23 December 2004 12:58
- Florent Luquet
- Invité
Algorithme d'intersection de polygones
De: Luquet Florent
Bonjour,
Intervenant plus frequemment sur les forums techniques, je me permets de poster ce mail en esperant trouver un peu d'aide a mes interrogations.
Travaillant sur une appli metier faisant reference a l'information geographique, je cherche a connaitre la surface d'intersection de deux polygones. (Attention je n'utilise aucun activeX du type MapObject ou MapX (ca serait trop facile) ni de SIG).
Je dispose seulement de deux tables renfermant les coordonnees hierarchisees du polygone A et du polygone B et de nombreuses ligne sde codes pour y arriver.
Grace au equation de droite, j'arrive a trouver la position des points d'intersections mais la les difficultes se corsent au moment d'estimer la surface de l'intersection.
Je suis preneur de toutes aides (liens, conseils...)
Vous en remerciant d'avance.
Florent LUQUET
Etudes cartographiques et developpements metiers en SIG
#2 Thu 23 December 2004 12:58
- Michel GOULAS
- Invité
Re: Algorithme d'intersection de polygones
Si on dispose des coordonnees x(i) y(i) des n sommets du polygone intersection, l'aire peut etre calculee par iteration :
2A = Somme[(y(i)-y(i-1))(x(i)+x(i-1))]
pour i = 1 -> n (les sommets 0 et n etant confondus)
C'est une application de la formule de Green qui permet de passer d'une somme sur une frontiere a une somme sur une surface.
(attention il faut tourner dans le sens trigonometrique)
On peut calculer ainsi le centre de gravite, les moments d'inertie, les axes de plus grande et plus petite inertie passant par le centre de gravite...
Michel GOULAS
Mediapost
Responsable Recherche et Developpement
#3 Thu 23 December 2004 12:58
- Laurent Jégou
- Invité
Re: Algorithme d'intersection de polygones
Bonjour, j'ai rencontre ce probleme pour la creation de mon editeur de
fonds, et j'ai trouve la solution en partie sur le net ;
http://www.complex-a5.ru/polyboolean/downloads.html
http://www.cs.man.ac.uk/aig/staff/alan/software/
Mais aussi dans un ouvrage :
http://www.amazon.fr/exec/obidos/ASIN/3540656200
Java2D propose ce type de fonctions directement, ainsi, je crois que la
derniere (ou la prochaine) version de la bibliotheque GDI+ (.Net).
Bon courage,
--
--
Laurent Jegou
IGE Cartographe
UTM - Dept. Geographie
31058 TOULOUSE Cedex 9 - 05.61.50.43.89
#4 Fri 24 December 2004 18:44
- Benoit Ogier
- Invité
Re: Algorithme d'intersection de polygones
Bonjour,
vous pouvez aussi regarder du cote de la librairie C++ GEOS
(OpenSource), qui semble etre un portage des fonctions java2D.
http://geos.refractions.net/
Pour info, geos est utilise en option dans PostGis.
B. Ogier