描述
将单个图层或整个地图的标注转换为图形。
使用方法
标注可以转换为单个图层或整个地图的图形。如果选择了单个图层选项,则必须指定图层,并且该图层必须位于地图中。
标注分类比例范围将被考虑。当该工具生成指定地图比例的图形时,它将仅转换该比例下呈启用状态并且可见的标注分类。
注:
在 ArcGIS Pro 中,标注分类比例范围可在标注选项卡中进行设置。
图形图层的命名格式为 <layer name><graphics layer suffix>。
重复的图形图层名称将不会被覆盖。
此工具的一种输出为图层组。可使用保存至图层文件工具将输出图层组写入图层文件中。使用 ArcGIS Pro 中的工具时,该工具会将图层组添加到显示区域中。所创建的图层组是临时性的,如果不保存工程,该图层组将在会话结束后消失。
如果指定的图层名称相同并且在地理处理选项中选中允许地理处理工具覆盖现有数据集选项,则现有图层组将被覆盖。
将所有图层中的标注转换为单个输出图形图层参数可用于为整个地图创建单个图形图层。
某些标注可能未显示在地图上,原因是没有空间。选中将未放置的标注转换为图形参数复选框,以将未放置的标注保存在图形图层中,从而允许您使其可见并稍后放置。
语法
ConvertLabelsToGraphics(input_map, conversion_scale, {which_layers}, {single_layer}, {graphics_suffix}, {extent}, {multiple_graphics_layers}, {generate_unplaced}, {output_group_layer})
参数 | 说明 | 数据类型 |
input_map | 输入地图对象。 | Map |
conversion_scale | 转换标注时使用的比例。如果已在地图上设置参考比例,则在调整符号大小和创建图形图层时,将使用该参考比例,但是将以此比例进行转换。 | Double |
which_layers (可选) | 指定是为地图中的所有图层还是为单个图层转换图形。
| String |
single_layer (可选) | 当 which_layers 参数设置为 SINGLE_LAYER 时包含要转换标注的图层。该图层必须位于地图中。 | Feature Layer |
graphics_suffix (可选) | 为每个新图形图层添加的后缀。该后缀将追加到各新图形图层的源要素类名称之后。 | String |
extent (可选) | 指定包含要转换为图形的标注的范围。它可以是地图的范围、输入图层的并集、输入图层的交集、当前显示范围,也可以与指定的图层范围相同或使用值来指定。
| Extent |
multiple_graphics_layers (可选) | 指定将标注转换为单独的图形图层还是单个图形图层。
| Boolean |
generate_unplaced (可选) | 指定是否将基于未放置标注创建图形。
| Boolean |
output_group_layer (可选) | 包含所生成图形的图层组。可使用保存至图层文件工具将输出图层组写入图层文件中。 | Group Layer |
代码示例
此 ConvertLabelsToGraphics 函数的 Python 示例用于将地图中单个图层的标注转换为图形。
import arcpy
arcpy.cartography.ConvertLabelsToGraphics(
'Map1', 10000, 'SINGLE_LAYER', 'Schools', 'Graphics', 'MAXOF',
'GRAPHICS_LAYER_PER_FEATURE_LAYER', 'ONLY_PLACED', 'GroupGraphics')
此独立脚本使用 ConvertLabelsToGraphics 函数将地图标注转换为图形。
# Name: ConvertLabelsToGraphics.py
# Description: Find all the maps in the project and
# convert labels to graphics for each map
# import system modules
import arcpy
# Loop through the project, find all the maps, and
# convert labels to graphics for each map,
# using the name of the map as part of the graphics layer suffix
project = arcpy.mp.ArcGISProject("D:\\data\\myproject.aprx")
for mp in project.listMaps():
print("Converting labels to graphics for: " + mp.name)
arcpy.cartography.ConvertLabelsToGraphics(
mp, 10000, 'ALL_LAYERS', '', 'Graphics_' + mp.name, 'MAXOF',
'GRAPHICS_LAYER_PER_FEATURE_LAYER', 'ONLY_PLACED',
'GraphicsLayers_' + mp.name)
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是