English

Problem: Unsupported Oracle Spatial geometries

Description

All valid Oracle Spatial geometry objects of supported geometry and entity types are supported except for geometries similar to the one described below.

Cause

Occasionally, due to a geometry's configuration, an Oracle Spatial geometry object is invalid as an input to ArcSDE.

The following Oracle Spatial geometry is valid using Oracle Spatial validation, but can not be accessed using ArcGIS.

Code:
SDO_GEOMETRY( 2003,
8265,
NULL,
SDO_ELEM_INFO_ARRAY(1, 1003, 1),
SDO_ORDINATE_ARRAY(
21, 80,
21, 79,
20, 79,
20, 80,
21.25, 80,
21, 80))

The last three points form a line that crosses back on itself in a Cartesian coordinate system because they all have the same Y value. The final point is in between the two previous points. This creates a zero area inclusion, which is invalid according to Oracle and ArcSDE.

The geometry's coordinate system is a geographic, or geodetic, coordinate system and the points are longitude and latitude values. However, because Oracle Spatial treats lines in a geographic coordinate system as great circle arcs, it doesn't actually form a zero area inclusion. The two lines are different lengths, so the great circles that they define are slightly different and do not overlay each other.

Solution or Workaround

This is a known limit. Although geographic and geodetic distances can be calculated with ArcGIS, there is no way to store data outside of a Cartesian system.

To rectify this problem, the geometry must be changed to remove the included area.

    Related Information