Importer des annotations DAO (Conversion)
Récapitulatif
Convertit un ensemble d'entités d'annotation DAO en annotation de géodatabase. Vous pouvez convertir chaque niveau en classes d'annotation individuelles ou les fusionner en une seule et même classe. De même, si vous sélectionnez des couches en entrée, les remplacements de niveau et de police sont respectés.
Utilisation
-
La conversion nécessite un verrou exclusif de manière à ce qu'aucune autre application ne puisse y accéder. La sortie enregistrée dans les géodatabase ArcSDE n'est pas versionnée.
-
Vous pouvez convertir chaque couche de dessin DAO en classes d'annotation individuelles ou les fusionner en une seule et même classe. De même, si vous sélectionnez des couches en entrée, les remplacements de couches de dessin et de police sont respectés.
-
Sélectionnez une échelle de référence approximativement égale à l'échelle à laquelle l'annotation est normalement affichée. L'échelle de référence va "figer" la taille du texte et des symboles à une échelle de carte particulière. A l'affichage de la carte, la taille du texte et des symboles se modifie en fonction de l'échelle d'affichage. Le texte et les symboles apparaissent plus grands lorsque vous effectuez un zoom avant (l'échelle est supérieure à l'échelle de référence) et plus petits lorsque vous effectuez un zoom arrière, (l'échelle est inférieure à l'échelle de référence).
-
Si vous sélectionnez des entités d'annotation DAO et/ou utilisez un ensemble de définitions, seules les entités sélectionnées et visibles sont converties.
-
Si vous activez l'option permettant de sélectionner des symboles depuis la table des symboles, les entités d'annotation nouvellement créées ou mises à jour doivent référencer un des symboles prédéfinis dans la collection. En effet il est impossible de stocker le symbole en ligne. Si cette option n'est pas activée, vous pouvez stocker n'importe quel type d'annotation (y compris des graphiques) dans la classe d'entités annotations.
-
L'annotation qui est liée à une entité est associée à une entité spécifique dans une autre classe d'entités de la géodatabase. Lorsque vous créez une classe d'entités annotations en sortie, le système génère automatiquement une classe de relations. Cette classe définit la relation entre l'annotation et les entités et permet à l'utilisateur de définir et de personnaliser cette relation. Elle ne permet pas d'établir de liens entre les entités et l'annotation. Ces liens sont à créer dans l'éditeur d'ArcMap.
Syntaxe
Paramètre | Explication | Type de données |
input_features [input_features,...] |
Entités annotations DAO à convertir en annotation de géodatabase. Si vous sélectionnez une couche d'annotations DAO dans ArcMap, les propriétés suivantes sont respectées pendant la conversion :
| Feature Layer |
output_featureclass |
Classe d'entités annotations de géodatabase vers laquelle vous voulez convertir une annotation DAO. | Feature Class |
reference_scale |
Saisissez l'échelle de référence à utiliser pour l'annotation. Cela définit l'échelle à laquelle se rapportent toutes les tailles des symboles et du texte des annotations. | Double |
use_levels (Facultatif) |
Licence : Ce paramètre est uniquement disponible avec les licences ArcEditor et ArcInfo. Spécifiez si tous les niveaux ou couches de dessin DAO sont convertis en classes d'annotations dans la classe d'entités.
| Boolean |
match_symbols_from_first_input (Facultatif) |
Si vous convertissez une annotation DAO de plusieurs fichiers de dessin et que vous devez remplacer les propriétés de police par un symbole et ce pour toutes les entités en entrée, vous pouvez utiliser cette option.
| Boolean |
require_symbol_from_table (Facultatif) |
Spécifiez si les entités annotations en sortie doivent faire référence à un symbole stocké dans la collection de symboles pour la classe d'entités.
| Boolean |
feature_linked (Facultatif) |
Licence : Ce paramètre est uniquement disponible avec les licences ArcEditor et ArcInfo. Indiquez si la classe d'entités annotations en sortie doit être liée aux entités d'une autre classe d'entités. L'option Liées aux entités n'est pas disponible avec la licence ArcView.
| Boolean |
linked_feature_class (Facultatif) |
Licence : Ce paramètre est uniquement disponible avec les licences ArcEditor et ArcInfo. Classe d'entités à laquelle vous liez des entités annotations. Il doit s'agir d'une classe d'entités ponctuelles, linéaires ou surfaciques. Si vous convertissez des annotations dans ArcSDE, la classe d'entités liens ne doit pas être enregistrée comme versionnée. Cette option est disponible uniquement si vous avez choisi le paramètre FEATURE_LINKED. | Feature Layer |
create_annotation_when_feature_added (Facultatif) |
Licence : Ce paramètre est uniquement disponible avec les licences ArcEditor et ArcInfo. Spécifiez si une nouvelle annotation est générée lorsque vous ajoutez de nouvelles entités à la classe d'entités à laquelle cette classe d'entités annotations est liée. Cette option est disponible uniquement si vous avez choisi le paramètre FEATURE_LINKED et indiqué une classe d'entités liens.
| Boolean |
update_annotation_when_feature_modified (Facultatif) |
Licence : Ce paramètre est uniquement disponible avec les licences ArcEditor et ArcInfo. Spécifiez si vous souhaitez mettre automatiquement à jour le placement d'annotations lorsque vous modifiez les entités d'une classe d'entités à laquelle cette classe d'entités annotations est liée. Cette option est disponible uniquement si vous avez choisi le paramètre FEATURE_LINKED et indiqué une classe d'entités liens.
| Boolean |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de l'outil ImportCADAnnotation en mode immédiat.
import arcpy arcpy.env.workspace = "C:\data" arcpy.ImportCADAnnotation_conversion("roads.dxf/annotation", "roads.gdb/roadsanno", 1200, "CLASSES_FROM_LEVELS", "NO_MATCH", "NO_SYMBOL_REQUIRED", "STANDARD", "", "AUTO_CREATE", "NO_AUTO_UPDATE")
Le script autonome suivant montre comment utiliser l'outil ImportCADAnnotation.
# Name: ImportCADAnnotation_Example.py # Description: Create a geodatabase and import CAD annotation into it using the #ImportCADAnnotation tool. # Author: ESRI # import system modules import arcpy, os from arcpy import env # Set environment settings # User input workspace - eg. C:/data env.workspace = raw_input('Workspace: ') # User input data name - eg. roads.dxf inputCADAnno = raw_input('Data name: ') # Create file geodatabase based on CAD file fgdb = env.workspace + os.sep + inputCADAnno[:-4] + ".gdb" arcpy.CreateFileGDB_management(os.path.dirname(fgdb), os.path.basename(fgdb)) # Set variables inputFeatureClass = inputCADAnno + os.sep + "Annotation" outFeatureClass = fgdb + os.sep + inputCADAnno.replace(".", "") + "_Anno" refScale = 1200 useLevels = "CLASSES_FROM_LEVELS" matchSymbols = "NO_MATCH" requireSymbol = "NO_SYMBOL_REQUIRED" featLinked = "STANDARD" linkedFeatClass = "" autoCreate = "AUTO_CREATE" autoUpdate = "AUTO_UPDATE" print "Importing CAD annotation..." try: arcpy.ImportCADAnnotation_conversion(inputFeatureClass, outFeatureClass, refScale, useLevels, matchSymbols, requireSymbol, featLinked, linkedFeatClass, autoCreate, autoUpdate) except: # If an error occurred while running a tool print the messages print arcpy.GetMessages() print "Import complete"