Oracle
Spectrum Spatial は、Oracle シン JDBC ドライバを使用して Oracle を直接サポートします。
Spectrum Spatial では、Oracle を読み取り/書き込み用データ ソースとして扱います。
サポートされるデータ タイプ
Oracle データ ソース データ プロバイダは、非空間 JDBC タイプを Spectrum Spatial のタイプ システムにマップするとき、JDBC データ ソース プロバイダ と同じルールに従います。JDBC にマップする Oracle のデータ タイプについては、Oracle のドキュメントを参照してください。
Oracle のデータ タイプ SDO_GEOMETRY は空間データであり、Spectrum Spatial でサポートされるデータ タイプの Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、および GeometryCollection と同等です。複合ジオメトリ (円弧を含むジオメトリ) はサポートされていません。
空間データは、いくつかの手順を実行して決定します。最初の手順は、MAPINFO スキーマの MAPINFO_MAPCATALOG テーブルを調べて、Oracle テーブルおよびスタイル列内にジオメトリ列を特定するエントリが存在するかどうかを確認します。テーブルが X/Y テーブルと識別された場合は、X および Y 列と識別された 2 つの列が MAPINFO_MAPCATALOG で指定された座標系を持つ Spatial テーブルのジオメトリ列へと統合されます。MAPINFO_MAPCATALOG が存在しないか、開くテーブルにエントリがない場合、USER_SDO_GEOM_METADATA で空間列の名前および SRID が調べられます。
ジオメトリ列 SDO_Geometry はインデックス化されていると想定されます。
プライマリ キー
Spectrum Spatial では、JDBC データ ソース プロバイダと同じルールに従ってプライマリ キーを決定します。
読み取り専用列
Spectrum Spatial では、JDBC データ ソース プロバイダと同じルールに従って、列が読み取り専用かどうかを決定します。
MI SQL の最適化
Oracle は、JDBC データ ソース プロバイダと同じ関数および演算子をサポートします。
Oracle では、次の空間演算子がサポートされています。
- CentroidWithin (例)
- ContainsCentroid (例)
- Contains (例)
- Within (例)
- EnvelopesIntersect (例)
- Intersects (例)
詳細については、付録のデータ ソース プロバイダへの委任を参照してください。
可変性
Spectrum Spatial では、アクセスするテーブルのタイムスタンプを ALL_OBJECTS テーブルにクエリします。これが変更されている場合、Spectrum Spatial はデータ アクセス操作に進む前に、テーブルのメタデータをキャッシュからフラッシュし、再度読み込みます。詳細については、データ ソースの可変性を参照してください。
XY テーブルのサポート
Oracle テーブルは、XY テーブルとしてアクセスできます。XY テーブルのサポート を参照してください。