将标注转换为注记 (制图)

摘要

将单个图层或整个地图的标注转换为注记。 既可以创建标准注记,也可以创建关联要素的注记。

使用情况

  • 标注可以转换为单个图层或整个地图的注记。 如果选择了单个图层选项,则必须指定图层,并且该图层必须位于地图中。

  • 标注分类比例范围将被考虑。 当该工具生成指定地图比例的注记时,它将仅转换该比例下呈启用状态并且可见的标注分类。

    注:

    ArcGIS Pro 中,标注分类比例范围可在标注选项卡中进行设置。

  • 如果指定了现有后缀,则不会覆盖注记要素类。 在这种情况下,注记要素类后缀中将添加一个数字(例如,CitiesAnno、CitiesAnno_1 等)。 命名的完整格式如下:

    <layer name> <duplicate feature class count> <anno suffix> <running number>

  • 如果正在生成多个参考比例下的注记,请在每种比例下分别设计地图并避免在地图中设置参考比例。 然后针对各个比例和名称将标注正确转换为注记,例如,CitiesAnno_1000、CitiesAnno_100000 等。

  • 此工具的一种输出为图层组。 如果使用目录窗格、Python 窗口或独立 Python 脚本,可以使用保存至图层文件工具将输出图层组写入图层文件中。 如果使用 ArcGIS Pro,该工具可将图层组添加到视图区域。 所创建的图层组是临时性的,如果不保存工程,该图层组将在会话结束后消失。

  • 如果指定的图层名称相同并且已明确声明允许覆盖输出,则现有图层组将被覆盖。

  • 如果未选中创建要素关联注记参数,则可使用将所有图层中的标注转换为单个输出要素类参数为整个地图创建单个注记要素类。

    为地图创建单个注记要素类时,可以使用合并类似标注类参数将具有类似属性的标注类合并到一个注记类中。

  • 与要素关联的注记与地理数据库中另一个要素类中的特定要素相关联。 如果选中创建与要素链接的注记参数,则在创建输出注记要素类时将自动生成一个关系类。

  • 创建关联要素的注记时,输出工作空间必须与所关联要素类的输出工作空间相同。

  • 某些标注可能未显示在地图上,原因是没有空间。 要转换这些标注,请选中将未放置的标注转换为未放置的注记参数。 这样便可将未放置的标注保存到注记要素类中,以便今后在 ArcGIS Pro 编辑会话中可以找到它们。

  • 内存和 in_memory 工作空间不支持要素关联注记。

  • 此工具支持注记文本字符串字段长度环境。 设置后,它将覆盖数据库中创建的所有注记要素类中 TextString 字段的默认字段长度。

参数

标注说明数据类型
输入地图

输入地图。

Map
转换比例

转换标注时使用的比例。 如果已在地图上设置参考比例,则在调整符号大小和创建注记要素类时,将使用该参考比例,但是将以此比例进行转换。

Double
输出地理数据库

用来保存输出要素类的工作空间。 此工作空间可以是现有地理数据库或现有要素数据集。 如果此数据库与地图中所有图层使用的数据库不同,则将禁用关联要素选项。

Workspace; Feature Dataset
注记后缀
(可选)

为每个新注记要素类添加的后缀。 该后缀将追加到各新注记要素类的源要素类名称之后。

String
范围
(可选)

指定包含要转换为注记的标注的范围。

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。 仅在存在活动地图时,才可使用此选项。
  • 图层范围 图层 - 范围基于活动地图图层。 使用下拉列表选择可用图层,或使用所有图层中数据的范围选项获取所有活动地图图层(不包括底图)的组合范围。 仅在存在具有图层的活动地图时,才可使用此选项。
  • 浏览 浏览 - 范围基于现有数据集。
  • 输入的交集 相交 - 范围将基于所有输入的最小或交叉范围。 如果输入未重叠,则结果为包含所有零值的空范围。
  • 输入的并集 联合 - 范围将基于所有输入的最大或合并范围。
  • 重置范围 重置 - 将范围重置为默认值。
  • 手动输入坐标 - 坐标必须是数值,并且与活动地图的坐标系相匹配。

    地图可能使用不同的显示单位

Extent
将未放置的标注转换为未放置的注记
(可选)

指定是否将基于未放置标注创建未放置注记。

  • 取消选中 - 仅为当前已标注的要素创建注记。 这是默认设置。
  • 选中 - 未放置的注记将存储到注记要素类中。 这些注记的状态字段将设置为“未放置”。

