标注转图形 (制图)

摘要

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

使用情况

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

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

    注:

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

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

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

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

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

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

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

参数

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

输入地图名称。

Map
转换比例

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

Double
转换
(可选)

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

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

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

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

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

String
范围
(可选)

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

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。
  • 图层范围 图层 - 范围基于活动地图图层。 选择可用图层或者使用所有图层中的数据范围选项。 每个地图图层具有以下选项:

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

  • 浏览 浏览 - 范围将基于数据集。
  • 输入的交集 相交 - 范围将为所有输入的相交范围。
  • 输入的并集 联合 - 范围将为所有输入的合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围和坐标系。 如果剪贴板不包含坐标系,则范围将使用地图的坐标系。
  • 重置范围 重置 - 将范围重置为默认值。

当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。

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标注将转换为单个图层的图形。 必须使用 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 窗口)

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


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

相关主题