English

How To: Register Oracle spatial 3D/4D data with ArcSDE

Summary

Instructions provided describe how to register an Oracle spatial layer with 3D/4D data with ArcSDE.

Procedure

To register Oracle Spatial 3D/4D data with ArcSDE, verify the following:

• the Oracle spatial layer passed Oracle spatial validation
• an appropriate entry is inserted into user_sdo_geom_metadata view
• the spatial index is created
• there is a unique, not null, number(38) column
• the dimension order is X, Y, Z, M
• for geodetic coordinates, the tolerance is equal or larger than 0.005

  1. Insert the appropriate entry into the user_sdo_geom_metadata view.
    SQL> insert into user_sdo_geom_metadata
    2 values('SDOTEST', 'GEOMETRY_LINE', SDO_DIM_ARRAY(SDO_DIM_ELEMENT
    ('Longitude', -180,180,0.005), SDO_DIM_ELEMENT('Latitude',-90,90,0.005),
    SDO_DIM_ELEMENT('Elevation',0,25000,0.005),SDO_DIM_ELEMENT('Measure',0,99999,0.5)), 4267);

    1 row created.

    SQL> commit;

  2. Create a spatial index.
    SQL> create index sdotest_spix on sdotest(geometry_line) indextype is mdsys.spatial_index;

    Index created.

  3. Validate that all geometries are valid.
    SQL> select count(*) from sdotest c
    2 where sdo_geom.validate_geometry_with_context(c.geometry_line,0.005) <> 'TRUE';

    COUNT(*)
    ----------
    0

    SQL> select count(*) from sdotest c
    2 where sdo_geom.validate_geometry_with_context(c.geometry_line,0.005) = 'TRUE';

    COUNT(*)
    ----------
    185

    SQL> select count(*) from sdotest;

    COUNT(*)
    ----------
    185

  4. Register with ArcSDE.
    SQL>host sdelayer -o register -l sdotest,geometry_line -e l3M -C unique_row_id,
    SDE -i esri_sde -u wilson -p wilson -g RTREE -P HIGH
    ArcSDE 9.2 for Oracle10g Build 1173 Thu May 31 12:02:22 2007
    Layer Administration Utility
    -----------------------------------------------------
    Successfully Created Layer.