Boolean
需要从符号表中选择符号
(可选)

指定是否限制可以编辑的文本符号属性。

  • 未选中 - 可以编辑所有文本符号属性。 这是默认设置。
  • 选中 - 只能编辑启用注记要素以保持集合中对其关联文本符号的引用的符号属性。

Boolean
创建关联要素注记
(可选)
注:

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

用于指定是否将输出注记要素类关联到其他要素类中的要素。

  • 未选中 - 输出注记要素类将不会关联到其他要素类中的要素。 这是默认设置。
  • 选中 - 输出注记要素类将关联到其他要素类中的要素。

Boolean
添加新要素时创建注记
(可选)

如果已选中创建要素关联注记参数,用于指定在向链接要素类添加新要素时是否创建注记。

  • 选中 - 向关联要素类添加新要素时,将创建关联要素注记。 这是默认设置。
  • 未选中 - 向关联要素类添加新要素时,不会创建关联要素注记。

Boolean
修改要素形状时更新注记
(可选)

如果已选中创建要素关联注记参数,用于指定在更新链接要素的形状时是否更新注记的位置。

  • 已选中 - 修改链接要素的形状时,将更新注记的位置。 这是默认设置。
  • 未选中 - 修改链接要素的形状时,不会更新注记的位置。

Boolean
输出图层
(可选)

包含所生成注记的图层组。 在目录窗格中工作时,可使用保存至图层文件工具将输出图层组写入图层文件中。 在打开地图的情况下使用 ArcGIS Pro 时,如果在地理处理选项中选中此选项,则该工具可将图层组添加到视图区域。 所创建的图层组是临时性的,如果不保存工程,该图层组将在会话结束后消失。

Group Layer
转换
(可选)

指定是为地图中的所有图层还是为单个图层转换注记。 必须指定单个图层。

  • 地图中的所有图层将地图中所有图层的标注转换为注记。 这是默认设置。
  • 单个图层标注将转换为单个图层的注记。 必须指定图层。
String
要素图层
(可选)

转换参数设置为单个图层时包含要转换注记的图层。 该图层必须位于地图中。

Feature Layer
将所有图层中的标注转换为单个输出要素类
(可选)

指定标注将转换为单独的注记要素类还是单个注记要素类。 如果转换为单个注记要素类,则注记不能与要素关联。

  • 已选中 - 所有图层中的标注将转换为单个注记要素类。
  • 未选中 - 标注将转换为与其图层对应的单独注记要素类。 这是默认设置。

Boolean
合并类似标注类
(可选)

指定选中将所有图层中的标注转换为单个输出要素类参数时是否合并类似标注类。

  • 未选中 - 选中将所有图层中的标注转换为单个输出要素类参数时不会合并具有类似属性的标注类。
  • 未选中 - 当选中将所有图层中的标注转换为单个输出要素类参数时,不会合并标注类。 这是默认设置。

Boolean

派生输出

标注说明数据类型
更新后的地理数据库

用来保存输出要素类的工作空间。

Workspace

arcpy.cartography.ConvertLabelsToAnnotation(input_map, conversion_scale, output_geodatabase, {anno_suffix}, {extent}, {generate_unplaced}, {require_symbol_id}, {feature_linked}, {auto_create}, {update_on_shape_change}, {output_group_layer}, {which_layers}, {single_layer}, {multiple_feature_classes}, {merge_label_classes})
名称说明数据类型
input_map

输入地图。

Map
conversion_scale

转换标注时使用的比例。 如果已在地图上设置参考比例,则在调整符号大小和创建注记要素类时,将使用该参考比例,但是将以此比例进行转换。

Double
output_geodatabase

用来保存输出要素类的工作空间。 此工作空间可以是现有地理数据库或现有要素数据集。 如果此数据库与地图中所有图层使用的数据库不同,则将禁用关联要素选项。

Workspace; Feature Dataset
anno_suffix
(可选)

为每个新注记要素类添加的后缀。 该后缀将追加到各新注记要素类的源要素类名称之后。

String
extent
(可选)

指定包含要转换为注记的标注的范围。

  • MAXOF - 将使用的所有输入的最大范围。
  • MINOF - 将使用的所有输入共用的最小范围。
  • DISPLAY - 范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。 坐标按 x-min、y-min、x-max、y-max 的顺序表示。

如果未设置范围值,则范围将基于所有参与的输入的最大范围。 这是默认设置。

Extent
generate_unplaced
(可选)

指定是否将基于未放置标注创建未放置注记。

  • ONLY_PLACED仅为当前已标注的要素创建注记。 这是默认设置。
  • GENERATE_UNPLACED未放置的注记将存储到注记要素类中。 这些注记的状态字段将设置为“未放置”。
Boolean
require_symbol_id
(可选)

指定是否限制可以编辑的文本符号属性。

  • NO_REQUIRE_ID可以编辑所有文本符号属性。 这是默认设置。
  • REQUIRE_ID只能编辑启用注记要素以保持集合中对其关联文本符号的引用的符号属性。
Boolean
feature_linked
(可选)
许可:

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

用于指定是否将输出注记要素类关联到其他要素类中的要素。

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

如果 feature_linked 参数设置为 FEATURE_LINKED,用于指定在向链接要素类添加新要素时是否创建注记。

  • AUTO_CREATE向关联要素类添加新要素时,将创建关联要素注记。 这是默认设置。
  • NO_AUTO_CREATE向关联要素类添加新要素时,不会创建关联要素注记。
Boolean
update_on_shape_change
(可选)

如果 feature_linked 参数设置为 FEATURE_LINKED,用于指定在更新链接要素的形状时是否更新注记的位置。

  • SHAPE_UPDATE修改链接要素的形状时,将更新注记的位置。 这是默认设置。
  • NO_SHAPE_UPDATE修改链接要素的形状时,不会更新注记的位置。
Boolean
output_group_layer
(可选)

包含所生成注记的图层组。 可使用保存至图层文件工具将输出图层组写入图层文件中。

Group Layer
which_layers
(可选)

指定是为地图中的所有图层还是为单个图层转换注记。 必须指定单个图层。

  • ALL_LAYERS将地图中所有图层的标注转换为注记。 这是默认设置。
  • SINGLE_LAYER标注将转换为单个图层的注记。 必须指定图层。
String
single_layer
(可选)

which_layers 参数设置为 SINGLE_LAYER 时包含要转换注记的图层。 该图层必须位于地图中。

Feature Layer
multiple_feature_classes
(可选)

指定标注将转换为单独的注记要素类还是单个注记要素类。 如果转换为单个注记要素类,则注记不能与要素关联。

  • SINGLE_FEATURE_CLASS所有图层中的标注将转换为单个注记要素类。
  • FEATURE_CLASS_PER_FEATURE_LAYER标注将转换为与其图层对应的单独注记要素类。 这是默认设置。
Boolean
merge_label_classes
(可选)

指定当 multiple_feature_classes 参数设置为 SINGLE_FEATURE_CLASS 时是否合并类似标注类。

  • MERGE_LABEL_CLASSmultiple_feature_classes 参数设置为 SINGLE_FEATURE_CLASS 时,将合并具有类似属性的标注类。
  • NO_MERGE_LABEL_CLASSmultiple_feature_classes 参数设置为 SINGLE_FEATURE_CLASS 时,不会合并标注类。 这是默认设置。
Boolean

派生输出

名称说明数据类型
updated_geodatabase

用来保存输出要素类的工作空间。

Workspace

代码示例

ConvertLabelsToAnnotation 示例(Python 窗口)

ConvertLabelsToAnnotation 函数的 Python 示例用于将地图中单个图层的标注转换为注记。


import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
    'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED', 
    'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
ConvertLabelsToAnnotation 示例 2(独立脚本)

此独立脚本使用 ConvertLabelsToAnnotation 函数将地图标注转换为注记。 注记将转换为单个注记要素类,并且将合并类似标注类。

# Name: ConvertLabelsToAnnotation.py
# Description: Find all the maps in the project and
#              convert labels to annotation for each map

# import system modules

import arcpy

# Loop through the project, find all the maps, and
#   convert labels to annotation for each map,
#   using the name of the map as part of the annotation suffix 
project = arcpy.mp.ArcGISProject("D:\\data\\myproject.aprx")
for mp in project.listMaps():
    print("Converting labels to annotation for: " + mp.name)
    arcpy.cartography.ConvertLabelsToAnnotation(
            mp, 10000, 'D:/data/Cobourg.gdb', 'Anno_' + mp.name, 'MAXOF', 
            'ONLY_PLACED', 'REQUIRE_ID', 'STANDARD', '', '', 
            'AnnoLayers_' + mp.name, 'ALL_LAYERS', '', 'SINGLE_FEATURE_CLASS', 
            'MERGE_LABEL_CLASS')

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题