导入 Coverage 注记 (转换)
摘要
将 coverag 注记要素的集合转换为地理数据库注记。可以将每一级分别转换为一个单独的注记类,也可以将其合并成一个类。此外,如果选择地图图层作为输入,则将应用级别和字体覆盖。
用法
-
此转换需要排它锁,以使它不能被其他应用程序打开。写入 ArcSDE 地理数据库的输出将不会版本化。
-
可以将注记要素与点、线或多边形要素类中的要素关联。如要将注记转换至 ArcSDE,则不可将连接要素类注册为已版本化。
-
可以将每一级 coverage 注记转换为一个单独的注记类,也可以将其合并成一个类。
-
如果选择 coverage 注记要素和/或使用定义查询,则将只转换那些所选的可见要素。
-
可以创建 coverage 要素选择集,也可以从选择内容中创建新图层。如果使用此新图层作为转换输入,将只转换此图层中的那些要素。
-
如果覆盖 coverage 注记要素的字体符号或颜色,转换时会应用这些设置。如果想使用应用到某个图层上的符号覆盖转换多个注记要素类,要确保此图层是第一个输入,并从第一个输入中选中“匹配符号”选项。
-
请选择一个与正常显示注记所采用的比例大致相等的参考比例。您可以将参考比例想象成按照特定地图比例来“冻结”符号和文本大小。在查看地图时,符号和文本大小会根据查看比例而变化。放大(当前地图比例大于参考比例)时符号和文本会变大,缩小(当前地图比例大于参考比例)时符号和文本会变小。
-
与要素关联的注记与地理数据库中另一个要素类中的特定要素相关联。如果选中,则在创建输出注记要素类时,也将自动生成关系类。此关系类用于定义注记与要素之间的关系,并使您可以通过此关系类对此关系进行定义和自定义。它不会在要素与注记之间建立连接。此操作必须在 ArcMap 编辑器中完成。
语法
参数 | 说明 | 数据类型 |
input_features [input_features,...] |
要转换为地理数据库注记的 coverage 注记要素。如果在 ArcMap 中选择 coverage 注记图层,转换过程中会应用此图层的以下属性:
| Feature Layer |
output_featureclass |
浏览现有地理数据库,并输入要创建的新注记要素类的名称。 | Feature Class |
reference_scale |
输入要用作注记参考的比例。注记中的所有符号及文本的大小都会参照此处设置的参考比例。 | Double |
use_levels (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定是否将所有 coverage 注记绘制级别都转换为要素类中的注记类。
| Boolean |
match_symbols_from_first_input (可选) |
从多个 coverage 或注记子类中转换 coverage 注记时,如果需要替换符号的字体属性,并将他们应用至所有输入要素,则使用此选项。
| Boolean |
require_symbol_from_table (可选) |
指定是否输出注记要素必须引用存储在要素类符号集中的符号。
| Boolean |
feature_linked (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 选择是否将输出注记要素类关联到其他要素类中的要素。
| Boolean |
linked_feature_class (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 与注记要素关联的要素类。只有在将前一参数选择为 FEATURE_LINKED 时,此选项才可用。 | Feature Layer |
create_annotation_when_feature_added (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定在向注记要素类所关联的要素类中添加新要素时是否生成新注记。 只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联的要素类时,此选项才可用。
| Boolean |
update_annotation_when_feature_modified (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定在对注记要素类所关联的要素类中的要素进行编辑时 ArcMap 编辑器是否会自动更新注记的放置位置。 只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联的要素类时,此选项才可用。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在立即模式下使用 ImportCoverageAnnotation 工具。
import arcpy arcpy.env.workspace = "C:/data" arcpy.ImportCoverageAnnotation_conversion("roads/annotation", "Ontario.gdb/roads_anno", 10000, "CLASSES_FROM_LEVELS", "NO_MATCH", "NO_SYMBOL_REQUIRED", "STANDARD", "", "AUTO_CREATE", "AUTO_UPDATE")
以下独立脚本演示了如何使用 ImportCoverageAnnotation 工具。
# Name: ImportCoverageAnnotation_Example.py # Description: Create a geodatabase and import coverage annotation into it using the # ImportCoverageAnnotation tool. # Author: ESRI # import system modules import arcpy, os from arcpy import env # Set environment settings - user specified # User input coverage workspace - eg. C:/data env.workspace = raw_input('Coverage workspace: ') # User input Coverage name - eg. Roads covName = raw_input('Coverage Name: ') # Create file geodatabase based on coverage fgdb = env.workspace + os.sep + covName + ".gdb" arcpy.CreateFileGDB_management(os.path.dirname(fgdb), os.path.basename(fgdb)) # Set workspace to coverage env.workspace = env.workspace + os.sep + covName # Get all coverage annotation subclasses covAnnos = arcpy.ListFeatureClasses("", "Annotation") # Import each annotation subclass for covAnno in covAnnos: print "Importing Coverage annotation..." # Set variables outFeatureClass = fgdb + os.sep + covAnno.replace(".", "") refScale = 10000 useLevels = "CLASSES_FROM_LEVELS" matchSymbols = "NO_MATCH" requireSymbol = "NO_SYMBOL_REQUIRED" featLinked = "STANDARD" linkedFeatClass = "" autoCreate = "AUTO_CREATE" autoUpdate = "AUTO_UPDATE" try: # Process: Import the coverage annotation arcpy.ImportCoverageAnnotation_conversion(covAnno, 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"