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

Printemps des cartes 2024

#1 Sun 03 April 2011 21:57

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Extraction de données d'objets

Bonsoir,

Est ce qu'il y a un moyen d'extraire des données d'objets de la même maniére qu'on extrait les données d'attributs dans un fichier excel?

Merci pour vos réponses


CADIF

Hors ligne

 

#2 Mon 04 April 2011 09:09

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello

Non malheureusement Autodesk ne fournit aucune possibilite simple d'extraire les donnees d'objet (Object Data) de MAP (ou CIVIL) 
AUTRE que faire une requete en mode "Rapport" sur le/les dessin(s) actif(s) du groupe de dessins de MAP (ou CIVIL) !

Sniff, sniff, GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#3 Mon 04 April 2011 11:36

nath999
Participant actif
Date d'inscription: 24 May 2007
Messages: 56

Re: Extraction de données d'objets

Bonjour

il est possible d'extraire les données D'objets et de les convertir en base de donnée access (qui peut être relue sous excel) au moyen de la fonction "convertir les données d'objet en liens de base de données".
Sinon autre truc un export des données concernées au format shape, car le format shape stocke la donnée au format DBF qui peut aussi etre relu sous Excel.

Bonne réception

Hors ligne

 

#4 Mon 04 April 2011 14:36

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Re: Extraction de données d'objets

Bonjour,

Voila qui redonne le sourire.

J'étais au bord des larmes après la réponse de Patrice.

Q'uen pense t-il d'ailleurs?

Le fait de pouvoir récupérer ces données sous access me va très bien.
On peut toujours faire une Query sous excel pour lire les données.

Par ailleurs, s'il était possible de générer des liens directement des objets eux mêmes vers access,
ce serait le TOP!

Merci pour tout

Hors ligne

 

#5 Mon 04 April 2011 15:17

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 275

Re: Extraction de données d'objets

Avec la solution "convertir les données d'objet en liens de base de données" tu peux créer les liens avec la base access si mes souvenirs sont bon.

a+

Hors ligne

 

#6 Mon 04 April 2011 15:29

nath999
Participant actif
Date d'inscription: 24 May 2007
Messages: 56

Re: Extraction de données d'objets

re bonjour

je confirme , la fonction "convertir des données d'objet en liens de base de données " crée non seulement la base access à partir des données d'objet ( une table à la fois) mais elle crée bien un lien entre  la base et l'objet .

Hors ligne

 

#7 Mon 04 April 2011 16:23

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Re: Extraction de données d'objets

Formidable!

Seulement je découvre que les versions 64bits d'autocad ne prennent pas en compte les pilotes odbc pour access!

Je vais néamoins tester ces infos sur un autre poste!

Merci encore.

Hors ligne

 

#8 Mon 04 April 2011 17:17

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello

Un MAPEXPORT au format SHP est correct et en effet on obtient toutes les Infos attributaires dans le DBF (le graphique etant dans le SHP)

Mais on peut faire aussi un MAPEXPORT au format MIF-MID et le fameux fichier MID (fichier texte) ne contient que les donnees attributaires en texte ce qui est parfois aussi interessant !

Convertir les donnees d'objets de MAP en lien ASE (Commande: _MAPOD2ASE) est aussi valable mais c un peu plus subtil !
mais je crains que cela ne soit pas possible sur un Win 64 bits (XP PRO, Vista, Seven) avec un AutoCAD MAP (ou CIVIL) 64 bits

Quoique peut etre que avec un Office 2010 64 bits, il soit peut etre possible de realiser cette bonne vieille manipulation mais bon je n'ai pas sous la main la config necessaire ... Donc si jamais qq'un peut repondre cela serait sympa !?

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#9 Mon 04 April 2011 18:31

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Re: Extraction de données d'objets

Re Hello

Je ne peux pas répondre aux questions 64bits.

Je n'ai qu'Autocad d'installé dans cette version.

Bye

Hors ligne

 

#10 Mon 04 April 2011 21:00

Gwenael Bachelot
Participant assidu
Lieu: Bureau Autodesk : Paris 12ème
Date d'inscription: 5 Sep 2005
Messages: 608
Site web

Re: Extraction de données d'objets

Bonjour,

Patrice a écrit:

Convertir les donnees d'objets de MAP en lien ASE (Commande: _MAPOD2ASE) est aussi valable mais c un peu plus subtil !
mais je crains que cela ne soit pas possible sur un Win 64 bits (XP PRO, Vista, Seven) avec un AutoCAD MAP (ou CIVIL) 64 bits


J'ai testé avec Map 3D 2012 en x64 sur Seven x64, et cela fonctionne.


Patrice a écrit:

Quoique peut etre que avec un Office 2010 64 bits, il soit peut etre possible de realiser cette bonne vieille manipulation mais bon je n'ai pas sous la main la config necessaire ... Donc si jamais qq'un peut repondre cela serait sympa !?


Tout à fait, c'est bien une condition, comme sur ce thread..

Cordialement,
Gwenael

Hors ligne

 

#11 Tue 05 April 2011 09:08

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello Gwen

Merci pour la confirmation et le fameux lien / sujet que j'avais suivi mais completement oublie pour repondre :
http://www.microsoft.com/downloads/fr-f … b371ede16d

Cela implique d'avoir un Office 2010 64 bits sur son PC ce qui n'est pas forcement le cas de tout le monde !

Par contre peut etre que sur un Seven 64 avec un Office 32 bits (version 2010 ou 2007) par exemple et
le kit Access 64 redistribuable ("AccessDatabaseEngine_X64.exe") , cela pourrait peut fonctionner ??

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#12 Tue 05 April 2011 17:14

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Bonjour,

Pour ceux qui voudrait passer par un CSV lisible sous Excel, je peux vous proposer ce qui suit:

Code:

