レイヤのパッケージ化(Package Layer) (データの管理)
サマリ
1 つまたは複数のレイヤおよびすべての参照先データ ソースをパッケージ化し、単一の圧縮 *.lpk ファイルを作成します。
図
使用法
サポートされていないレイヤ タイプ(スケマティック レイヤまたはツール レイヤ)にこのツールを使用した場合は、警告が表示されます。サポートされていないレイヤは、出力に書き込まれません。
[マップのパッケージ化(Package Map)] ツールを実行するには、説明を入力レイヤに追加する必要があります。説明を追加するには、レイヤを右クリックし、[プロパティ] をクリックして、説明を入力します。
レイヤを統合するかパッケージ化したとき、結果として生成されたレイヤは、整数 + レイヤ名という規則に基づいて名前が変更されます(たとえば、0001fGDB_Polylayer.lyr のようになります)。番号付きシーケンスは、コンテンツ ウィンドウに表示されるレイヤの順序を維持する目的で追加されます。パッケージを解凍したときに、番号が小さいレイヤほど、コンテンツ ウィンドウの上部に表示されます。
レイヤ パッケージは、ArcGIS 9.3.1 と後方互換性があります。9.3.1 と互換性のあるレイヤ パッケージを作成するには、オプションの [パッケージ バージョン] パラメータで 9.3.1 のオプションをオンにします。一部のジオデータベース エレメントが更新、機能強化されたため、必ずしもすべてのレイヤ パッケージに 9.3.1 と後方互換性があるとは限りません。この点は重要ですので、注意してください。
[データをファイル ジオデータベースへ変換] がオンの場合
- データ ソースごとに、固有のファイル ジオデータベースが統合フォルダに作成されます。
- 圧縮されたラスタ形式およびベクタ形式は、ファイル ジオデータベースに変換され、圧縮は解除されます。
[データをファイル ジオデータベースへ変換] がオフの場合
- パーソナル ジオデータベース内のデータを参照するレイヤは常にファイル ジオデータベースに変換されますが、この点を除けば、入力レイヤの形式は保持されます。
- データ ソースはそれぞれ独自の形式を保持します。ファイル ジオデータベースはバージョン固有のフォルダに統合されます。それ以外の形式はすべて commonData フォルダ内部に統合されます。
- ArcSDE データ ソースを参照するレイヤは接続情報を保持し、統合フォルダ内またはパッケージ内の ArcSDE データ ソースを参照し続けます。
- ADRG、CADRG/ECRG、CIB、および RPF ラスタ形式は、常にファイル ジオデータベース ラスタに変換されます。ArcGIS では、それらの形式をネイティブに書き出すことはできません。効率向上を図るために、常にファイル ジオデータベース ラスタに変換されます。
- 圧縮ラスタ形式およびベクトル形式は、[範囲] パラメータで範囲が指定されていても、クリッピングの対象から外されます。
-
レイヤが結合を含んでいるか、またはリレーションシップ クラスに関与する場合、結合済みデータ ソースまたは関連データ ソースがすべて出力フォルダに統合されます。
-
フィーチャ レイヤに対しては、[範囲] パラメータを使用して、統合されるフィーチャを選択します。ラスタ レイヤに対しては、[範囲] パラメータを使用して、ラスタ データセットをクリップします。
-
データセットによっては、他のデータセットを参照するものもあります。たとえば、4 つのフィーチャクラスを参照するトポロジ データセットがあるとします。他のデータセットを参照するデータセットの例としては、それ以外にも、ジオメトリック ネットワーク、ネットワーク、ロケータなどがあります。それらのタイプのデータセットに基づいてレイヤを統合するかパッケージ化すると、関与するデータセットも統合またはパッケージ化されます。
[スキーマのみ] パラメータがオンの場合、入力データソースのスキーマのみが統合されます。スキーマとは、フィールド定義、テーブル定義、座標系プロパティ、シンボル、フィルタ設定などで構成されるフィーチャクラスまたはフィーチャ テーブルの構成または設計です。データまたはレコードは、統合対象外です。
[スキーマのみ] をサポートしないデータ ソースは、統合またはパッケージ化の対象から外されます。[スキーマのみ] パラメータがオンの場合、[スキーマのみ] をサポートしないレイヤは、ツールに検出されますが、警告メッセージが表示されて、そのレイヤの処理は省略されます。指定したレイヤが [スキーマのみ] をサポートしていない場合、ツールはエラー終了します。
カバレッジ レイヤまたは VPF レイヤを統合するかパッケージ化すると、カバレッジ データセットまたは VPF データセット全体が統合フォルダまたパッケージにコピーされます。
-
レイヤ パッケージを解凍するには、*.lpk ファイルを ArcMap にドラッグするか、*.lpk ファイルを右クリックし、[解凍] を選択します。代わりに、[パッケージの抽出(Extract Package)] ツールを使用して、出力フォルダを指定しても同じです。
[解凍] では、常に次の格納場所にあるユーザ プロファイルがパッケージ抽出先になります。
- XP - C:\Documents and Settings\username\My Documents\ArcGIS\Packages
- Vista および Windows 7 - C:\Users\username\Documents\ArcGIS\Packages
構文
パラメータ | 説明 | データ タイプ |
in_layer [in_layer,...] |
パッケージ化するレイヤ。 | Layer |
output_file |
作成する出力パッケージ ファイル(*.lpk)の格納場所と名前。 | File |
convert_data (オプション) |
入力レイヤをファイル ジオデータベースに変換するか、それとも元のフォーマットを保持するかを指定します。
| Boolean |
convert_arcsde_data (オプション) |
入力レイヤをファイル ジオデータベースに変換するか、それとも元の形式を保持するかを指定します。
| Boolean |
extent (オプション) |
範囲パラメータで、座標を「最小 X 最小 Y 最大 X 最大 Y」形式で手動入力して、範囲を指定します。加えて、特定のレイヤの範囲を使用する場合は、その範囲パラメータのレイヤ名だけを追加してください。
| Extent |
apply_extent_to_arcsde (オプション) |
ArcSDE データ ソースの選択に使用する範囲を指定します。
| Boolean |
schema_only (オプション) |
入力レイヤのスキーマを統合するか、それともパッケージ化するかを指定します。
| Boolean |
version [version,...] (オプション) |
入力レイヤをファイル ジオデータベースに変換するか、それとも元のフォーマットを保持するかを指定します。バージョンを複数指定する場合は、たとえば「CURRENT;9.3.1」のように、引数をセミコロンで区切ります。
| String |
コードのサンプル
次の Python スクリプトは、Python ウィンドウの内部から PackageLayer(レイヤのパッケージ化)ツールを使用する方法を示しています。
import arcpy arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" arcpy.PackageLayer_management('Parcel.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT")
指定したフォルダ内に存在するすべてのレイヤ ファイル用に、レイヤ パッケージを個別に検索、作成します。
# Name: PackageLayerEx1.py # Description: Find all the layer files that reside in a specified folder and create a layer package for each layer file. # Author: ESRI # 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 layer package using the same name as the original layer file. for lyr in arcpy.ListFiles("*.lyr"): print "Packaging " + lyr arcpy.PackageLayer_management(lyr, os.path.splitext(lyr)[0] + '.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT")
指定したフォルダ内に存在するすべてのレイヤ ファイル用に、レイヤ パッケージを 1 つ検索、作成します。
# Name: PackageLayerEx2.py # Description: Find all the layer files that reside in a specified folder and create a single layer package that will contain all layers found. # Author: ESRI # 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 layer package. lyrs = arcpy.ListFiles("*.lyr") arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT")