描述
将单个图层或整个地图的标注转换为注记。既可以创建标准注记,也可以创建关联要素的注记。
使用方法
标注可以转换为单个图层或整个地图的注记。如果选择了单个图层选项,则必须指定图层,并且该图层必须位于地图中。
标注分类比例范围将被考虑。当该工具生成指定地图比例的注记时,它将仅转换该比例下呈启用状态并且可见的标注分类。
注:
在 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 工作空间不支持要素关联注记。
语法
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 (可选) | 指定包含要转换为注记的标注的范围。它可以是地图的范围、输入图层的并集、输入图层的交集、当前显示范围,也可以与指定的图层范围相同或使用值来指定。
| Extent |
generate_unplaced (可选) | 指定是否将基于未放置标注创建未放置注记。
| Boolean |
require_symbol_id (可选) | 指定是否限制可以编辑的文本符号属性。
| Boolean |
feature_linked (可选) | 许可:仅当具有 ArcGIS Desktop Standard 和 ArcGIS Desktop Advanced 级别许可时,此参数才可用。 用于指定是否将输出注记要素类关联到其他要素类中的要素。
| Boolean |
auto_create (可选) | 如果 feature_linked 参数设置为 FEATURE_LINKED,用于指定在向链接要素类添加新要素时是否创建注记。
| Boolean |
update_on_shape_change (可选) | 如果 feature_linked 参数设置为 FEATURE_LINKED,用于指定在更新链接要素的形状时是否更新注记的位置。
| Boolean |
output_group_layer (可选) | 包含所生成注记的图层组。可使用保存至图层文件工具将输出图层组写入图层文件中。 | Group Layer |
which_layers (可选) | 指定是为地图中的所有图层还是为单个图层转换注记。必须指定单个图层。
| String |
single_layer (可选) | 当 which_layers 参数设置为 SINGLE_LAYER 时包含要转换注记的图层。该图层必须位于地图中。 | Feature Layer |
multiple_feature_classes (可选) | 指定标注将转换为单独的注记要素类还是单个注记要素类。如果转换为单个注记要素类,则注记不能与要素关联。
| Boolean |
merge_label_classes (可选) | 指定当 multiple_feature_classes 参数设置为 SINGLE_FEATURE_CLASS时是否合并类似标注类。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
updated_geodatabase | 用来保存输出要素类的工作空间。 | 工作空间 |
代码示例
此 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 函数将地图的标注转换为注记。注记将转换为单个注记要素类,并且将合并类似标注类。
# 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: 是