I have a SDE.ST_GEOMETRY line feature class. I've created a view on it that returns an st_point
column.
SELECT OBJECTID, SDE.ST_STARTPOINT(SHAPE) AS START_POINT FROM ENG.ROAD
There is a known Oracle bug that is preventing me from using my view : Unable to define a query layer in ArcGIS where the data source uses an st_geometry subtype in Oracle.
The bug description states:
…the binding used in Oracle to fetch the geometry binds an
st_geometry type. Because the attribute or values returned from the
attribute do not map to st_geometry, the Oracle internal error is
encountered. By definition, a type binding should support its subtype
definitions. This limitation is currently a bug within Oracle's
server.
The workaround is:
Convert the geometry attribute field from the subtype (for example,
st_point) to the supertype st_geometry.
However, it doesn't say how to do the conversion; I don't know how to convert from the subclass to the superclass.
Question:
How can I get ArcMap to recognize an ST_POINT subclass column?
Best Answer
I don't have an SDE to play with. I think you would have to do something like this:
Or you could use WKB.
My packages and objects have implementations of ST_StartPoint that return SDO_GEOMETRY objects. You could create a function that does the same thing but return a point geometry: