Wenn Sie einen räumlichen Index erstellen, müssen Sie folgende Informationen angeben:
- Ein Name für den Index
- Der Namen der Tabelle, die die räumlichen Spalte enthält, für die der Index definiert werden soll
- Den Namen der räumlichen Spalte, für die der Index definiert werden soll
- Die Gittergröße (nur erforderlich für Datenbanken, die ein Indexgitter verwenden, z. B. Oracle oder DB2)
Nachfolgend finden Sie einige Beispiele zur Erstellung eines räumlichen Index für die Spalte "ST_Geometry" in den unterstützten Datenbanken.
- Öffnen Sie einen SQL-Editor, und stellen Sie eine Verbindung mit der Datenbank her.
- Für Oracle, PostgreSQL, DB2 und Informix verwenden Sie eine CREATE INDEX-Anweisung, um den räumlichen Index zu erstellen. Für SQLite verwenden Sie die Funktion "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 hs_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');
- Oracle