#1 Sun 18 February 2007 15:58
assembler des objets proches
bonjour, encore un ptit souci (mapinfo 8.0)
A la suite d'une importation de ficheir autocad (traducteur universel), je récupère des blocs décomposés (par exemple en trois objets : un point, un polygone et une polyligne). Comment assembler automatiquement ces objets en s'appuyant sur la proximité de leur centroïdes ? j'ai tout essayé sans succès ((
merci
Hors ligne
#2 Sun 18 February 2007 19:15
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: assembler des objets proches
un conseil ne pas mélanger les objets de natures différentes dans une seule couche. Il faut garder les objets polygonaux dans une couche, les ponctuels dans une autre et les polylignes ou les lignes dans une autre. Si ses objets sont bien géoréférencés ils se superposeront naturellement
Hors ligne
#3 Mon 19 February 2007 13:40
Re: assembler des objets proches
merci, votre conseil est effectivement judicieux mais dans ce cas particulier, je souhaite garder les différents objets et les associer pour maintenir l'aspect et la taille du bloc initial. Je n'ai donc toujours rien trouvé la dessus, merci de m'aider. Tout ce que j'arrive à faire c'est une sélection d'objets par type (exemple : objectinfo(obj,1) = 5 permet de sélectionner tous les objets du type point). merci de m'aider
Dernière modification par smilles (Mon 19 February 2007 13:44)
Hors ligne
#4 Mon 19 February 2007 16:42
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: assembler des objets proches
Si tes tables ont la meme structure tu peux les ajouter les unes a la suite des autes. Dans MapInfo : Menu Table --> Ajouter tu sélectionnes une de tes tables que tu rajoutes sur l'autre et tu recommences. Il existe un outil MBX qui permet de rajouter les tables les unes à la suite des autres en une seule opération, mais je ne me rappelle plus du nom du MBX
Hors ligne
#5 Tue 20 February 2007 09:57
Re: assembler des objets proches
Je ne cherche pas à les ajouter dans une table mais à assembler les objets ayant même centre ou centroïde pour recréer un objet complexe comme un bloc AutoCAD par exemple. J'ai essayé d'exporter un objet AutoCAD en DXF avec conservation des blocs en objets multipolygonaux mis cela ne fonctionne pas : mapinfo sépare tous les objets.
Hors ligne
#6 Tue 20 February 2007 13:53
- christophe_barbier
- Participant occasionnel
- Date d'inscription: 7 Apr 2006
- Messages: 22
Re: assembler des objets proches
Bonjour,
Si vraiment les objets que vous cherchez à assembler ont le même centroïde, on pourrait toujours bricoler en les fusionnant d'après la coordonnée de leur centroïde.
En utilisant l'équivalent de la fonction "Table --> Fusionner des objets depuis une colonne..."
Pour cela, il faut d'abord insérer toutes les coordonnées des centroides dans un nouveau champ (de type Caractère).
Et il faut créer une nouvelle table vide qui récupèrera les objets fusionnés.
Voici ce que donnerait le script MapBasic:
------------------------------------------------------------------------------------------------------
Alter Table "source" (Add COORDS_CENTROID Char(30))
Update temp Set COORDS_CENTROID = Str$(Round(centroidX(obj),0.1))+";"+Str$(Round(centroidY(obj),0.1))
Create Object As Union From "source" Into Table "result" Group by COORDS_CENTROID
------------------------------------------------------------------------------------------------------
Copiez-collez ces 3 lignes dans votre fenêtre MapBasic, remplacer les noms de table, surlignez toutes les lignes et appuyez sur <ENTER>
Cordialement,
Christophe Barbier, I2G
Hors ligne