レイヤ コンテンツの統合(Consolidate Layer) (データ管理)
サマリ
参照されているすべてのデータ ソースをコピーすることにより、1 つまたは複数のレイヤを 1 つのフォルダに統合します。
使用法
サポートされていないレイヤ タイプ(スケマティック レイヤまたはツール レイヤ)にこのツールを使用した場合は、警告が表示されます。サポートされていないレイヤは出力に書き込まれません。
レイヤを統合またはパッケージ化すると、レイヤの名前は <整数><レイヤ名>.lyr という規則に従って変更されます(たとえば、0000roads.lyr など)。この名前の変更は、一意のデータ ソースを参照し ArcMap 内に同じレイヤ名を持つすべてのレイヤが、統合フォルダ内で一意のレイヤ名を持つようにするために必要です。
[データをファイル ジオデータベースへ変換] をオンにしたとき
- 一意のデータ ソースごとに、ファイル ジオデータベースが統合フォルダまたはパッケージに作成されます。
- 圧縮されたラスタ形式およびベクタ形式は、ファイル ジオデータベースに変換され、圧縮は解除されます。
- エンタープライズ ジオデータベースのデータは統合されません。エンタープライズ ジオデータベースのデータをファイル ジオデータベースに変換するには、[データを参照せずにエンタープライズ ジオデータベースのデータを含める] をオンにします。
[データをファイル ジオデータベースへ変換] をオフにしたとき
- 入力レイヤのデータ ソース形式が維持されます。例外は、パーソナル ジオデータベース(*.mdb)データ、VPF データ、Excel スプレッドシートまたは OLEDB 接続に基づくテーブルなどの形式です。これらの形式は、64x 環境ではサポートされないため、常にファイル ジオデータベースに変換されます。
- ADRG、CADRG/ECRG、CIB、および RPF ラスタ形式は、常にファイル ジオデータベース ラスタに変換されます。ArcGIS は、ネイティブにこれらの形式を書き出すことはできません。効率のために、それらは常にファイル ジオデータベース ラスタに変換されます。
- 出力フォルダ構造の中で、ファイル ジオデータベースはバージョン固有のフォルダに統合され、それ以外の形式はすべて commonData フォルダに統合されます。
- 圧縮されたラスタおよびベクタ形式は、[範囲] パラメータに範囲が指定されていても、クリップされません。
-
結合を含むか、リレーションシップ クラスに属するレイヤの場合、結合したデータ ソースまたは関連付けられたデータ ソースはすべて出力フォルダに統合されます。
-
フィーチャ レイヤの場合は、[範囲] パラメータを使用して、統合されるフィーチャを選択します。ラスタ レイヤの場合は、[範囲] パラメータを使用して、ラスタ データセットをクリップします。
-
一部のデータセットは、他のデータセットを参照しています。たとえば、4 つのフィーチャクラスを参照するトポロジ データセットなどがあります。他のデータセットを参照するそれ以外のデータセットの例として、ジオメトリック ネットワーク、ネットワーク、およびロケータを挙げることができます。これらのタイプのデータセットを基にしてレイヤを統合またはパッケージ化するときは、それに属しているデータセットも統合またはパッケージ化されます。
[スキーマのみ] パラメータをオンにすると、入力データ ソースのスキーマだけを統合またはパッケージ化できます。スキーマは、フィーチャクラスまたはテーブルの構造または設計であり、フィールドおよびテーブル定義、座標系プロパティ、シンボル、定義クエリなどで構成されます。データまたはレコードは統合またはパッケージ化されません。
スキーマのみをサポートしないデータ ソースは、統合またはパッケージ化されません。[スキーマのみ] パラメータをオンにしているときに、スキーマのみではサポートされないレイヤが検出されると、警告メッセージが表示され、そのレイヤはスキップされます。指定した唯一のレイヤがスキーマのみではサポートされない場合、ツールは失敗します。
Coverage または VPF レイヤを統合またはパッケージ化すると、Coverage または VPF データセット全体が統合フォルダまたはパッケージにコピーされます。
構文
パラメータ | 説明 | データ タイプ |
in_layer [in_layer,...] |
統合する入力レイヤ。 | Layer |
output_folder |
レイヤ ファイルおよび統合したデータを格納する出力フォルダ | Folder |
convert_data (オプション) |
入力レイヤをファイル ジオデータベースに変換するか、それとも元のフォーマットを保持するかを指定します。
| Boolean |
convert_arcsde_data (オプション) |
入力エンタープライズ ジオデータベース レイヤをファイル ジオデータベースに変換するか、その元の形式を維持するかを指定します。
| Boolean |
extent (オプション) |
範囲パラメータに X-Min Y-Min X-Max Y-Max という形式を使用して座標を入力することによって範囲を指定します。特定レイヤの範囲を使用するには、レイヤ名を指定します。
| Extent |
apply_extent_to_arcsde (オプション) |
指定された範囲をすべてのレイヤに適用するか、エンタープライズ ジオデータベースのレイヤだけに適用するかを決定します。
| Boolean |
schema_only (オプション) |
入力レイヤのスキーマだけを統合またはパッケージ化するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトで、ConsolidateLayer(レイヤ コンテンツの統合)ツールをイミディエイト モードで使用する方法を示します。
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidated_folder', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL","ALL")
指定したフォルダ内に存在するすべてのレイヤ ファイルを検索し、レイヤ ファイルごとに個別の統合フォルダを作成します。
# Name: ConsolidateLayerEx1.py
# Description: Find all the layer files that reside in a specified folder and create a consolidated folder for each layer file.
# import system modules
import os
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Loop through the workspace, find all the layer files (.lyr) and create a consolidated folder for each
# layer file found using the same name as the original layer file.
for lyr in arcpy.ListFiles("*.lyr"):
print "Consolidating " + lyr
arcpy.ConsolidateLayer_management(lyr, os.path.splitext(lyr)[0], "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")
指定したワークスペース内に存在するすべてのレイヤ ファイルを検索し、すべてのレイヤ ファイルに対して 1 つの統合フォルダを作成します。
# Name: ConsolidateLayerEx2.py
# Description: Find all the layer files that reside in a specified folder and create a single
# consolidated folder that will contain all layers found.
# import system modules
import os
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Find all the layer files (.lyr) in a workspace and create a single consolidated folder
lyrs = arcpy.ListFiles("*.lyr")
arcpy.ConsolidateLayer_management(lyrs, 'all_layers',"PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")