SQL を使用した ST_Geometry 列を持つテーブルでの空間インデックスの作成

空間インデックスを作成するには、以下の情報を指定する必要があります。

以下は、サポート対象のそれぞれのデータベースで、ST_Geometry 列に空間インデックスを作成する例です。

手順:
  1. SQL エディタを開き、データベースに接続します。
  2. Oracle、PostgreSQL、DB2、および Informix の場合、CREATE INDEX ステートメントを使用して空間インデックスを作成します。SQLite の場合、CreateSpatialIndex 関数を使用します。
    • Oracle
      CREATE INDEX sa_idx
       ON sensitive_areas(zone)
       INDEXTYPE IS sde.st_spatial_index
       PARAMETERS('st_grids=1,3,0 st_srid=4326');
      
      CREATE INDEX hs_idx
       ON hazardous_sites(location)
       INDEXTYPE IS sde.st_spatial_index
       PARAMETERS('st_grids=1,0,0 st_srid=4326');
      
    • PostgreSQL
      CREATE INDEX sa_idx
       ON sensitive_areas 
       USING gist(zone st_geometry_ops);
      
      CREATE INDEX sa_idx
       ON hazardous_sites
       USING gist(location st_geometry_ops);
      
    • DB2
      CREATE INDEX sa_idx ON sensitive_areas(zone) 
       EXTEND USING db2gse.spatial_index (1.0, 3.0, 0.0)
      
      CREATE INDEX hs_idx ON hazardous_sites(location) 
       EXTEND USING db2gse.spatial_index (1.0, 0.0, 0.0)
      
    • Informix
      CREATE INDEX sa_ix
       ON sensitive_areas (zone ST_Geometry_ops)
       USING RTREE;
      
      CREATE INDEX hs_ix
       ON hazardous_sites (location ST_Geometry_ops)
       USING RTREE;
      
    • SQLite
      SELECT CreateSpatialIndex('mydatabase','sensitive_areas','zone','rtreexy');
      
      SELECT CreateSpatialIndex('mydatabase','hazardous_sites','location','rtreexy');
      

関連トピック

5/25/2014