banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB