Résumé
Convertit un ensemble de fichiers DAO en classes d'entités et en tables de données à l'aide d'un schéma prédéfini et hautement normalisé en vue de conversions supplémentaires en données SIG.
La sortie est stockée dans une géodatabase intermédiaire. Vous pouvez ensuite utiliser cette géodatabase ou encore effectuer un post-traitement.
Utilisation
Cet outil va générer une géodatabase fichier (.GDB) par défaut, mais également une géodatabase personnelle (.MDB) si l'utilisateur définit l'extension appropriée.
Un ensemble constant de classes d’entités est généré dans le jeu de données d'entité en sortie spécifié. Ces classes d'entités contiennent la géométrie des lignes, des surfaces, des points et de l'étendue du document. Des classes d'entités points peuvent parfois être générées pour chaque nom de bloc ou de cellule unique.
Cet outil permet de créer une nouvelle géodatabase et n'ajoute pas d'éléments à une géodatabase existante.
Un post-traitement est nécessaire si vous devez réaliser des jointures des données ou des relations. La sortie est constituée de données issues des entrées DAO et aucune relation n'existe. Sa structure mise à plat permet un réassemblage adapté à vos besoins.
Le paramètre Fichiers en entrée permet d'ajouter différents types de données DAO (DGN, DWG, DXF) en une seule opération.
Des tables de propriétés DAO sont créées dans l'espace de travail en sortie. Ces tables normalisées peuvent être associées à l'aide de champs de clés, tels que le champ EntID qui se trouve également dans les classes d'entités créées par l'outil Importer DAO.
Si une table dans le jeu de données d'entité ou l'espace de travail en sortie porte le même nom qu'une table créée par l'outil Importer DAO, la table est supprimée et recréée.
L'outil Importer depuis DAO ne prend pas en charge la création de classes d'entités annotations.
Les tables de propriétés DAO sont accessibles depuis l'espace de travail en sortie dans un modèle ou script à l'aide de l'outil Sélectionner des données. De même, les classes d'entités générées à partir des données DAO sont accessibles à l'aide de l'outil Sélectionner des données dans le jeu de données d'entité en sortie.
Le texte DAO et les entités attributaires sont convertis en entités ponctuelles.
L'outil Importer depuis DAO ne peut pas générer une classe d'entités ArcSDE. Il crée une nouvelle géodatabase personnelle.
Si vous prévoyez de copier le champ DocPath dans la classe d'entités CadDoc ou le champ TextMemo dans la table TxtProp à partir de la géodatabase intermédiaire vers une géodatabase ArcSDE, vous devez prendre en compte certaines limitations. Le champ DocPath dans la classe d'entités CadDoc et le champ TextMemo dans la table TxtProp possèdent chacun un champ Memo qui est trop long pour s'intégrer dans une géodatabase ArcSDE. Pour en savoir plus sur les limitations de vos géodatabases ArcSDE, contactez votre administrateur système. Certaines parties des informations contenues dans ces champs sont dupliquées dans d'autres champs. Leur longueur étant moins importante, ces champs peuvent être déplacés vers une géodatabase ArcSDE. Le champ DocName contient des parties du champ DocPath et le champ TextValue contient des parties du champ TextMemo.
Cette fonction est généralement utilisée dans le processus de conversion des données DAO vers une géodatabase existante à l'aide d'une série d'autres fonctions de géotraitement dans un script ou un modèle ModelBuilder, et par conséquent, les données obtenues par cette fonction sont en principe temporaires.
Des tables normalisées sont générées dans l'espace de travail en sortie spécifié. Ces tables contiennent les attributs tabulaires des propriétés de la couche, des propriétés de texte, des propriétés d'entité, des attributs de bloc ou de cellule, des données Xdata ou des valeurs MSLink.
S'il existe un fichier de projection pour le fichier DAO en entrée, le paramètre de référence spatiale est automatiquement renseigné avec les informations des projections. Si plusieurs fichiers DAO sont utilisés en entrée, la référence spatiale est extraite du premier fichier DAO contenant un fichier de projection, dans la liste en entrée.
Si vous générez une référence spatiale par défaut pour la géodatabase intermédiaire, vous devez toujours utiliser le modèle par défaut d'étendue du fichier DAO comme base. Cela signifie que s'il existe des entités en dehors de l'étendue du champ DAO par défaut, elles peuvent être rejetées. Veillez à ce que le modèle doté de l'étendue la plus importante soit utilisé comme modèle par défaut dans un dessin DGN. Seule la version 8 de MicroStation prend en charge l'utilisation de plusieurs modèles dans un seul fichier de conception.
Si un fichier DGN contient plusieurs modèles, assurez-vous que le premier modèle est associé au plus grand domaine. L'outil Importer depuis DAO calcule le domaine pour l'ensemble du fichier DGN à partir du premier modèle. Si le premier modèle n'est pas associé au plus grand domaine, veillez à suffisamment développer le domaine dans le premier modèle pour qu'il puisse tout contenir.
Si vous utilisez un fichier PRJ pour le paramètre de référence spatiale, veillez à définir votre domaine x,y,z. Si vous ne définissez pas de domaine, certaines entités risquent de ne pas être importées si elles se trouvent en dehors du domaine calculé à la volée.
Si vous devez convertir une annotation DAO en annotation de géodatabase, des outils spécifiques peuvent vous y aider, par exemple l'outil Importer des annotations DAO.
Syntaxe
ImportCAD_conversion (Input_Files, out_personal_gdb, {spatial_reference}, {Explode_Complex})
Paramètre | Explication | Type de données |
Input_Files [Input_Files,...] | Ensemble des fichiers DAO à convertir en entités de géodatabase. | CAD Drawing Dataset |
out_personal_gdb | La nouvelle géodatabase en sortie dans laquelle toutes les entités DAO en entrée sont placées avec les tables correspondantes. Si vous avez besoin de jointures de tables ou d'entités, le post-traitement est nécessaire. | Workspace |
spatial_reference (Facultatif) | Référence spatiale à appliquer à la géodatabase intermédiaire en sortie. | Spatial Reference |
Explode_Complex (Facultatif) | Spécifie si des blocs d'insertions dans DWG ou DXF et/ou des cellules dans DGN créeront une entité pour chaque élément constitutif dans l'objet complexe ou uniquement une entité à point unique en tant que point d'insertion défini.
| Boolean |
Exemple de code
# To create Points from the CAD block inserts.
# Create the Geoprocessor object
import arcgisscripting
gp = arcgisscripting.create()
# Script arguments...
blocks = sys.argv[1]
if blocks == '#':
blocks = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/blocks"
# provide a default value if unspecified
res00051_pc22j_dwg = sys.argv[2]
if res00051_pc22j_dwg == '#':
res00051_pc22j_dwg = "C:/Test_data/CAD/MetroGAS/res00051_pc22j.dwg"
# provide a default value if unspecified
Select_Set_Name = sys.argv[3]
if Select_Set_Name == '#':
Select_Set_Name = "[SetName] = 'COD_90_50M'"
# Local variables...
Pivoted_AttrTags_by_OwnerID = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Attrib_PivotTable"
Attrib_Table = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Attrib"
Entities_Table = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Entity"
joined = "joined"
Output_Staging_Geodatabase = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb"
points_new2 = "points_new"
Point = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/CADStaging/Point"
points_new = "points_new"
points_new3 = "points_new"
try:
# Process: Import from
CAD...gp.ImportCAD_conversion("'C:/Test_data/CAD/MetroGAS/res00051_pc22j.dwg'", Output_Staging_Geodatabase, "", "Do_Not_Explode_Complex")
# Process: Select Data...
gp.SelectData_management(Output_Staging_Geodatabase, "CADStaging/Point", )
# Process: Make Layer...
gp.MakeFeatureLayer_management(Point, points_new, "", "", "EntID EntID VISIBLE")
# Process: Select Data (Entities Table)...
gp.SelectData_management(Output_Staging_Geodatabase, "Entity", )
# Process: Add Join...
gp.AddJoin_management(points_new, "EntID", Entities_Table, "EntID", "OUTER", )
# Process: Select Data (Attrib Table)...
gp.SelectData_management(Output_Staging_Geodatabase, "Attrib", )
# Process: Make Table View...
gp.MakeTableView_management(Attrib_Table, joined, Select_Set_Name, "", "EntID EntID VISIBLE;OwnerID OwnerID VISIBLE;AttrFlag AttrFlag VISIBLE;MSSet MSSet VISIBLE;AtrTag AtrTag VISIBLE;AtrHndl AtrHndl VISIBLE;AttrType AttrType VISIBLE;AttrStr AttrStr VISIBLE;AttrLong AttrLong VISIBLE;AttrDbl AttrDbl VISIBLE")
# Process: Pivot Table...
gp.PivotTable_management(joined, "'Attrib.OwnerID';'OwnerID'", "AttrTag", "AttrStr", Pivoted_AttrTags_by_OwnerID)
# Process: Add Join2...
gp.AddJoin_management(points_new2, "Point.EntID", Pivoted_AttrTags_by_OwnerID, "OwnerID", "INNER", )
# Process: Copy Features...
gp.CopyFeatures_management(points_new3, blocks, "", "0", "0", "0")
except:
# If an error occurred while running a tool print the messages
print gp.GetMessages()
Environnements
- Espace de travail courant
- Valeur Z en sortie par défaut
- Mot-clé CONFIG en sortie
- Domaine M en sortie
- Domaine XY en sortie
- Domaine Z en sortie
- Système de coordonnées en sortie
- Etendue
- Valeurs M en sortie
- Grille spatiale 1 en sortie
- Grille spatiale 2 en sortie
- Grille spatiale 3 en sortie
- Grille spatiale 1 en sortie
- Grille spatiale 2 en sortie
- Grille spatiale 3 en sortie
- Grille spatiale 1 en sortie
- Grille spatiale 2 en sortie
- Grille spatiale 3 en sortie
- Espace de travail temporaire
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui