导入 Coverage 注记 (转换)

许可等级:BasicStandardAdvanced

摘要

将 coverag 注记要素的集合转换为地理数据库注记。可以将每一级分别转换为一个单独的注记类,也可以将其合并成一个类。此外,如果选择地图图层作为输入,则将应用级别和字体覆盖。

用法

语法

ImportCoverageAnnotation_conversion (input_features, output_featureclass, reference_scale, {use_levels}, {match_symbols_from_first_input}, {require_symbol_from_table}, {feature_linked}, {linked_feature_class}, {create_annotation_when_feature_added}, {update_annotation_when_feature_modified})
参数说明数据类型
input_features
[input_features,...]

要转换为地理数据库注记的 coverage 注记要素。如果在 ArcMap 中选择 coverage 注记图层,转换过程中会应用此图层的以下属性:

  • 可见绘制级别。只转换那些已打开的绘制级别。
  • 文本符号的字体和颜色属性的替换。
  • 选择。只转换所选的要素。
  • 定义查询。只转换与定义查询相匹配的可见要素。
Feature Layer
output_featureclass

浏览现有地理数据库,并输入要创建的新注记要素类的名称。

Feature Class
reference_scale

输入要用作注记参考的比例。注记中的所有符号及文本的大小都会参照此处设置的参考比例。

Double
use_levels
(可选)
许可许可:

仅当具有 ArcGIS for Desktop StandardArcGIS for Desktop Advanced 级别许可时,此参数才可用。

指定是否将所有 coverage 注记绘制级别都转换为要素类中的注记类。

  • CLASSES_FROM_LEVELS每个 coverage 注记绘制级别都将转换为“输出要素类”中的注记类。这是默认设置。
  • ONE_CLASS_ONLY所有 coverage 注记绘制级别都将转换为“输出要素类”中的一个注记类。
Boolean
match_symbols_from_first_input
(可选)

从多个 coverage 或注记子类中转换 coverage 注记时,如果需要替换符号的字体属性,并将他们应用至所有输入要素,则使用此选项。

  • MATCH_FIRST_INPUT匹配第一个输入图层的符号,然后将其应用于所有图层。
  • NO_MATCH每个工程图文件都保留自身的字体属性。这是默认设置。
Boolean
require_symbol_from_table
(可选)

指定是否输出注记要素必须引用存储在要素类符号集中的符号。

  • NO_SYMBOL_REQUIRED任意类型的注记(包括图形)都可以存储在注记要素类中。这是默认设置。
  • REQUIRE_SYMBOL此注记必须引用符号集中预定义的符号;此符号不可内嵌存储。
Boolean
feature_linked
(可选)
许可许可:

仅当具有 ArcGIS for Desktop StandardArcGIS for Desktop Advanced 级别许可时,此参数才可用。

选择是否将输出注记要素类关联到其他要素类中的要素。

  • FEATURE_LINKED输出注记要素类将关联到其他要素类中的要素。
  • STANDARD输出注记要素类将不会关联到其他要素类中的要素。这是默认设置。
Boolean
linked_feature_class
(可选)
许可许可:

仅当具有 ArcGIS for Desktop StandardArcGIS for Desktop Advanced 级别许可时,此参数才可用。

与注记要素关联的要素类。只有在将前一参数选择为 FEATURE_LINKED 时,此选项才可用。

Feature Layer
create_annotation_when_feature_added
(可选)
许可许可:

仅当具有 ArcGIS for Desktop StandardArcGIS for Desktop Advanced 级别许可时,此参数才可用。

指定在向注记要素类所关联的要素类中添加新要素时是否生成新注记。

只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联的要素类时,此选项才可用。

  • AUTO_CREATE在 ArcMap 中进行编辑时,将新要素添加至与此注记要素类关联的要素类会自动生成一条新注记。这是默认设置。
  • NO_AUTO_CREATE在 ArcMap 中进行编辑时,将新要素添加至与此注记要素类关联的要素类不会自动生成一条新注记。
Boolean
update_annotation_when_feature_modified
(可选)
许可许可:

仅当具有 ArcGIS for Desktop StandardArcGIS for Desktop Advanced 级别许可时,此参数才可用。

指定在对注记要素类所关联的要素类中的要素进行编辑时 ArcMap 编辑器是否会自动更新注记的放置位置。

只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联的要素类时,此选项才可用。

  • AUTO_UPDATE注记会根据修改后的要素形状重新定位。这是默认设置。
  • NO_AUTO_UPDATE注记会保留在其原始位置。
Boolean

代码实例

ImportCoverageAnnotation 示例(Python 窗口)

以下 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 示例(独立 Python 脚本)

以下独立脚本演示了如何使用 ImportCoverageAnnotation 工具。

# Name: ImportCoverageAnnotation_Example.py
# Description: Create a geodatabase and import coverage annotation into it using the
# ImportCoverageAnnotation tool. 


# 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"

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014