#1 Thu 06 March 2014 22:47
- Cherubin
- Participant assidu
- Lieu: NGC 1300
- Date d'inscription: 10 Jun 2008
- Messages: 273
Différencier des types de formes polygonales
J'ai un fichier cadastrale dont je dois différencier les différents types de formes (carré, triangle, rectangle, trapèze, autre).
Avec FME j'utilise le CircularityCalculator et je fais ensuite un TestFilter pour sortir les différentes formes selon la valeur calculé (carré ~ 0.75, rectangle ~ 0.65, etc).
C'est cependant boiteux mon affaire, beaucoup de formes ont des valeurs calculées bizarres.
Es-ce que vous auriez une idée meilleure que la mienne?
Merci!
Hors ligne
#2 Mon 10 March 2014 20:53
- Cherubin
- Participant assidu
- Lieu: NGC 1300
- Date d'inscription: 10 Jun 2008
- Messages: 273
Re: Différencier des types de formes polygonales
Pour mener à bien mes démarches, j'aimerais valider si un polygone possède des lignes parallèles et des angles droits.
Es-ce qu'il existe un transformer pour ça?
Merci
Hors ligne
#3 Wed 12 March 2014 17:13
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Différencier des types de formes polygonales
Aloha,
Pour les angles, je m'inspirerais de ce script python. En entrée, mes objets après la récupération des coordonnées sous forme de liste. Puis le script avec pour chacun des éléments de la liste, l'utilisation des duplets de coordonnées antérieur et postérieur. Un test de vérification pour trouver les angles droits.
Pour les lignes parallèles... je découperais les polygones en arc, tout en conservant un ID, puis, orientationExtractor pour déterminer leur azimuth. Le tout étant ensuite de tester si deux segments ayant un même ID ont des azimuth "compleméntaires".
De rien,
PS. Par contre je ne sais pas si ce sont les méthodes les moins gourmandes en ressource (beaucoup d'iteration, de tests).
Dernière modification par Pierre (Wed 12 March 2014 17:14)
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne