描述
用于将指定图层或图层文件中的符号系统应用于输入。此工具可应用于要素、栅格、网络分析、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 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: 是