#1 Mon 17 October 2005 10:54
- mpichaud13
- Juste Inscrit !
- Date d'inscription: 26 Sep 2005
- Messages: 8
creation automatique de rectangles
Salut,
j'ai un petit probleme dans mapinfo, je cherche a
creer de facon automatique des carres a partir d'un
point central. J'ai une liste de coordonnées X, Y et
je voudrais tracer des rectangles de 20 m de côté
ayant comme coordonnée centrale chaque coordonnée de
ma liste. Connaissez vous un mbx pouvant faire ca, les
carres etant orientes au nord.
Merci d'avance
Marc
Hors ligne
#2 Mon 17 October 2005 11:09
- lapipao
- Participant occasionnel
- Date d'inscription: 29 Sep 2005
- Messages: 10
Re: creation automatique de rectangles
Bonjour
très rapide avec les buffers: c'est une astuce qui fabrique des carrés
avec 1 sommet au Nord !
si on considère que le centre du carré est le centroid et les cotés font 20 mètres
Dans la fenetre Mapbasic :
update table_points set obj = Buffer(obj, 4, sqr((20)^2/2) , "m")
Ensuite reste plus qu' à faire pivoter les objets de 45° si tu veux pas de carrés orientés au nord
et ouala
Dernière modification par lapipao (Mon 17 October 2005 18:03)
Hors ligne
#3 Wed 19 October 2005 10:25
Re: creation automatique de rectangles
Faites une copie de votre table, puis dans la fenêtre MapBasic
Set coordsys table
Set distance units "m"
Et la pièce de résistance
Update table set obj=MBR(createline(centroidx(obj)-10,
centroidy(obj)-10, centroidx(obj)+10, centroidy(obj)+10))
On peut obtenir ainsi des " rectangles " de n'importe quelle proportion en
utilisant le demi côté horizontal pour les -+ des x, vertical pour les -+
des y.
Mais il risque d'y avoir des problèmes d'exactitude dans la superposition
des sommets (si deux points sont distants en x d'une largeur, en y d'une
hauteur). Ce n'est pas une façon fiable de transformer un semis régulier de
points en grille cellulaire " parfaite ", mais pour des points isolés cela
ne devrait soulever aucun problème
Jacques Paris
e-mail jacques@ paris-pc-gis.com
MapBasic-MapInfo support http://www.paris-pc-gis.com
Hors ligne