描述
用于将指定图层或图层文件中的符号系统应用于输入。此工具可应用于要素、栅格、网络分析、TIN 以及地理统计图层。
使用方法
符号系统图层必须与输入图层的数据类型相匹配;例如,不能将要素图层应用到栅格图层,反之亦然。
符号系统只能应用于几何相同的要素;例如,点符号系统无法应用于面图层。
此工具不支持拉伸和偏移等 3D 属性。
如果输入为要素类或数据集路径,则此工具将自动创建并返回应用了该工具结果的新图层。
可以选择在按数据更新符号系统范围参数中维护或更新符号系统范围。默认符号系统方法是动态的。例如,将符号系统图层中的五类“自然间断点”分类方法应用于输入图层,并更新范围值以反映输入图层的 Shape_Area 值。维护范围将使用与符号系统图层相同的值。更新将根据输入图层 Shape_Area 字段形成五类“自然间断点”分类方法。
以下方法是动态的:
- 要素的唯一值符号系统
- 对唯一值进行更新以反映输入图层的值。
- 如果不想更新唯一值分类,请选择符号系统图层中的 <所有其他值> 默认符号。
- 要素的分级色彩符号系统
- 将范围值更新为输入图层的值。
- 如果不想更新范围输出,则选择手动分类。
- 栅格的分类值渲染
- 对范围值进行更新以反映输入图层的值。
- 如果不想更新范围输出,则选择手动分类。
- 要素的唯一值符号系统
将按数据更新符号系统范围参数设置为维护范围可将符号系统图层中的标注复制到输入图层。如果将此参数设置为更新范围,则将重新计算标注。
语法
arcpy.management.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 Table |
update_symbology (可选) | 指定是否将更新符号系统范围。 | String |
派生输出
名称 | 说明 | 数据类型 |
out_layer | 已更新的输入图层。 | 图层 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 ApplySymbologyFromLayer 函数。
import arcpy
arcpy.env.workspace = "C:/data.gdb"
arcpy.ApplySymbologyFromLayer_management("sf_points", "sf_points_water.lyrx")
以下独立脚本显示了如何在独立脚本中使用 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 函数。
# 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: 是