Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Sun 18 February 2007 15:58

smilles
Participant actif
Lieu: valbonne
Date d'inscription: 13 Feb 2007
Messages: 59
Site web

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

smilles
Participant actif
Lieu: valbonne
Date d'inscription: 13 Feb 2007
Messages: 59
Site web

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

smilles
Participant actif
Lieu: valbonne
Date d'inscription: 13 Feb 2007
Messages: 59
Site web

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

 

#7 Wed 21 February 2007 07:21

smilles
Participant actif
Lieu: valbonne
Date d'inscription: 13 Feb 2007
Messages: 59
Site web

Re: assembler des objets proches

merci ! effectivement cela fonctionne et permet de contourner la difficulté de ne pas pouvoir faire de boucle sur les objets en ligne de commande Mapbasic.

Hors ligne

 

Pied de page des forums

Powered by FluxBB