サマリー
参照されているすべてのデータ ソースをコピーすることにより、1 つまたは複数のレイヤーを 1 つのフォルダーに統合します。
使用法
このツールはサポートされていないレイヤー タイプを見つけると警告を出します。サポートされていないレイヤーは出力に書き込まれません。
レイヤーを統合またはパッケージ化すると、レイヤーの名前は <integer><layername>.lyr という規則に従って変更されます (たとえば、0000roads.lyr など)。この名前の変更は、一意のデータ ソースを参照し ArcMap 内に同じレイヤー名を持つすべてのレイヤーが、統合フォルダー内で一意のレイヤー名を持つようにするために必要です。
[データをファイル ジオデータベースへ変換] をオン (Python では convert_data='CONVERT') にしたとき、以下が発生します。
- 一意のデータ ソースごとに、ファイル ジオデータベースが統合フォルダーまたはパッケージに作成されます。
- 圧縮されたラスター形式およびベクター形式は、ファイル ジオデータベースに変換され、圧縮は解除されます。
- エンタープライズ ジオデータベースのデータは統合されません。エンタープライズ ジオデータベースのデータをファイル ジオデータベースに変換するには、[データを参照せずにエンタープライズ ジオデータベースのデータを含める] をオンにします。
[データをファイル ジオデータベースへ変換] をオフ (Python では convert_data='PRESERVE') にしたとき、以下が発生します。
- 入力レイヤーのデータ ソース形式が維持されます。例外は、パーソナル ジオデータベース データ (*.mdb)、VPF データ、Excel スプレッドシートまたは OLEDB 接続に基づくテーブルなどの形式です。これらの形式は、64x 環境ではサポートされないため、常にファイル ジオデータベースに変換されます。
- ADRG、CADRG/ECRG、CIB、および RPF ラスター形式は、常にファイル ジオデータベース ラスターに変換されます。ArcGIS は、ネイティブにこれらの形式を書き出すことはできません。効率のために、それらは常にファイル ジオデータベース ラスターに変換されます。
- 出力フォルダー構造の中で、ファイル ジオデータベースはバージョン固有のフォルダーに統合され、それ以外の形式はすべて commonData フォルダーに統合されます。
- 圧縮されたラスターおよびベクター形式は、[範囲] パラメーターに範囲が指定されていても、クリップされません。
結合を含むか、リレーションシップ クラスに属するレイヤーの場合、結合したデータ ソースまたは関連付けられたデータ ソースはすべて出力フォルダーに統合されます。
フィーチャ レイヤーの場合は、[範囲] パラメーターを使用して、統合されるフィーチャを選択します。ラスター レイヤーの場合は、[範囲] パラメーターを使用して、ラスター データセットをクリップします。
一部のデータセットは、他のデータセットを参照しています。たとえば、4 つのフィーチャクラスを参照するトポロジ データセットなどがあります。他のデータセットを参照するそれ以外のデータセットの例として、ジオメトリック ネットワーク、ネットワーク、およびロケーターを挙げることができます。これらのタイプのデータセットを基にしてレイヤーを統合またはパッケージ化するときは、それに属しているデータセットも統合またはパッケージ化されます。
[スキーマのみ] パラメーターをオン (Python では schema_only='SCHEMA_ONLY') にすると、入力データ ソースのスキーマだけを統合またはパッケージ化できます。スキーマは、フィーチャクラスまたはテーブルの構造または設計であり、フィールドおよびテーブル定義、座標系プロパティ、シンボル、フィルター設定などで構成されます。データまたはレコードは統合またはパッケージ化されません。
スキーマのみをサポートしないデータ ソースは、統合またはパッケージ化されません。[スキーマのみ] パラメーターをオンにしているときに、スキーマのみではサポートされないレイヤーが検出されると、警告メッセージが表示され、そのレイヤーはスキップされます。指定した唯一のレイヤーがスキーマのみではサポートされない場合、ツールは失敗します。
Coverage または VPF レイヤーを統合またはパッケージ化すると、Coverage または VPF データセット全体が統合フォルダーまたはパッケージにコピーされます。
構文
ConsolidateLayer_management (in_layer, output_folder, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only})
パラメーター | 説明 | データ タイプ |
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 |
コードのサンプル
ConsolidateLayer (レイヤー コンテンツの統合) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで ConsolidateLayer ツールを使用する方法を示しています。
import arcpy
arcpy.env.workspace = 'C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers'
arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidated_folder', 'PRESERVE', 'CONVERT_ARCSDE')
ConsolidateLayer (統合レイヤー) の例 2 (スタンドアロン スクリプト)
指定したフォルダー内に存在するすべてのレイヤー ファイルを検索し、レイヤー ファイルごとに個別の統合フォルダーを作成します。
# import system modules
import os
import arcpy
# Set environment settings
arcpy.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 {}'.format(lyr))
arcpy.ConsolidateLayer_management(lyr, os.path.splitext(lyr)[0], 'PRESERVE', 'CONVERT_ARCSDE')
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい