标注转图形 (制图)

摘要

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

使用情况

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

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

    注:

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

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

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

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

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

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

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

参数

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

输入地图名称。

Map
转换比例

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

Double
转换
(可选)

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

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

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

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

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

String
范围
(可选)

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

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。 仅在存在活动地图时,才可使用此选项。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。 此选项将在工程地理数据库中创建要素类并将图层添加至地图。 该要素类的坐标系将与地图相同。
    注:

    环境对话框中不提供此选项。 只能在具有范围数据类型的工具参数中或工具对话框的环境选项卡中找到此选项。

    注:

    当选中从“编辑”选项卡启用和禁用编辑编辑选项时,必须在编辑功能区选项卡上启用编辑才能绘制范围。

  • 图层范围 图层 - 范围基于活动地图图层。 使用下拉列表选择可用图层,或使用所有图层中数据的范围选项获取所有活动地图图层(不包括底图)的组合范围。 仅在存在具有图层的活动地图时,才可使用此选项。

    每个地图图层具有以下选项:

    • 所有要素 全选 - 图层中所有要素的范围。
    • 选定要素基于选定要素的区域 - 图层中选定要素的范围。
    • 可见要素 Extent Indicator - 图层中可见要素的范围。
      注:

      选定要素 基于选定要素的区域可见要素 Extent Indicator 选项中的范围仅适用于要素图层。

  • 浏览 浏览 - 范围基于现有数据集。
  • 输入的交集 相交 - 范围将基于所有输入的最小或交叉范围。 如果输入未重叠,则结果为包含所有零值的空范围。
  • 输入的并集 联合 - 范围将基于所有输入的最大或合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围坐标和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围坐标和(可选)坐标系。 如果剪贴板值不包含坐标系,则范围将使用地图的坐标系。
    注:

    将使用与 ArcPy Extent 对象相同的格式和顺序从剪贴板中复制和粘贴范围坐标:x-min、y-min、x-max、y-max 和空间参考。

  • 重置范围 重置 - 将范围重置为默认值。
  • 手动输入坐标 - 坐标必须是数值,并且与活动地图的坐标系相匹配。
    警告:

    地图可能使用与输入的坐标不同的显示单位。 不支持使用主方向(N、S、E、W)。 在南纬和西经坐标中使用负号。

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: 是

相关主题