レイヤーのシンボル情報を適用 (Apply Symbology From Layer) (データ管理)

概要

このツールは、指定したレイヤーまたはレイヤー ファイルから入力レイヤーにシンボル情報を適用します。フィーチャ、ラスター、ネットワーク解析、TIN、および Geostatistical レイヤーに適用することができます。

使用法

  • シンボル レイヤーは入力レイヤーのデータ タイプに一致する必要があります。たとえば、フィーチャ レイヤーをラスター レイヤーに適用することはできません。その逆も同様です。

  • シンボル情報は同じジオメトリのフィーチャだけに適用することができます。たとえば、ポイント シンボルをポリゴン レイヤーに適用することはできません。

  • このツールでは、立ち上げやオフセットなどの 3D プロパティはサポートされません。

  • 入力がフィーチャクラスまたはデータセット パスの場合、このツールは、ツールの結果が適用された新しいレイヤーを自動的に作成して返します。

  • [データごとにシンボル範囲を更新] パラメーターでシンボル範囲を維持または更新できます。デフォルトのシンボル表示方法は動的です。たとえば、シンボル レイヤーの 5 段階の自然分類方式が入力レイヤーに適用され、範囲の値が更新されて、入力レイヤーの Shape_Area の値が反映されています。範囲の維持では、シンボル レイヤーと同じ値が使用されます。更新では、入力レイヤーの Shape_Area フィールドから 5 段階の自然分類方式を作成します。

    [レイヤーのシンボル情報を適用 (Apply Symbology From Layer)] の例

    次の処理が動的に行われます。

    • フィーチャに対する個別値のシンボル表示
      • 個別値が更新されて、入力レイヤーの値が反映されます。
      • 個別値分類が更新されないようにするには、シンボル レイヤーで [<その他の値すべて>] のデフォルト シンボルを選択します。
    • フィーチャに対する等級色のシンボル表示
      • 範囲の値が入力レイヤーの値に更新されます。
      • 範囲出力が更新されないようにするには、手動分類を選択します。
    • ラスターに対する分類値のレンダリング
      • 範囲の値が更新され、入力レイヤーの値が反映されます。
      • 範囲出力が更新されないようにするには、手動分類を選択します。

  • [データごとにシンボル範囲を更新] パラメーターを [範囲の維持] に設定すると、ラベルが [シンボル レイヤー] から [入力レイヤー] にコピーされます。パラメーターを [範囲の更新] に設定すると、ラベルは再計算されます。

構文

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],...]
(オプション)

シンボル レイヤーで使用されているシンボル フィールドと一致する入力レイヤーのフィールド。シンボル フィールドには次の 3 つのプロパティが含まれています:

  • フィールド タイプ - シンボル値、正規化フィールド、またはその他のタイプのフィールド タイプを指定します。
  • ソース フィールド - シンボル レイヤーで使用されているシンボル フィールド。ソース フィールドがわからず、デフォルトを使用する場合は、値を空白のままにするか、"#" を使用します。
  • ターゲット フィールド - シンボルの適用時に使用する入力レイヤーのフィールド。

サポートされているフィールド タイプは次のとおりです。

  • 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: はい

関連トピック