I am wondering if the ArcGIS ST_GEOMETRY provides Linear Referencing functions, such as creating a point based on a given measurement (like Oracle Spatial)?
I couldn't find any function like that in the ArcGIS documentation but there are pretty functions in ArcPy.
Answer
Those ArcPy functions utilize the SgShape
functions lower in the API stack. The ST_GEOMETRY object was built using some of those same functions, but doesn't expose them all (just the set that implements those required by Spatial Types and Functions implementation, which doesn't include LRS).
The LRS primitive list exposed at the ArcSDE API isn't large:
extern BOOL SDEAPI SE_shape_is_measured (const SE_SHAPE shape);
extern LONG SDEAPI SE_shape_find_along (SE_SHAPE shape,
LFLOAT measure,
LONG *num_shapes,
SE_SHAPE **new_shapes);
extern LONG SDEAPI SE_shape_find_between (SE_SHAPE shape,
LFLOAT from_measure,
LFLOAT to_measure,
LONG *num_shapes,
SE_SHAPE **new_shapes);
extern LONG SDEAPI SE_shape_interpolate_by_measures
(SE_SHAPE src_shape,
LFLOAT delta,
SE_SHAPE tgt_shape);
The rest is implemented as part of ArcObjects.
No comments:
Post a Comment