Bonjour,
C'est une demande peut être un peu particulière, et veuillez m'excuser si elle ne colle pas à 100% au theme du forum.
Je met en place un système de cartographie sur internet (Mapserver).
J'ai écrit un petit script qui permet aux utilisateurs de dessiner un polygone.
Je voudrais calculer l'aire ce polygone. Mais j'aurai besoin d'un coup de main car je n'ai pas les informations pour utiliser les formules que j'ai trouvé et plutôt faites pour des polygones simples.
Le nombre de coté du polygone peut varier (entre 3 et ...).
J'utilise des coordonnées longitude latitude qui fonctionne comme un repère avec 180, -180 pour l'absice et 90, -90 pour l'ordonnée.
ainsi mon polygon pourrait être définit par les points suivants:
1 -82.0571428571 10.24285736
2 -83.1714285714 6.042857346
3 -73.5714285714 4.24285734
4 -72.8 12.38571451
Merci d'avance pour vos conseils
julien
Pas sûr qu'il existe une méthode miracle ...
Si le polygone est convexe, pas de problème, c'est une réunion de triangles
Sinon, découper judicieusement le polygone en un ou plusieurs polygones convexes.
Je doute que cette réponse te convienne ... mais bon l'essentiel c'est de participer.
Michel
Merci pour vos réponses,
j'ai trouvé une formule qui perment de réduire le polygone en triangle et d'additionner leur surface respective.
n
1/2 ∑ (xi, yi) × (xi+1, yi+1) ,
i = 1
voilà le site : http://www.mathrec.org/solutions.html
dans la section "Dividing the Polygon".
Je l'ai donc appliqué mais, sous réserve de l'avoir fait comme il faut, je ne sais pas quelle est l'unité utilisé puisque j'utilise des coordonnées longitude et latitude.
Bonsoir. Vous pouvez peut-être considérer qu'une différence de un degré de latitude correspond à 111 kilomètres.
Pour la longitude, à l'équateur, un degré de longitude correspond à 111 kilomètres; donc à la latitude + 10°, un degré de longitude correspondra à (environ): 111 km x cos( 10) ~ 109 km .
Ce qui donnerait pour les aires à calculer : 111 x 109 = 12 100 km² par " degrés carrés " autour de ce point (Long. -80°; latitude +10°)
Mais tout cela est bien loin de la précision donnée par vos coordonnées géographiques (10 décimales) ! J-L
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :