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

#1 Thu 14 April 2005 09:52

Daniel Bosse
Invité

Centroide de plusieurs lignes

De: Daniel
Bonjour a tous
J'ai un fichier Autocad ou il y a des points d'altitude.  À premiere vue, dans Autocad, il y a un point avec la cote d'altitude a cote.  L'importation dans Mapinfo se fait tres bien.  Sauf que le point vue dans Autocad se transforme en ligne dans Mapinfo.  Ce que je veux faire, c'est de creer un  fichier de point avec sa cote d'altitude.  En ce moment, je place un point manuellement sur le centre de chaque ligne et je lui attribu la cote d'altitude.  J'ai vu  que Jacques Paris a donne une petite recette pour voir un (1) centroide :create point into window frontwindow() (centroidX(selection.obj), centroidy(selection.obj)).
Ça fonctionne bien pour une ligne mais je voudrais le faire pour toutes les lignes en meme temps.  J'attribuerai la cote d'altitude manuellement s'il le faut.  Est-ce que quelqu'un a une idee pour completer celle de J. Paris?
Merci
Daniel

 

#2 Thu 14 April 2005 14:56

Roger Verdie
Invité

Re: Centroide de plusieurs lignes

Si tu en as la possibilite, il serait preferable de faire une extraction de
bloc sous autocad et ainsi de recuperer un fichier texte avec les
coordonnees de tes points. Ensuite tu n'as plus qu'a l'ouvrir dans MI et de
te servir de la commande creation de points.
En fait, tu as du traduire directement le dwg avec le traducteur universel
de MI, qui plutot de recuperer les XY des blocs autocad, explose ces blocs
en les transformant en polyligne. D'un point de vue rendu c'est pas mal,
mais du cote SIG, on est loin d'un resultat satisfaisant.

 

#3 Fri 15 April 2005 13:39

Jplartigau
Invité

Re: Centroide de plusieurs lignes

De: JPLARTIGAU
re Bonjour

Une bonne solution simple est:
avec la fenetre mapbasic
Update bidon1 Set obj = Centroid(obj)

ou bidon1 est la table de vos lignes
Attention vous perdez les objets ligne qui sont remplace par des points (symboles)
C'est gagner et a faire pour les tous types de tables

Pour mettre a jour le texte dans un champ de ce point la procedure est un peu plus longue

Premiere etape
dans la table bidon2 qui contient les textes il faut creer un champ texte INFO qui va recevoir la valeur du texte.
commande
update bidon2 set INFO=objectinfo(obj,3)

s'assurer que dans bidon1 iln'y ait que des textes sinon faire une selection avec le critere
str(obj)= TEXT  dans bidon2_t

puis faire dans fenetre umapbasic
update bidon2_t set INFO=objectinfo(obj,3)

Votre table textes contient un champ teste INFO qui est la duplication du texte (obj). Iol faut faire extremement attention a la mise en forme issue d'Autocad (style {%fArial ....)

Ensuite
faire des tempons de n metres autour de vos textes
et ensuite
faire
mettre a jour colonne
table a mettre a jour :bidon1
utiliser une table de : bidon2
jointure: un objet de bidon2 contient objet de
bidon1
ajouter une colonne et valeur de info
enreigstrer votre table bidon1
Ainsi vous vous retrouvez avec une table de points bidon1 avec l'info de l'altitude recuperer du texte graphique.

Pour connaitre les loupes faire une selection dans bidon1 dont info est vide.

L'affaire est dans le sac.

Bon soir

 

Pied de page des forums

Powered by FluxBB