Shape ファイル

シェイプファイルは、ESRI の空間ベクトル形式です。

Spectrum Spatial では、シェイプファイルを読み取り専用のデータ ソースとして扱います。

データ タイプ

Spectrum Spatial は、計測値 (線形参照の計測) と Z 軸 (高さまたは深さ) を表す M 値と Z 値など、次のタイプをサポートします。

シェイプ データ タイプ Spectrum Spatial のデータ タイプ
Shape Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollection
INTEGER INTEGER
DOUBLE DOUBLE
STRING STRING
DATE DATE_TIME

プライマリ キー

シェイプファイルには暗黙的なプライマリ キーがあります。それは行 ID です。この列は、Oracle の ROWNUM と同様で、データには表示されません。

MI SQL の最適化

シェイプファイル データ ソース プロバイダには、次の MI SQL コンストラクトの最適化が含まれています。

詳細については、付録のデータ ソース プロバイダへの委任を参照してください。

可変性

シェイプファイルでは、タイムスタンプを評価して、テーブル内に何らかの変更があったかどうかを判断します。タイムスタンプが、キャッシュされているデータのタイムスタンプよりも新しい場合のみ、データが再度読み込まれます。詳細については、データ ソースの可変性を参照してください。

ファイル ハンドル プール

シェイプファイルが頻繁に変更されない場合は、可変性を false に設定して、ファイル ハンドル プールを利用します。これにより、操作時のシェイプファイルの開閉を最小限に抑えることができます。これは、非可変性のネイティブおよびシームレス TAB ファイルとシェイプファイルにのみ使用できます。

ファイル ハンドル プールは、デフォルトで有効になります。ファイル ハンドル プールの設定は、shape-file-handle-pool.properties ファイルを使って行います。このファイルは \server\modules\spatial フォルダにあります。使用できるプロパティとして、プールに割り当てることができるハンドルの最大数 (maxTotal)、1 つのファイルに割り当てることができるハンドルの最大数 (maxTotalPerKey)、プールに保持されたファイル ハンドルが閉じられるまでの最小不使用時間 (minEvictableIdleTimeMillis) などがあります。シェイプファイルのファイル ハンドル キャッシュの統計情報は、JMX コンソールで参照できます (詳細は、『Spectrum Spatial ガイド』の「管理」セクションの JMX コンソールによる、ファイル ハンドル キャッシュ統計の監視 を参照してください)。

ファイル ハンドル プールをオフにするには、\server\modules\spatial\pool-shape.properties ファイルを開き、shape.cache.enabled に false を設定します。この設定変更を反映するには、サーバーを再起動する必要があります。または、JMX コンソールを使用して、サーバーを再起動することなく、ファイル ハンドル プールを無効にし、ファイル ハンドル キャッシュをクリアすることができます。

Spatial インデックス

シェイプファイルに対する空間クエリのパフォーマンスを向上させるために、Spectrum Spatial は空間インデックス (.qix) ファイルを実行時に作成できます。この動作はデフォルトで有効ですが、名前付きテーブルの作成時やそのデータソースの変更時に、Spatial Manager で無効にすることができます。

注: シェイプファイルが読み取り専用ドライブにあり、.qix ファイルを作成できない場合でも、リクエストは処理され、wrapper.log に警告が記録されます。