Background - SDO_GEOMETRY:
If I were to create a function-based spatial index that returns an SDO_GEOMETRY, I would manually insert records into SDO_GEOMETRY's USER_SDO_GEOM_METADATA
for these purposes:
- To register the indexed function, similar to what's done for SDO_GEOMETRY columns in tables.
- Register a view that uses the indexed geometry column — so that GIS software knows that the index should be used for the view (to boost performance when displaying the view/features in the map).
- An answer from @AlbertGodfrind on function-based spatial indexes
- Oracle docs: 10.2 SDO_GEOMETRY Objects in Function-Based Indexes
Question - SDE.ST_GEOMETRY:
I want to create a function-based spatial index on an SDE.ST_GEOMETRY function (not an SDO_GEOMETRY function).
In a quick test, I was able to successfully create a function-based spatial index that returns an ST_GEOMETRY:
CREATE INDEX atn_startpoint_shape ON infrastr.active_transportation
(sde.st_geomfromwkb(sde.st_asbinary(sde.st_startpoint(sde.st_geometryn(shape,1))),300125))
INDEXTYPE IS SDE.ST_SPATIAL_INDEX parameters ('ST_GRIDS=320 ST_SRID=300125');
-- ↑↑↑
Index ATN_STARTPOINT_SHAPE created.
But it seems to me that a piece is still missing: the equivalent of registering the index (and a view) with a table like USER_SDO_GEOM_METADATA
.
Is there an equivalent to USER_SDO_GEOM_METADATA
for SDE.ST_GEOMETRY?
Related idea: ST_Geometry: Function-based spatial indexes