Je voudrais calculer l'aire d'un polygone que je reçois d'une trace GPS. Donc, fondamentalement, je stocke la position de l'appareil/utilisateur après une période de temps, disons 5 secondes. En dehors de ce tracé, je voudrais calculer la zone dans laquelle se trouve la piste. Pour les polygones convexes cela ne devrait pas poser de problème car je suppose que je dois juste calculer l'aire des triangles (quand chaque triangle a un point de départ dans le premier point). Fondamentalement, comme cela est montré dans l'image de gauche. (Polygone jaune est le polygone fait des GPS-Emplacements, les lignes sombres montrent des triangles pour le calcul de surface, jaune clair est la zone désirée)Calculer l'aire à partir de coordonnées géographiques sur des polygones non convexes
Mais la nuit dernière j'ai découvert un backdraw sur cette idée qui est quand le polygone n'est pas convexe. Non seulement une partie située à l'extérieur du polygone (côté supérieur gauche) sera calculée dans la zone, mais une partie du polygone sera mesurée plus d'une fois (voir les triangles qui se chevauchent en bas à gauche).
Est-ce que quelqu'un a une idée sur la façon dont je peux y parvenir? Je veux dire qu'il est encore difficile de savoir quelle zone devrait être calculée si mon polygone est en forme de S ... (mais je pourrais vivre avec ça ... tant que ça obtient un résultat assez juste sur les polygones qui sont (presque)
Mon autre idée de calcul de la coque convexe du polygone et de faire le calcul de surface ne fonctionnera pas bien non plus si le polygone est non-convexe, alors je ne compterais pas certaines zones plus d'une fois mais comme dans l'image de droite, je calculais une zone plus grande que c'est
si quelqu'un pouvait me aider Merci
Je suggère de diviser le polygone en plusieurs polygones convexes, cette zone serait facilement calculée. Cependant, je ne peux pas penser à un bon moyen de le diviser. –
Si vous descendez la route de séparation, vous pouvez envisager [triangulation delaunay] (http: //en.wikipedia.org/wiki/Delaunay_triangulation). – fmark
Note: votre approche est presque la même que celle de Howard. Vous n'utilisez simplement pas de zone négative pour les segments qui "backtrack". –