应用图层的符号设置 (数据管理)

描述

用于将指定图层或图层文件中的符号系统应用于输入。此工具可应用于要素、栅格、网络分析、TIN 以及地理统计图层。

使用方法

  • 符号系统图层必须与输入图层的数据类型相匹配;例如,不能将要素图层应用到栅格图层,反之亦然。

  • 符号系统只能应用于几何相同的要素;例如,点符号系统无法应用于面图层。

  • 此工具不支持拉伸和偏移等 3D 属性。

  • 如果输入为要素类或数据集路径,则此工具将自动创建并返回应用了该工具结果的新图层。

  • 可以选择在按数据更新符号系统范围参数中维护或更新符号系统,或保留默认值。默认情况下,符号系统方法是动态的;例如,对符号系统进行更新以反映输入图层的特性,如下图所示。将符号系统图层中的五类“自然间断点”分类方法应用于输入图层,并更新范围值以反映输入图层的 Shape_Area 值。

    应用图层的符号系统示例

    以下方法是动态的:

    • 要素的唯一值符号系统
      • 对唯一值进行更新以反映输入图层的值。
      • 如果不想更新唯一值分类,请选择符号系统图层中的 <所有其他值> 默认符号。
    • 要素的分级色彩符号系统
      • 将范围值更新为输入图层的值。
      • 如果不想更新范围输出,则选择手动分类。
    • 栅格的分类值渲染
      • 对范围值进行更新以反映输入图层的值。
      • 如果不想更新范围输出,则选择手动分类。

  • 无论按数据更新符号系统范围参数值如何,所有标注类都将从符号系统图层复制到输入图层

语法

ApplySymbologyFromLayer(in_layer, in_symbology_layer, {symbology_fields}, {update_symbology})
参数说明数据类型
in_layer

将应用符号系统的图层。

Feature Layer; Raster Layer; Layer
in_symbology_layer

此图层的符号系统将应用于输入图层。支持 .lyrx.lyr 文件。

Layer
symbology_fields
[[field_type, source_field, target_field],...]
(可选)

与符号系统图层中使用的符号系统字段相匹配的输入图层中的字段。符号系统字段包含以下三个属性:

  • 字段类型 - 指定字段类型:符号系统值、归一化或其他类型。
  • 源字段 - 符号系统图层中使用的符号系统字段。如果不知道源字段并要使用默认值,请使用空白值或 "#"
  • 目标字段 - 应用符号系统时要使用的输入图层中的字段。

支持的字段类型如下:

  • VALUE_FIELD - 用于对值进行符号化的主要字段
  • NORMALIZATION_FIELD - 用于对定量值进行归一化的字段
  • EXCLUSION_CLAUSE_FIELD - 用于符号系统排除子句的字段。
  • CHART_RENDERER_PIE_SIZE_FIELD - 用于设置饼图符号大小的字段
  • ROTATION_XEXPRESSION_FIELD - 用于设置 x 轴上符号旋转的字段
  • ROTATION_YEXPRESSION_FIELD - 用于设置 y 轴上符号旋转的字段
  • ROTATION_ZEXPRESSION_FIELD - 用于设置 z 轴上符号旋转的字段
  • TRANSPARENCY_EXPRESSION_FIELD - 用于设置符号透明度的字段
  • TRANSPARENCY_NORMALIZATION_FIELD - 用于归一化透明度值的字段
  • SIZE_EXPRESSION_FIELD - 用于设置符号大小或宽度的字段
  • COLOR_EXPRESSION_FIELD - 用于设置符号颜色的字段
  • PRIMITIVE_OVERRIDE_EXPRESSION_FIELD - 用于设置单个符号图层上各种属性的字段

Value Table
update_symbology
(可选)

指定是否将更新符号系统范围。

  • DEFAULT除了以下情况外,将更新符号系统范围:
    • 当输入图层为空时
    • 当符号系统图层使用分类间隔(例如,分级色彩分级符号),并且分类方法为手动间隔或定义间隔时
    • 当符号系统图层使用唯一值,并且选中显示所有其他值选项时
  • UPDATE符号系统范围将更新。
  • MAINTAIN符号系统范围将不会更新;这些范围将保留不变。
String

派生输出

名称说明数据类型
out_layer

已更新的输入图层。

图层

代码示例

ApplySymbologyFromLayer 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ApplySymbologyFromLayer 函数。

import arcpy
arcpy.env.workspace = "C:/data.gdb"
arcpy.ApplySymbologyFromLayer_management("sf_points", "sf_points_water.lyrx")
ApplySymbologyFromLayer 示例 2(独立脚本)

以下独立脚本显示了如何在脚本中使用 ApplySymbologyFromLayer 函数。

# Import system modules
import arcpy
# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"
# Set layer to apply symbology to
inputLayer = "sf_points"
# Set layer that output symbology will be based on
symbologyLayer = "water_symbols_pnt.lyrx"
# Apply the symbology from the symbology layer to the input layer
arcpy.ApplySymbologyFromLayer_management(inputLayer, symbologyLayer)
ApplySymbologyFromLayer 示例 3(独立脚本)

以下独立脚本显示了如何在脚本中使用 ApplySymbologyFromLayer 函数。

# Import system modules
import arcpy
# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"
# Set layer to apply symbology to
inputLayer = "InlandEmpireBlocks"
# Set layer that output symbology will be based on
symbologyLayer = "USCensusBlocks.lyrx"
# The symbology layer is symbolized by population normalized by area.
# Symbolize the input by Pop2014 field normalized to Square Miles
symbologyFields = [["VALUE_FIELD", "#", "Pop2014"], 
                   ["NORMALIZATION_FIELD", "#", "SQ_MILES"]]
# Apply the symbology from the symbology layer to the input layer
arcpy.ApplySymbologyFromLayer_management (inputLayer, symbologyLayer, symbologyFields)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题