标注转图形 (制图)

摘要

将单个图层或整个地图的标注转换为图形。

使用情况

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

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

    注:

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

  • 图形图层的命名格式为 <layer name><graphics layer suffix>

    重复的图形图层名称将不会被覆盖。

  • 此工具的一种输出为图层组。可使用保存至图层文件工具将输出图层组写入图层文件中。使用 ArcGIS Pro 中的工具时,该工具会将图层组添加到显示区域中。所创建的图层组是临时性的,如果不保存工程,该图层组将在会话结束后消失。

  • 如果指定的图层名称相同并且在地理处理选项中选中允许地理处理工具覆盖现有数据集选项,则现有图层组将被覆盖。

  • 将所有图层中的标注转换为单个输出图形图层参数可用于为整个地图创建单个图形图层。

  • 某些标注可能未显示在地图上,原因是没有空间。选中将未放置的标注转换为图形参数复选框,以将未放置的标注保存在图形图层中,从而允许您使其可见并稍后放置。

参数

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

输入地图名称。

Map
转换比例

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

Double
转换
(可选)

指定是为地图中的所有图层还是为单个图层转换图形。

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

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

Feature Layer
图形图层后缀
(可选)

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

String
范围
(可选)

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

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 输入的并集 - 该范围将基于所有输入的最大范围。
  • 输入的交集 - 该范围将基于所有输入共用的最小区域。
  • 当前显示范围 - 该范围与可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
将所有图层中的标注转换为单个输出图形图层
(可选)

指定将标注转换为单独的图形图层还是单个图形图层。

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

Boolean
将未放置的标注转换为图形
(可选)

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

  • 未选中 - 仅为当前已标注的要素创建图形。这是默认设置。
  • 选中 - 未放置的图形将在其可见性处于关闭状态的情况下存储在图形图层中。

Boolean
输出图层
(可选)

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

Group Layer

arcpy.cartography.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
(可选)

指定是为地图中的所有图层还是为单个图层转换图形。

  • ALL_LAYERS将地图中所有图层的标注转换为图形。这是默认设置。
  • SINGLE_LAYER标注将转换为单个图层的图形。该图层必须在要素图层参数中指定(Python 中的 single_layer)。
String
single_layer
(可选)

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

Feature Layer
graphics_suffix
(可选)

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

String
extent
(可选)

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

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

指定将标注转换为单独的图形图层还是单个图形图层。

  • SINGLE_GRAPHICS_LAYER所有图层中的标注将转换为单个图形图层。
  • GRAPHICS_LAYER_PER_FEATURE_LAYER标注将转换为与其图层对应的单独图形图层。这是默认设置。
Boolean
generate_unplaced
(可选)

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

  • ONLY_PLACED仅为当前已标注的要素创建图形。这是默认设置。
  • GENERATE_UNPLACED未放置的图形将在其可见性处于关闭状态的情况下存储在图形图层中。
Boolean
output_group_layer
(可选)

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

Group Layer

代码示例

ConvertLabelsToGraphics 示例(Python 窗口)

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

import arcpy
arcpy.cartography.ConvertLabelsToGraphics(
    'Map1', 10000, 'SINGLE_LAYER', 'Schools', 'Graphics', 'MAXOF', 
    'GRAPHICS_LAYER_PER_FEATURE_LAYER', 'ONLY_PLACED', 'GroupGraphics')
ConvertLabelsToGraphics 示例 2(独立脚本)

此独立脚本使用 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: 是

相关主题