(defun c:OD2CSV ( / js dxf_cod mod_sel n lremov file_name cle f_open key_sep str_sep oldim lst_tabl_def lst_def l_tag l_tod l_val)
  (princ "\nChoix d'un objet modèle pour le filtrage: ")
  (while
    (null
      (setq js
        (ssget "_+.:E:S"
          (list
            '(0 . "*")
            (cons 67 (if (eq (getvar "CVPORT") 1) 1 0))
            (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model"))
          )
        )
      )
    )
    (princ "\nCe n'est pas un objet valable pour cette fonction!")
  )
  (vl-load-com)
  (setq dxf_cod (entget (ssname js 0)))
  (foreach m (foreach n dxf_cod (if (not (member (car n) '(0 67 410 8 6 62 48 420 70))) (setq lremov (cons (car n) lremov))))
    (setq dxf_cod (vl-remove (assoc m dxf_cod) dxf_cod))
  )
  (initget "Unique Tout Manuel _Single All Manual")
  (if (eq (setq mod_sel (getkword "\nMode de sélection filtrée, choix [Unique/Tout/Manuel]<Manuel>: ")) "Single")
    (setq n -1)
    (if (eq mod_sel "All")
        (setq js (ssget "_X" dxf_cod) n -1)
        (setq js (ssget dxf_cod) n -1)
    )
  )
  (setq file_name (getfiled "Nom du fichier a créer ?: " (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 3)) "csv") "csv" 37))
  (if (null file_name) (exit))
  (if (findfile file_name)
    (progn
      (prompt "\nFichier éxiste déjà!")
      (initget "Ajoute Remplace annUler _Add Replace Undo")
      (setq cle
        (getkword "\nDonnées dans fichier? [Ajouter/Remplacer/annUler] <R>: ")
      )
      (cond
        ((eq cle "Add")
          (setq cle "a")
        )
        ((or (eq cle "Replace") (eq cle ()))
          (setq cle "w")
        )
        (T (exit))
      )
      (setq f_open (open file_name cle))
    )
    (setq f_open (open file_name "w"))
  )
  (initget "Espace Virgule Point-virgule Tabulation _SPace Comma SEmicolon Tabulation")
  (setq key_sep (getkword "\nSéparateur [Espace/Virgule/Point-virgule/Tabulation]? <Point-virgule>: "))
  (cond
    ((eq key_sep "SPpace") (setq str_sep " "))
    ((eq key_sep "Comma") (setq str_sep ","))
    ((eq key_sep "Tabulation") (setq str_sep "\t"))
    (T (setq str_sep ";"))
  )
  (setq oldim (getvar "dimzin"))
  (setvar "dimzin" 0)
  (repeat (sslength js)
    (setq lst_def nil l_tag nil l_tod nil l_val nil)
    (if (setq lst_tabl_def (mapcar 'ade_odtabledefn (ade_odgettables (setq ename (ssname js (setq n (1+ n)))))))
      (foreach n lst_tabl_def
        (foreach el n
          (if (listp (cdr el))
            (foreach sel (cdr el)
              (foreach msel sel
                (if (eq (car msel) "ColName")
                  (setq lst_def (cons (cdr msel) (cons (ade_odgetfield ename (cdar n) (cdr msel) 0) lst_def)))
                  (if (eq (car msel) "ColDesc") (setq lst_def (cons (cdr msel) lst_def)))
                )
              )
            )
          )
          (while lst_def
            (repeat 3
              (setq
                l_tag (cons (car lst_def) l_tag)
                l_tod (cons (cadr lst_def) l_tod)
                l_val (cons (caddr lst_def) l_val)
                lst_def (cdddr lst_def)
              )
            )
          )
          (if (and l_tag l_tod l_val)
            (progn
              (write-line (apply 'strcat (mapcar '(lambda (x) (strcat x str_sep)) l_tag)) f_open)
              (write-line (apply 'strcat (mapcar '(lambda (x) (strcat x str_sep)) l_tod)) f_open)
              (write-line (apply 'strcat (mapcar '(lambda (x) (strcat (cond ((eq (type x) 'INT) (itoa x)) ((eq (type x) 'REAL) (rtos x 2)) (T x)) str_sep)) l_val)) f_open)
              (setq l_tag nil l_tod nil l_val nil)
            )
          )
        )
      )
    )
  )
  (close f_open)
  (setvar "dimzin" oldim)
  (prin1)
)

Hors ligne

 

#13 Tue 05 April 2011 18:31

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello Bruno

Tout d'abord MERCI beaucoup pour ton aide sur ce forum !
Je sens que cette routine va faire plaisir a de nombreuses personnes !?

Desole mais avec mon MAP 2011 32 bits, j'obtiens toujours l'erreur :

Séparateur [Espace/Virgule/Point-virgule/Tabulation]? <Point-virgule>: V
; erreur: type d'argument incorrect: stringp nil

Donc soit j'ai loupe mon copier / coller, soit il y a un bug !?

GeoBye, Pat

PS1: ainsi on aura bientot un moyen beton de recuperer le contenu des donnees d'objet de MAP
dans un simple fichier CSV lisible par Excel, Notepad, etc ...


(Autodesk Expert Elite Team)

Hors ligne

 

#14 Wed 06 April 2011 08:35

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Salut Patrice,

Desole mais avec mon MAP 2011 32 bits, j'obtiens toujours l'erreur :

Séparateur [Espace/Virgule/Point-virgule/Tabulation]? <Point-virgule>: V
; erreur: type d'argument incorrect: stringp nil


Je n'ai pas ce problème avec Map2009 & Covadis sous Xp 32.

Tout ce que que je peux te suggérer (puisque que tu veux une virgule comme séparateur) et de remplacer dans le code:

Code:

  (initget "Espace Virgule Point-virgule Tabulation _SPace Comma SEmicolon Tabulation")
  (setq key_sep (getkword "\nSéparateur [Espace/Virgule/Point-virgule/Tabulation]? <Point-virgule>: "))
  (cond
    ((eq key_sep "SPpace") (setq str_sep " "))
    ((eq key_sep "Comma") (setq str_sep ","))
    ((eq key_sep "Tabulation") (setq str_sep "\t"))
    (T (setq str_sep ";"))
  )

Par simplement

Code:

  (setq str_sep ",")

et de refaire l'essai.
Autrement il faudrait voir si d'autres personnes ont le même problème avec des versions supérieur à 2009 sous 32 ou 64.

Tu peux déjà tester à part le code que je t'ai fait enlever, et me dire ce que contiennent les variables "key_sep" et "str_sep" après exécution...

Hors ligne

 

#15 Wed 06 April 2011 09:23

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello Bruno

NON j'ai le meme probleme avec les deux versions de ta routine sur MAP 2009 / 2010 / 2011 32 bits !

Donc soit j'ai un DWG de test particulierement vicieux, soit le copier / coller pose un probleme !?

SVP peux tu nous mettre ta routine operationnelle en fichier attache ...

Merci d'avance, GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#16 Wed 06 April 2011 10:38

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Donc soit j'ai un DWG de test particulierement vicieux, soit le copier / coller pose un probleme !?


Le problème ne vient pas à priori du DWG, ni du copier/coller (J'ai testé directement depuis le site en collant directement en ligne de commande)

Je veux bien attacher le fichier (séparateur fixé à la ","), mais je doute du résultat...


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#17 Wed 06 April 2011 11:48

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello Bruno

SORRY, SORRY ta routine OD2CSV fonctionne !
En fait le probleme vient de MON DWG de test qui semble un peu special !

Pourquoi je n'en ai pas la moindre idee ?

Donc je le joins a ce message pour evaluation ...

Encore Merci pour ton aide !

GeoBye, Pat


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

(Autodesk Expert Elite Team)

Hors ligne

 

#18 Wed 06 April 2011 16:57

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

En fait le probleme vient de MON DWG de test qui semble un peu special !


Tu n'as pas à être désolé, j'aurais du envisager ces cas de figures pour un code plus fiable (champs non-renseignés).

J'espère que celui-ci sera plus robuste, ton DWG de test m'a bien aidé pour cette tache. wink

NB: J'ai rajouté une remarque dans le code (à regarder). En effet si les entités ont plusieurs applications d'OD attachées (j'ai fait le test) on ne sait plus dans le CSV à quoi sont rattachées les données.

Dernière modification par bruno v. (Wed 06 April 2011 17:04)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#19 Wed 06 April 2011 18:21

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello Bruno

Youpee ca marche bien maintenant ...

Le DWG de test est en fait un dessin de cadastre dont la source est de l'EDIGEO
et les champs de tables de donnees d'objet MAP ne sont pas toujours remplis
et en effet c'etait LE probleme avec ta 1ere version de routine !

Maintenant il faut que je reflechisse a un autre probleme : comment "rapprocher" le fichier CSV du graphique d'origine ?

1ere idee :
- Poser une 1ere question et mettre dans le CSV en plus (si on en fait la demande) au moins 3 champs supplementaires :
le calque de l'objet (layer), le type d'objet (Line, Arc, Circe, Pline, Insert, Point ,Text, MText, Hatch, DimAligned, etc), le code de handle

Voire meme poser une 2eme question avec 3 autres champs possibles :
- 3 autres champs facultatifs : couleur (Color), type de ligne (linetype) epaisseur de ligne (lineweight)

Ainsi on pourra assez facilement rapprocher ulterieurement le CSV du graphique AutoCAD ...

2eme idee encore plus delirante - (avec queston optionnelle) :
Pour les Polylignes closes, Splines, Regions, Cercles
- Proposer 2 autres champs : Aire (Area), Perimetre (Length)

Pour le lineaire : ligne, arc, polyligne non close - (avec queston optionnelle)
- proposer le champ Perimetre (Length)

etc ...

Qu'en penses tu ?

Encore Merci pour ton aide precieuse, GeoBye, Pat

PS: avec une excellente routine ZH (de GC qui zoome sur les entites) depuis les codes de handle
on pourrait ainsi apres coup, se promener sur le dessin depuis le CSV en tapant a la main les codes de handle interessants !


(Autodesk Expert Elite Team)

Hors ligne

 

#20 Wed 06 April 2011 23:34

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Ravi que ça fonctionne !

Qu'en penses tu ?


Je pense que c'est faisable à priori, le problème et que je ne peux faire du développement avec Map (et quelque tests compris) qu'au boulot, donc c'est seulement pendant des périodes peu chargées.

Demain, quinze jours, un mois .... ?

Hors ligne

 

#21 Fri 08 April 2011 19:38

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Patrice,

Si tu veux jouer le testeur fou je te propose le fichier joint.
Je pense que ça le fait, mais je n'ai pas eu trop le temps de tester, et surtout de vérifier les résultats.

Il y a une boite de dialogue générée temporairement dans TEMP, donc pas besoin de placer le fichier lisp dans un dossier de recherche pour qu'il fonctionne.
Les options que tu désires sont juste à cocher/décocher.

Dernière modification par bruno v. (Thu 14 April 2011 15:51)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#22 Thu 14 April 2011 11:30

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 275

Re: Extraction de données d'objets

Bonjour,

Merci M. Bruno V.
Avant toute chose, très beau travail que vous avez fait là.

Sur un AutoCAD MAP 2009, j'ai testé la routine OD&PROP2CSV.lsp, la case de dialogue fonctionne, l'export aussi.

En lisant sur un éditeur Notepad++ (juste pour contrôler le csv généré qui se trouve en pièce-jointe) je me suis aperçu qu'en ayant coché Longueur de l'objet, le résultat donne la valeur 0.00 alors que mes données sont issues de lwpolylignes qui sont des filaires de voies et donc supérieur à 1 mètre.

Sinon, le nom de la table de données d'objets est décalée par rapport à la ligne correspondante.

Si l'export est prévu pour créer une base de données, je pense qu'il n'est pas nécessaire de répéter la ligne des champs à chaque enregistrement.
Une ligne de champs sur la première ligne est le minimum et le tour est joué.

Voilà et merci encore.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#23 Thu 14 April 2011 11:41

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 275

Re: Extraction de données d'objets

Pat,

Je vois aussi ou tu veux en venir,

Je verrai bien aussi cet utilitaire de consultation des objets avec zoom intégré.

Un peu comme l'image ci-jointe. en ayant que les fonctions zoom et export de données d'objets.

Ça serait magnifique.

Merci d'avance :-)

Fab


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#24 Thu 14 April 2011 16:06

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

Fabcad,

Tout d'abord, merci du retour.

je me suis aperçu qu'en ayant coché Longueur de l'objet, le résultat donne la valeur 0.00


Exact, une mauvaise affectation de variable de ma part, j'ai mis le code à jour dans le post précédent.

Sinon, le nom de la table de données d'objets est décalée par rapport à la ligne correspondante.


Je l'ai bien observé sur ton CSV, mais je n'arrive pas à reproduire le même cas avec mes fichiers ayant des OD.

Si l'export est prévu pour créer une base de données, je pense qu'il n'est pas nécessaire de répéter la ligne des champs à chaque enregistrement.


Comme j'ai pus le dire dans un post précédent:

NB: J'ai rajouté une remarque dans le code (à regarder). En effet si les entités ont plusieurs applications d'OD attachées (j'ai fait le test) on ne sait plus dans le CSV à quoi sont rattachées les données.


Donc suivant l'utilisation que tu en as je te propose de mettre en REMarques (avec un ";" en début de ligne) les lignes signalées dans le code.

Une ligne de champs sur la première ligne est le minimum et le tour est joué.


Ça rejoint la question précédente, c'est faisable pour le cas que tu cites, mais je ne désire pas le faire à cause de la possibilité de plusieurs applications d'OD sur le même objet. Donc dans l'état, c'est tout ou rien suivant la mise en REMarque des lignes de codes.

Dernière modification par bruno v. (Thu 14 April 2011 16:07)

Hors ligne

 

#25 Thu 14 April 2011 16:49

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4741

Re: Extraction de données d'objets

Hello

Desole mais je suis surbooke en ce moment mais je vais tester intensement bientot !

Non seulement on peut avoir N tables OD associees sur un objet graphique (j'ai qq exemples de ce genre)

MAIS EN PLUS on peut aussi avoir N records/enregistrements de la MEME table OD sur un objet graphique (c hyper rarissime)
donc on ne traite pas ce cas hyper rarissime (ou du moins on recupere seulement le 1er record)

GeoBye, Pat

PS: SVP ne pas oublier les fameux MPOLYGONs (Entites surfaciques) !


(Autodesk Expert Elite Team)

Hors ligne

 

#26 Thu 14 April 2011 16:54

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 275

Re: Extraction de données d'objets

Merci Bruno pour les informations complémentaires, vraiment efficace pour créer des listings.

Bonne journée,

A+

Hors ligne

 

#27 Sun 17 April 2011 11:42

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Re: Extraction de données d'objets

Un grand chapeau à tous les contributeurs de ce forum sur les extractions de données.
La qualité des informations est excellente.

Merci à tous.

Une petite question brulante pour relancer le débat!!!

Est-il possible de faire l'inverse?

A savoir modifier les données d'objets dans map à partir d'un fichier externe. dans le style "ATTIN"

Hors ligne

 

#28 Mon 18 April 2011 17:43

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: Extraction de données d'objets

CADIF a écrit:

Une petite question brulante pour relancer le débat!!!

Est-il possible de faire l'inverse?

A savoir modifier les données d'objets dans map à partir d'un fichier externe. dans le style "ATTIN"


On peut le faire, mais je me vois mal écrire un truc générique qui pourrait fonctionner pour tout le monde.
Seule solution mettre les mains dans le cambouis.

Je veux bien donner les fichiers qui m'ont servi à constituer ma base, cela peut être un point de départ pour ceux qui le veulent, à faire leur propre adaptation.

Ma problématique était que j'avais récupéré le fichier en XLS de l'INSEE concernant la population de mon département (339 communes).
J'ai donc commencé par mettre le fichier de la population  en CSV
J'ai lancé mon lisp et il a fallu que je désigne (pour la 1ere fois, je n'avais pas d'autre moyen à moins de faire un lisp compliqué, en sachant que cette procédure n'allait me servir qu'une seule fois...) un à un les MPOLYGON concernés.

J'ai trouvé par la suite d'autre données INSEE que j'ai voulu compléter aux OD existantes
J'ai donc construit un lisp qui m'a permis de compléter ma table en se servant déjà des données entrées pour identifier mes mpolygon.

En pièces jointes les fichiers qui m'ont servis...
Juste pour tester vous pouvez dessiner quelque MPOLYGON dans un dessin vierge (pas la peine d'en faire 339, vous ferez "Esc" dans la procédure) wink
Lancez le lisp population2od.lsp en AYANT ADAPTE LE CHEMIN DU CSV dans celui-ci
Idem pour le fichier read_fiel-map.lsp

Si ces codes m'ont pris une journée ou deux d'écriture et de mise au point, ils m'ont épargné une saisie longue et très fastidieuse.
Voilà pour ceux qui se sentent d'attaque à plonger dans l'adaptation. (Ca peu sembler hard, mais que de temps gagné pour aller sur les forums) :p


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#29 Mon 25 April 2011 04:12

CADIF
Participant occasionnel
Date d'inscription: 29 Mar 2011
Messages: 25

Re: Extraction de données d'objets

Hello

Accaparé par d'autres tâches ingrates, j'ai oublié de répondre.

J'avais suggéré de renversé la procédure de CSV vers OD en plaisantant car
j'imaginais que ce n'était pas simple.
Bruno y a répondu aussitôt.

Je ne m'attendais pas à cela.

Encore une fois, Bruno Brille avec un grand "B"

Hors ligne

 

#30 Tue 17 July 2012 12:30

GAILLOT Alexis
Participant actif
Lieu: REMIREMONT
Date d'inscription: 26 Mar 2009
Messages: 53

Re: Extraction de données d'objets

Bonjour.
S'il s'agit d'extraire les données d'objet d'un fichier DWG avec AutoCad MAP, il y a possibilité d'associer une source de données, par exemple un fichier Excel, par l'explorateur de carte, par un clic droit sur "Sources de données".
Autocad Map va créer lui même la source de données ODBC. Ensuite, avec la commande MAPOD2ASE, il est possible de convertir les données d'objet vers la source de données (ici un fichier Excel), et de faire un lien automatique entre les objets du dessin et les enregistrements de la source de données. Tout cela marche bien.
Seul bémol : je ne parviens pas à ouvrir la table, sous AutocadMap, en mode modification, mais uniquement en lecture seule.
Pourtant, en vérifiant la config de ma source de données ODBC (créée par AcadMap) par le panneau de configuration, la case à cocher lecture seule est bien décochée. De plus, en vérifiant sous AutocadMap, cette fois, les "Propriétés des liaisons de données", j'ai coché dans les autorisations d'accès "ReadWrite".

Quelqu'un saurait-il comment ouvrir en modification une table de données liées (via une source de données ODBC) à un dessin DWG ?

Merci d'avance. Cordialement, Alexis GAILLOT

Hors ligne

 

Pied de page des forums

Powered by FluxBB