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 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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 smile

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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  smile
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,

mstcx a écrit:

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.  sad

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

 

Pied de page des forums

Powered by FluxBB