ファイル ジオデータベースのデータの圧縮
ファイル ジオデータベースでは、フィーチャクラス(ベクタ データ)とテーブルを読み取り専用形式に圧縮することにより、格納要件を軽減できます(このトピックにおいて以下では、フィーチャクラスとテーブルをまとめて「データセット」と呼びます)。圧縮したときの表示やクエリのパフォーマンスは、非圧縮データとほぼ同じです。操作によってはパフォーマンスが若干向上することもあれば、処理が若干遅くなることもあります。
適用される圧縮方式は可逆圧縮であり、データを圧縮する際には、データセットに含まれている座標系または属性データの種類にかかわらず、情報は失われません。圧縮されたデータセットと非圧縮データセットの違いは、編集にあります。圧縮されたデータセットは読み取り専用なので、その名前の変更または属性インデックスおよびメタデータの修正を除き、どのような方法でも編集または変更することはできません。
圧縮されたデータセットは、ArcCatalog および ArcMap 上で、非圧縮時と同じように表示して、編集以外の操作を行うことができます。圧縮されたデータはダイレクト アクセス形式なので、ArcGIS と ArcReader ではデータを直接読み取れます。データにアクセスするたびに解凍する必要はありません。
通常、圧縮は、それ以上編集する必要のない、完成度の高いデータセットに適用します。ただし、必要であれば、圧縮されたデータセットを元の非圧縮状態(読み取り/書き込み形式)にいつでも戻すことができます。
データの圧縮
圧縮の対象になるのは、ジオデータベース、フィーチャ データセット、スタンドアロン フィーチャクラス、またはテーブルです。カタログ ツリーでアイテムを右クリックし、[ファイル ジオデータベースの圧縮] をクリックします。
ジオデータベースを圧縮すると、そのジオデータベース内のすべてのフィーチャクラスとテーブルが圧縮されます。フィーチャ データセットを圧縮すると、そのデータセットに属するすべてのフィーチャクラスが圧縮されます。
圧縮および解凍の機能は、[データ管理ツール] ツールボックスに含まれている [ファイル ジオデータベース] ツールセットのジオプロセシング ツールからも利用することができます。詳細については、「[ファイル ジオデータベース] ツールセットの概要」をご参照ください。
圧縮されたフィーチャクラスやテーブルは、非圧縮時と同じように見えますが、データが圧縮されているかどうかは、ArcCatalog の [コンテンツ] タブに表示されたフィーチャクラスやテーブルから判断できます。フィーチャクラスやテーブルが圧縮されている場合は、[Type] 列に「(圧縮)」が表示されます。
データが圧縮されているかどうかを確認する別の方法として、フィーチャクラスまたはテーブルの [プロパティ] ダイアログ ボックスを開き、[一般] タブの [ファイル ジオデータベース圧縮] で確認する方法もあります。
圧縮の利点
圧縮されたファイル ジオデータベースは、非圧縮データよりもディスク領域を消費しないにもかかわらず、表示や検索のパフォーマンスは維持されます。
フィーチャクラスやテーブルの圧縮率は、ほんのわずかな圧縮から、4 対 1 を超えるものまで幅があります。どれくらいの圧縮が可能であるかは、座標の構成や、属性フィールドの数と属性値の内容によります。
フィーチャクラスの圧縮率を決定する最も重要な要素は、フィーチャあたりの頂点の平均点数です。ポイントとシンプルな頂点 2 つのラインでは、多くの頂点を持つラインやポリゴンよりも、よい圧縮率が得られます。たとえば、住所座標のポイントや頂点の数が少ない道路のフィーチャクラスが 3 対 1 の割合で圧縮されるとすれば、頂点の数が多い河川や土壌データのフィーチャクラスは 3 対 2 の割合でしか圧縮されないなどの場合があります。頂点の数が多いフィーチャは、非圧縮状態ですでに効率的に格納されており、結果として、圧縮の効果はあまり期待できません。属性フィールドも、圧縮率を決定する 1 つの要因となります。テキスト、整数、日付フィールドは、単精度や倍精度の浮動小数点数のフィールドよりも圧縮することができます。
次の例は、非圧縮形式と圧縮形式のファイル サイズを比較したものです。元のサイズからの大幅な圧縮を達成したフィーチャクラス Europe places は、ポイント フィーチャクラスです。最も圧縮率の低かったフィーチャクラス Mexico roads は、フィーチャあたりの頂点の数が多いライン フィーチャクラスです。
フィーチャクラス |
解凍後のサイズ |
圧縮サイズ |
圧縮率 |
---|---|---|---|
Europe places(61,541 ポイント フィーチャ、14 フィールド) |
6.2MB |
1.3MB |
4.8 |
Germany streets(7,118,614 ライン フィーチャ、83 フィールド) |
2.3GB |
511MB |
4.5 |
U.S. census blocks(8,205,055 ポイント フィーチャ、11 フィールド) |
705MB |
162MB |
4.4 |
California roads(2,092,079 ライン フィーチャ、29 フィールド) |
329MB |
83MB |
3.9 |
Europe rails(383,531 ライン フィーチャ、12 フィールド) |
58MB |
17MB |
3.4 |
Calgary addresses(285,285 ポイント フィーチャ、8 フィールド) |
21MB |
7.4MB |
2.8 |
Calgary buildings(319,000 ポリゴン フィーチャ、9 フィールド) |
48MB |
20MB |
2.4 |
U.S. rivers and streams(2,844,231 ライン フィーチャ、9 フィールド) |
878MB |
442MB |
2.0 |
U.S. counties(3,140 ポリゴン フィーチャ、57 フィールド) |
1.6MB |
1.0MB |
1.6 |
Europe water(232,375 ポリゴン フィーチャ、10 フィールド) |
176MB |
125MB |
1.4 |
U.S. traffic analysis zones(166,747 ポリゴン フィーチャ、10 フィールド) |
68MB |
46MB |
1.4 |
Mexico roads(5,847 ライン フィーチャ、7 フィールド) |
3.5MB |
2.7MB |
1.3 |
通常、テーブルは 2 対 1 を超える割合で圧縮されます。圧縮率において冗長性は最も重要な要素です。レコード間であまり変化しない値を持つフィールドは、多くの一意な値を持つフィールドよりも圧縮されます。フィーチャクラスと同様に、テキスト、整数、日付フィールドは、単精度や倍精度の浮動小数点数のフィールドよりも圧縮されます。
どのようなサイズのデータでも圧縮を行うことが可能ですが、圧縮が最も効果的なのは、大量のデータを圧縮した場合です。大規模なデータセットを圧縮したり、中規模から小規模なデータセットを大量に圧縮すると、格納領域を大幅に節約することができ、ディスク領域が不足している場合や、データを CD/DVD に収録しようとしている場合に役立ちます。たとえば、U.S. Census (国勢調査)データが格納された 8.9GB のファイル ジオデータベースを、DVD への収録が可能な 3.4GB に圧縮することができます。
ただし、格納要件を最小限に抑えたい場合は、ファイル ジオデータベースの圧縮が唯一のオプションではありません。データが必要以上に高い XY 解像度で格納されている場合は、データを圧縮する前に解像度の値を低く設定してデータをジオデータベースに再格納すると、格納要件を抑えることができます。たとえば、実際に必要なデータ精度は 1 メートルであるデータが、デフォルトの解像度 1/10 ミリメートルで格納されているような場合は、データを 1 メートルの解像度で再格納します。例を挙げると、解像度が 1/10 ミリメートルの Calgary buildings フィーチャクラスを 1 メートルの解像度で再格納すると、格納サイズが 48MB から 31MB に減ります。31MB のフィーチャクラスを圧縮すると、データのサイズはさらに 12MB に減ります。
フィーチャクラス |
解凍後のサイズ |
圧縮サイズ |
---|---|---|
Calgary buildings(0.0001 メートルの解像度) |
48MB |
20MB |
Calgary buildings(1.0 メートルの解像度) |
31MB |
12MB |
フィーチャクラスを別の解像度で再格納するには、データを新しいフィーチャクラスにエクスポートします。カタログ ツリーでフィーチャクラスを右クリックし、[エクスポート] > [ジオデータベース] を選択します(複数のフィーチャクラスに一度にエクスポートする場合は、「マルチプル」コマンドを選択します)。エクスポートの前に、[環境] ダイアログ ボックスで新しい解像度を指定します。詳細については、「XY 解像度」、「Z 解像度」および「[フィーチャクラス → フィーチャクラス(Feature Class to Feature Class)]」をご参照ください。
圧縮が可能な状況
圧縮の対象になるのは、ジオデータベース、フィーチャ データセット、スタンドアロン フィーチャクラス、またはテーブルです。ジオデータベースを圧縮すると、そのジオデータベース内のすべてのフィーチャクラスとテーブルが圧縮されます。フィーチャ データセットを圧縮すると、そのデータセットに属するすべてのフィーチャクラスが圧縮されます。圧縮できないアイテムはスキップされます。次に、カタログ ツリーのアイテムのうち、圧縮可能なアイテムと圧縮不可能なアイテムをまとめます。
ファイル ジオデータベース データ |
圧縮可能かどうか |
---|---|
ジオデータベース |
可能(ジオデータベース内のすべてのベクタ フィーチャクラスとテーブルが圧縮される) |
フィーチャ データセット |
可能(フィーチャ データセット内のすべてのベクタ フィーチャクラスが圧縮される) |
フィーチャクラス(スタンドアロンのみ) |
可能 |
テーブル |
可能 |
ラスタ データセット |
不可 |
ラスタ カタログ |
不可 |
テレイン |
不可 |
スケマティック |
不可 |
Cadastral Fabric |
不可 |
サーベイ データセット |
不可 |
フィーチャ データセットのフィーチャクラスを個別に圧縮/解凍することはできません。フィーチャ データセットのフィーチャクラスを圧縮/解凍するには、フィーチャ データセットのすべてのフィーチャクラスを圧縮/解凍しなければなりません。
ラスタ データセットとラスタ カタログの圧縮は、制限された方法でサポートされており、ファイル ジオデータベースのジオプロセシング ツールにより、これらの 1 つを個別に圧縮することができます。ただし、ラスタを圧縮しても格納要件は抑えられないため、推奨されません。このサポートはあくまでも、ArcGIS Publisher が圧縮およびロックされたファイル ジオデータベースのラスタ データセットとラスタ カタログをパッケージ化する際、ツールにアクセスできるようにするための手段として提供されています。
圧縮データを操作するときの制限
データを圧縮した場合、圧縮されたフィーチャクラスやテーブルの編集が不可能であることに加えて、次に説明する制限が存在します。
フィーチャクラスまたはテーブルが圧縮された後、次のプロパティを変更することはできません。
- 座標系情報
- サブタイプ、属性ドメイン、デフォルト値
- フィールドとそれらのプロパティ
- リプレゼンテーション
変更可能なプロパティは、フィーチャクラスまたはテーブルのエイリアスと属性インデックスだけです。
圧縮されたフィーチャ データセットには、新しい空のフィーチャクラスの作成、コピーと貼り付け、インポートなどの操作を通じて、非圧縮フィーチャクラスを追加することができます。これにより、フィーチャ データセット内に、一部の圧縮されたフィーチャクラスと、それ以外の圧縮されていないフィーチャクラスが混在することになります。フィーチャ データセット内に圧縮されたフィーチャクラスと非圧縮フィーチャクラスの両方が含まれている場合、非圧縮フィーチャクラスを編集することはできません。フィーチャ データセット内のフィーチャクラスを編集するには、フィーチャ データセット内のすべてのフィーチャクラスを解凍しなければなりません。
リレーションシップ クラス、トポロジ、ジオメトリック ネットワーク、ネットワーク データセット、およびテレインのフィーチャクラスも圧縮することが可能です。ただし、これらのクラスに関する制限がいくつかあります。
- 圧縮されたフィーチャクラスからトポロジまたはジオメトリック ネットワークを作成することはできません。
- リレーションシップ クラスによって関連付けられたデータセットの一方だけを圧縮した場合、もう一方のデータセットも編集をすることは不可能になります。これは、圧縮されていないデータセットを更新した場合に、読み取り専用の圧縮されたデータセットの自動更新が必要になる可能性があるためです。
- フィーチャクラスが圧縮されている場合、トポロジのプロパティを変更することはできません。
リレーションシップ クラス |
トポロジ |
ジオメトリック ネットワーク |
ネットワーク データセット |
テレイン | |
---|---|---|---|---|---|
構成しているフィーチャクラスの圧縮 |
可能 |
可能 |
可能 |
可能 |
可能 |
圧縮されたフィーチャクラスからの作成 |
可能 |
不可 |
不可 |
可能 |
可能 |
プロパティの編集 |
可能 |
不可 |
可能 |
可能 |
可能 |