レイヤのパッケージ化(Package Layer) (データ管理)
サマリ
1 つまたは複数のレイヤおよびすべての参照先データ ソースをパッケージ化し、単一の圧縮 *.lpk ファイルを作成します。
使用法
サポートされていないレイヤ タイプ(スケマティック レイヤまたはツール レイヤ)にこのツールを使用した場合は、警告が表示されます。サポートされていないレイヤは、出力に書き込まれません。
ツールを実行するには、すべての入力レイヤに説明を追加する必要があります。説明を追加するには、レイヤを右クリックし、[プロパティ] をクリックして、説明を入力します。
レイヤを統合またはパッケージ化すると、レイヤの名前は <整数><レイヤ名>.lyr という規則に従って変更されます(たとえば、0000roads.lyr など)。この名前の変更は、一意のデータ ソースを参照し ArcMap 内に同じレイヤ名を持つすべてのレイヤが、統合フォルダ内で一意のレイヤ名を持つようにするために必要です。
レイヤ パッケージは、ArcGIS 10 および ArcGIS 9.3.1 と後方互換性があります。以前のバージョンと互換性のあるレイヤ パッケージを作成するには、[パッケージ バージョン] パラメータを使用します。一部のジオデータベース エレメントが更新、機能強化されたため、必ずしもすべてのレイヤ パッケージに後方互換性があるとは限りません。この点は重要ですので、注意してください。
[データをファイル ジオデータベースへ変換] をオンにしたとき
- 一意のデータ ソースごとに、ファイル ジオデータベースが統合フォルダまたはパッケージに作成されます。
- 圧縮されたラスタ形式およびベクタ形式は、ファイル ジオデータベースに変換され、圧縮は解除されます。
- エンタープライズ ジオデータベースのデータは統合されません。エンタープライズ ジオデータベースのデータをファイル ジオデータベースに変換するには、[データを参照せずにエンタープライズ ジオデータベースのデータを含める] をオンにします。
[データをファイル ジオデータベースへ変換] をオフにしたとき
- 入力レイヤのデータ ソース形式が維持されます。例外は、パーソナル ジオデータベース(*.mdb)データ、VPF データ、Excel スプレッドシートまたは OLEDB 接続に基づくテーブルなどの形式です。これらの形式は、64x 環境ではサポートされないため、常にファイル ジオデータベースに変換されます。
- ADRG、CADRG/ECRG、CIB、および RPF ラスタ形式は、常にファイル ジオデータベース ラスタに変換されます。ArcGIS は、ネイティブにこれらの形式を書き出すことはできません。効率のために、それらは常にファイル ジオデータベース ラスタに変換されます。
- 出力フォルダ構造の中で、ファイル ジオデータベースはバージョン固有のフォルダに統合され、それ以外の形式はすべて commonData フォルダに統合されます。
- 圧縮されたラスタおよびベクタ形式は、[範囲] パラメータに範囲が指定されていても、クリップされません。
-
結合を含むか、リレーションシップ クラスに属するレイヤの場合、結合したデータ ソースまたは関連付けられたデータ ソースはすべて出力フォルダに統合されます。
-
フィーチャ レイヤの場合は、[範囲] パラメータを使用して、統合されるフィーチャを選択します。ラスタ レイヤの場合は、[範囲] パラメータを使用して、ラスタ データセットをクリップします。
-
一部のデータセットは、他のデータセットを参照しています。たとえば、4 つのフィーチャクラスを参照するトポロジ データセットなどがあります。他のデータセットを参照するそれ以外のデータセットの例として、ジオメトリック ネットワーク、ネットワーク、およびロケータを挙げることができます。これらのタイプのデータセットを基にしてレイヤを統合またはパッケージ化するときは、それに属しているデータセットも統合またはパッケージ化されます。
[スキーマのみ] パラメータをオンにすると、入力データ ソースのスキーマだけを統合またはパッケージ化できます。スキーマは、フィーチャクラスまたはテーブルの構造または設計であり、フィールドおよびテーブル定義、座標系プロパティ、シンボル、定義クエリなどで構成されます。データまたはレコードは統合またはパッケージ化されません。
スキーマのみをサポートしないデータ ソースは、統合またはパッケージ化されません。[スキーマのみ] パラメータをオンにしているときに、スキーマのみではサポートされないレイヤが検出されると、警告メッセージが表示され、そのレイヤはスキップされます。指定した唯一のレイヤがスキーマのみではサポートされない場合、ツールは失敗します。
Coverage または VPF レイヤを統合またはパッケージ化すると、Coverage または VPF データセット全体が統合フォルダまたはパッケージにコピーされます。
-
レイヤ パッケージを解凍するには、*.lpk ファイルを ArcMap にドラッグするか、*.lpk ファイルを右クリックし、[解凍] を選択します。あるいは、[パッケージの抽出(Extract_Package)] ツールを使用して、出力フォルダを指定することもできます。
デフォルトでは、[解凍] を実行すると、次の格納場所にあるユーザ プロファイルが常にパッケージの抽出先になります。
- XP - C:\Documents and Settings\<ユーザ名>\My Documents\ArcGIS\Packages
- Vista および Windows 7 - C:\Users\<ユーザ名>\Documents\ArcGIS\Packages
パッケージを解凍するデフォルトの場所を変更するには、[カスタマイズ] メニューから [ArcMap オプション] を開きます。[共有] タブの [パッケージ] セクションで、[ユーザが指定した場所を使用する] をオンにして、新しいフォルダの場所を選択します。
構文
パラメータ | 説明 | データ タイプ |
in_layer [in_layer,...] |
パッケージ化するレイヤ。 | Layer |
output_file |
作成する出力パッケージ ファイル(*.lpk)の格納場所と名前。 | File |
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 |
version [version,...] (オプション) |
出力パッケージ内に作成される、ジオデータベースのバージョンを指定します。バージョンを指定すると、パッケージを以前のバージョンと共有できるようになり、後方互換性がサポートされます。
| String |
additional_files (オプション) |
ファイルをパッケージに追加します。*.doc、*.txt、*.pdf などの追加ファイルは、パッケージのコンテンツや目的に関する詳細を提供します。 | File |
summary (オプション) |
サマリ情報をパッケージのプロパティに追加します。 | String |
tags (オプション) |
タグ情報をパッケージのプロパティに追加します。カンマやセミコロンで区切ることで、複数のタグを追加できます。 | String |
コードのサンプル
次の Python スクリプトは、Python ウィンドウの内部から PackageLayer(レイヤのパッケージ化)ツールを使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
arcpy.PackageLayer_management('Parcels.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT", "C:/readme.docx","Summary of package","parcel,montgomery")
指定したフォルダ内に存在するすべてのレイヤ ファイル用のレイヤ パッケージを個別に検索、作成します。
# Name: PackageLayerEx1.py
# Description: Find all the layer files that reside in a specified folder and create a layer package 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 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", "#","Summary of package","tag1, tag2")
指定したフォルダ内に存在するすべてのレイヤ ファイル用のレイヤ パッケージを 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.
# 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", "#","Summary of package","tag1,tag2")