Oracle 18c
I have an SDO_GEOMETRY table that I created via ArcGIS Desktop 10.7.1.
The table has a line that appears to have a true curve in it:
However, in a related question, @Vince pointed out that this particular scenario could be misleading:
ArcGIS supports CAD objects in parallel to geometry, as a BLOB data type. The SDE.ST_GEOMETRY stores an approximation of the true curve object. SDO_GEOMETRY can store true curves, but Esri might not use it, since they use the BLOB instead. You need to review this Answer to make sure that the curve segment type is stored in SDO_GEOMETRY, not just that it looks right in an Esri client (leveraging the CAD BLOB).
Question:
Is there a way to determine if a SDO_GEOMETRY line has true curves (or not)?
What I tried:
I considered querying the SDO_GEOMETRY line as WKT so that I could look at the vertices as text (to see if there was any evidence of a true curve):
select
sdo_util.to_wktgeometry(shape)
from
my_table
But I think that defeats the purpose of what I'm trying to do. If there was, in fact, a true curve in the line, I think to_wktgeometry()
would densify the curve as straight-line segments/approximations anyway. So I wouldn't be able to tell if there is a curve or not.
MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1)
. So I guess that means that the line doesn't have a true curves stored in the SDO_GEOMETRY ... meaning the curve is stored in Esri's CAD BLOB instead. i.sstatic.net/r8lbc.png