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

サマリー

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

使用法

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

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

  • シンボルに加えて、このツールは、時間フィールド3D 標高とオフセットラベル クラスHTML ポップアップの各プロパティも転送します。

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

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

    レイヤーのシンボル情報を適用ツールの図

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

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

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

  • シンボルはレイヤーの継続期間のみ有効です。 レイヤーは、AllSource セッションを保存するか、[レイヤーをファイルへ保存 (Save Layer To File)] ツールを使用してレイヤーをレイヤー ファイルに保存することで、保持できます。

    スクリプト ツールで作成されたシンボルを確認するには、ツールがレイヤーを派生した出力パラメーターとして含む必要があります。 同様に、シンボルの変更を確認するには、モデル ツールで、[更新された入力レイヤー] パラメーター値を派生したモデル パラメーターとして追加する必要があります。

パラメーター

ラベル説明データ タイプ
入力レイヤー

シンボル情報を適用するレイヤー。

Feature Layer; Raster Layer; Layer
シンボル レイヤー

入力レイヤーに適用されるシンボルを含むレイヤー。 .lyrx ファイルと .lyr ファイルの両方をサポートしています。

Layer
シンボル フィールド
(オプション)

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

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

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

  • [値フィールド] - 値のシンボル表示に使用されるプライマリ フィールド
  • [正規化フィールド] - 定量的な値の正規化に使用されるフィールド
  • [除外句フィールド] - シンボル除外句に使用されるフィールド
  • [チャート レンダリング パイ サイズ フィールド] - パイ チャート シンボルのサイズの設定に使用されるフィールド
  • [回転 X の式フィールド] - X 軸に対するシンボルの回転の設定に使用されるフィールド
  • [回転 Y の式フィールド] - Y 軸に対するシンボルの回転の設定に使用されるフィールド
  • [回転 Z の式フィールド] - Z 軸に対するシンボルの回転の設定に使用されるフィールド
  • [透過表示の式フィールド] - シンボルの透過表示の設定に使用されるフィールド
  • [透過表示の正規化フィールド] - 透過値の正規化に使用されるフィールド
  • [サイズの式フィールド] - シンボルのサイズまたは幅の設定に使用されるフィールド
  • [色の式フィールド] - シンボルの色の設定に使用されるフィールド
  • [プリミティブ オーバーライドの式フィールド] - 個々のシンボル レイヤーに対する各種プロパティの設定に使用されるフィールド

Value Table
データごとにシンボル範囲を更新
(オプション)

シンボル範囲を更新するかどうかを指定します。

  • デフォルトシンボル範囲は、入力レイヤーが空の場合、シンボル レイヤーがクラス閾値 (等級色や等級シンボルなど) を使用しており、分類方法が手動または指定間隔である場合、およびシンボル レイヤーが個別値を使用し、[その他の値すべてを表示] オプションがオンの場合を除いて更新されます。
  • 範囲の更新シンボル範囲が更新されます。
  • 範囲の維持シンボル範囲が更新されず、維持されます。
String

派生した出力

ラベル説明データ タイプ
更新された入力レイヤー

更新された入力レイヤー。

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

更新された入力レイヤー。

Layer

コードのサンプル

ApplySymbologyFromLayer の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで ApplySymbologyFromLayer 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data.gdb"
arcpy.management.ApplySymbologyFromLayer("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.management.ApplySymbologyFromLayer(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.management.ApplySymbologyFromLayer(inputLayer, symbologyLayer, 
                                         symbologyFields)
ApplySymbologyFromLayer の例 3 (スクリプト ツール)

スクリプト ツールでは、派生された複数の出力フィーチャ レイヤーにシンボルを適用します。 ツール例には、以下のパラメーターがあります。

  • 入力レイヤー
    • データ タイプ: フィーチャ レイヤー (複数値)
    • タイプ: 必須
    • 方向: 入力
  • シンボル表示
    • データ タイプ: フィーチャ レイヤー
    • タイプ: 必須
    • 方向: 入力
  • 派生した出力
    • データ タイプ: フィーチャ レイヤー (複数値)
    • タイプ: 派生
    • 方向: 出力

# Import system modules
import os
import arcpy

# Get Parameters
layers = arcpy.GetParameter(0)  # Accepts Feature Layers (multivalue)
sym = arcpy.GetParameter(1)  # Accepts a Feature Layer

# Apply symbology to each input layer, store the result objects in a list
results = []
for layer in layers:

    # Derive the name of the output featureclass
    layername = arcpy.Describe(layer).baseName
    outfeature = os.path.join(arcpy.env.scratchGDB, layername + "_out")

    # Copy feature to get output. This step could be replaced by other
				# steps that produce or manipulate a featureclass.
    arcpy.management.CopyFeatures(layer, outfeature)

				# Apply symbology to the each final output
    res = arcpy.management.ApplySymbologyFromLayer(outfeature, sym)

    # Append multivalue feature
    results.append(res)

# Set the symbology of the derived output parameter using the 
# list of result objects
arcpy.SetParameter(2, results)