Point Feaure in SDO_GEOMETRY populating the SDO_POINT, instead of SDO_ORDINATES

1713
10
Jump to solution
11-14-2012 04:01 AM
NicoleSchleifer
New Contributor II
New to ESRI...

We have an existing Oracle 10g database with locator enabled and would like to be able to work in ESRI desktop and Server applications.
In ArcMap - Catalog 10.1
1 - right-clicked on table - Managed - Registered with GeoDatabase.
2 - Registered as Versioned

Set DBTUNE default to SDO_GEOMETRY

Added a new point in ArcMap, worked......... BUT...... it populated the SDO_POINT columns not the SDO_ORDINATES.

I feel that I've missed a step or a setting.

Looking for some suggestions and/or advice...
0 Kudos
1 Solution

Accepted Solutions
TravisVal
New Contributor III
Unfortunately this is by design.  ArcGIS and ArcSDE have no notion of orientated points, so when single points are stored they are always stored in the SDO_POINT type.  Oracle Spatial orientated points can still be read (you don't have to reload your data), but the orientation of the point is not read by ArcSDE.  This orientation information is lost if the row is updated.  Currently there is no way to change this behavior.

If you would like this behavior to change, I would encourage you to submit an idea to the Geodatabase ideas page, or contact technical support and submit an enhancement request.

Sorry I couldn't help,
Travis

View solution in original post

0 Kudos
10 Replies
MelitaKennedy
Esri Notable Contributor
I don't see the same statement in the current documentation, but I found this in an older version of the documentation:

ArcSDE feature classes defined exclusively as single point layers will store point features in the SDO_POINT type. Storing single point features in the SDO_POINT type improves performance when indexing and searching on single point features. All other single and multipart features along with multipart points are stored in the SDO_ORDINATES type.


And a knowledge base article about the same thing.

Melita
0 Kudos
NicoleSchleifer
New Contributor II
Thank-you for your response.

Our point geometry is already populated in the ORDINATES array because we use orientation.

1 - Do we need to convert the GEOMETRY to the SDO_POINT columns?
If so, does ESRI have a tool that will do this for us? Or should we use Oracle to move the coordinates?

2 - Is it possible to populate the SDE metadata to recognize my table as a point feature store as a oriented point feature (ORDINATES array)?
0 Kudos
TravisVal
New Contributor III
Unfortunately this is by design.  ArcGIS and ArcSDE have no notion of orientated points, so when single points are stored they are always stored in the SDO_POINT type.  Oracle Spatial orientated points can still be read (you don't have to reload your data), but the orientation of the point is not read by ArcSDE.  This orientation information is lost if the row is updated.  Currently there is no way to change this behavior.

If you would like this behavior to change, I would encourage you to submit an idea to the Geodatabase ideas page, or contact technical support and submit an enhancement request.

Sorry I couldn't help,
Travis
0 Kudos
NicoleSchleifer
New Contributor II
Thanks Travis,

That was very helpful.

Now... Would you know how to quickly convert my existing points in SDO_ORINATES into SDO_POINTS?
We have existing software that I can extract the orientation into a new column but does Esri have a tool that would move the coordinates from the SDO_ORINATES array into the SDO_POINTS?
0 Kudos
VinceAngelo
Esri Esteemed Contributor
In theory, you could just fashion a SQL statement to UPDATE all the geometries.

- V
0 Kudos
NicoleSchleifer
New Contributor II
Yes, of course!

Thanks for your help. I can move forward from here!
0 Kudos
VinceAngelo
Esri Esteemed Contributor
Make sure you drop the spatial index before doing the UPDATE, and be sure to use the
right index options that exploit SDO_POINT when you rebuild.

- V
0 Kudos
NicoleSchleifer
New Contributor II
Interesting....

I wasn't aware of an parameter to exploit SDO_POINT.
I was just planning on using:

CREATE INDEX CTADMIN.SUPPORT_SI3001 ON CTADMIN.SUPPORT
(POINTGEOMETRY)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
PARAMETERS('LAYER_GTYPE=POINT TABLESPACE=TSPIND02 ')
NOPARALLEL
0 Kudos
VinceAngelo
Esri Esteemed Contributor
The LAYER_GTYPE=POINT is the switch that exploits SDO_POINT.

- V
0 Kudos