#1 Mon 19 November 2012 15:20
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Recherch de polygones carrés
Bonjour,
Petit problème de géométrie : savez-vous comment procéder pour sélectionner uniquement les polygones carrés dans une table MapInfo ?
Merci pour vos réponses !
Marc
Dernière modification par mstcx (Mon 19 November 2012 15:22)
Hors ligne
#2 Mon 19 November 2012 15:35
Re: Recherch de polygones carrés
Bonjour,
Sans avoir la réponse, je pense qu'il faut récupérer les coordonnées successives X Y de chaque sommet (PT1, PT2, PT3, PT4). Ensuite, il faudrait coder une formule qui vérifie les points suivants : longueur des côtés égale (via des calculs sur les X/Y consécutifs), angle des côté = 90° (via des calculs sur les coté consécutifs aussi), lignes qui en se croisent pas (vérification par calcul de l'intersection qui doit être égal à un sommet), nombre de côté =4
Bon courage
Hors ligne
#3 Mon 19 November 2012 16:05
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: Recherch de polygones carrés
Bonjour,
Sinon pour effectuer un premier tri si votre table contient plusieurs sortes de géométrie:
Code:
Select * from TABLE where str$(obj)="rectangle" into selection
Et pour suivre la piste de Robin ce sujet http://georezo.net/forum/viewtopic.php?id=41423
Bon courage.
Sylvain
Dernière modification par sylvain poupard (Mon 19 November 2012 16:46)
Hors ligne
#4 Mon 19 November 2012 16:47
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Recherch de polygones carrés
Bonjour,
La géométrie pour les surfaces fermée dans mapinfo implique un point de départ = point d'arrivé. Donc on commence par rechercher tous les polygones à 5 points. on peut voir un carré comme un rectangle avec des cotés consécutifs identiques, ou avec des diagonales se croisant en leur milieu en formant un angle droit... Bon pour éviter de calculer les angles, on vérifie que les vecteurs Pt1-Pt2 sont égaux aux vecteurs Pt4-Pt3. ensuite, on vérifie bien que les diagonales ont la même longueur, et on vérifie que 2 cotés consécutif ont la même longueur...
Enfin bref pour la méthode on a le choix, soit en commençant par chercher si le polygone est un rectangle, ou un losange, et de vérifier.
Prenez le temps de regarder l'accès aux données des objets pour accéder aux informations nécessaires...
bonne chance
Hors ligne
#5 Mon 19 November 2012 17:35
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Re: Recherch de polygones carrés
Bonsoir,
Merci pour vos réponses.
Je pensais créer une couche de buffers carré à partir du centroïde des polygones et voir ceux qui se superposaient.
Mais la notion de buffers carrés semble échapper à MI.
Marc
Hors ligne
#6 Tue 20 November 2012 09:14
Re: Recherch de polygones carrés
Bon pour éviter de calculer les angles, on vérifie que les vecteurs Pt1-Pt2 sont égaux aux vecteurs Pt4-Pt3.
Arf, évidemment. Beaucoup mieux que ma solution
On peut aussi faire le produit scalaire des vecteurs Pt1-Pt3 et Pt2-Pt4 pour contrôler la perpendiculaire au centre (d'après mes souvenirs..).
Hors ligne
#7 Tue 20 November 2012 11:14
- nicoboud
- Membre
- Lieu: Nantes
- Date d'inscription: 12 Oct 2007
- Messages: 860
Re: Recherch de polygones carrés
Bonjour,
Bonsoir,
Je pensais créer une couche de buffers carré à partir du centroïde des polygones et voir ceux qui se superposaient.
Mais la notion de buffers carrés semble échapper à MI.
Non non, cela ne lui échappe pas !! l'astuce consiste à spécifier 4 segments par cercle pour le lissage (3 segments si voulez des triangles, 5 pour des pentagones, etc.)
... sauf que les carrés créés n'auront probablement pas la même orientation que les votres.
Vos carrés sont des objets "polygones" ou des objets "rectangle" ? si la réponse est la deuxième, il est possible de ne sélectionner que les objets de type "rectangle" (voir ici), ce qui ferait un premier tri. Ensuite, ce type d'objet n'est pas défini de la même manière que les polygones, donc les calculs pour voir si ils sont carrés sont différents (définition par rapport au centroïde).
Nicolas.
Dernière modification par nicoboud (Tue 20 November 2012 11:19)
Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS
Hors ligne