1.4 Spatial Studioのベスト・プラクティス

この項では、Spatial Studioを操作する際のベスト・プラクティスの推奨事項について説明します。

SRID 4326での経度/緯度データの標準化

Oracle Databaseの空間データには、データに関連付けられた座標系を一意に識別するSRID (空間参照識別子)が含まれています。複数のデータセットが関係する空間分析操作を実行する場合は、データセットのSRIDを同じにすることをお薦めします。

多くのSRIDを経度/緯度データに使用できますが、最も広く使用されているのは4326です。他に示す必要がある情報がないかぎり、経度/緯度ジオメトリにSRID 4326を使用することをお薦めします。また、経度/緯度ジオメトリを含む複数のOracle表があり、表間でSRIDに一貫性がない場合は、SRID 4326で標準化することをお薦めします。

(Oracle SpatialでのSRIDおよび座標系のサポートの詳細は、Spatialマニュアルの座標系(空間参照システム)の章を参照してください。)

次の例では、SRID 4326を使用していないジオメトリを、SRID 4326を使用するように変換します。SRID 4326を使用していない既存の表ごとに、これらのアクションを実行する必要があります。この例では、GEOMという名前のジオメトリ列を持つTABLE_1という名前のジオメトリ表を想定しています。また、table_1_idxという名前の既存の空間索引が削除され、後で再作成されます。

-- Drop the existing spatial index.
DROP INDEX table_1_idx FORCE;

-- Update the spatial metadata.
INSERT INTO user_sdo_geom_metadata
  VALUES (
  'TABLE_1',  -- table name
  'GEOM',     -- geometry column name
  SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('Longitude', -180, 180, 0.05),  -- 0.05 meter tolerance
    SDO_DIM_ELEMENT('Latitude', -90, 90, 0.05)  -- 0.05 meter tolerance
     ),
  4326   -- SRID for 'Longitude / Latitude (WGS 84)' coordinate system
);

-- Update (transform) geometry data to use SRID 4326.
update table_1 set geom = sdo_cs.transform(geom, 4326);

-- Re-create the spatial index.
CREATE INDEX table_1_idx
ON table_1(geom)
INDEXTYPE IS MDSYS.SPATIAL_INDEX_V2;

ノート:

CREATE INDEX文では、Oracle Databaseがリリース18以上の場合、SPATIAL_INDEX_V2をお薦めします。リリース18より前の場合は、SPATIAL_INDEXのみを指定します。