English

Bug: Creating a spatial view containing an ST_Geometry attribute does not set the view layer extent

Description

When creating a spatial view containing an ST_Geometry attribute in Oracle using the sdetable -o create_view command, the metadata for the view's extent in the sde.layers table is not being set; therefore, the view's layer extent is defined as empty.

An empty layer extent means ArcGIS does not set a spatial filter when performing spatial queries, identify selections, or spatial selections. Without the spatial filter, all rows are returned for all operations.

Cause

When creating a spatial view using the sdetable -o create_view command, the view's layer extent is not being set by ArcSDE.

Below is an example of creating a spatial view with the sdetable command:

Code:
sdetable -o create_view -T sewer_view -t sewer -c sewer.objectid,sewer.seg_id,sewer.shape -i sde:oracle10g

ArcSDE 9.2 for Oracle10g Build 339 Wed Sep 5 12:00:10 2007
Attribute Administration Utility
-----------------------------------------------------
Successfully created view sewer_view.


After the view is created, one can describe the view and detect that the view's layer extent is defined as <EMPTY>.

Code:
D:\>sdelayer -o describe_long -l sewer_view,shape -i sde:oracle10g

ArcSDE 9.2 for Oracle10g Build 324 Tue Aug 21 12:00:11 2007
Layer Administration Utility
-----------------------------------------------------
Layer Description ....: <None>
Table Owner ..........: TOMB
Table Name ...........: SEWER_VIEW
Spatial Column .......: SHAPE
Layer Id .............: 11
SRID .................: 7
Minimum Shape Id .....: 1
Offset ...............:
falsex: -119670700.000000
falsey: -95612900.000000
System Units .........: 3048.006096
Z Offset..............: 0.000000
Z Units ..............: 1.000000
Measure Offset .......: <None>
Measure Units ........: <None>
XY Cluster Tolerance .: 0.003280833333
Spatial Index ........:
parameter: SPIDX_GRID,GRID0=170,FULL
exist: Yes
array form: 170,0,0
Layer Envelope .......: <EMPTY>
Entities .............: nslc+
Layer Type ...........: Extended SQL Type
Creation Date ........: 08/27/07 11:23:36
I/O Mode .............: NORMAL
Autolocking ..........: Enabled
Precision.............: High
User Privileges ......: SELECT, UPDATE, INSERT, DELETE
Coordinate System ....: PROJCS["NAD_1983_StatePlane_Ohio_South_FIPS_3402_Feet",G
EOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980
",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519
9433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500.0
],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-82.5],PARAMETER[
"Standard_Parallel_1",38.73333333333333],PARAMETER["Standard_Parallel_2",40.0333
3333333333],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Foot_US",0.30480060960121
92]]

Layer Configuration ..: DEFAULTS

Workaround

To avoid all features being returned when performing spatial queries, identify selections, and spatial selections with ArcGIS, calculate or set the view's layer extent using the sdelayer command.

Code:
D:\>sdelayer -o alter -l sewer_view,shape -E calc -i sde:oracle10g

ArcSDE 9.2 for Oracle10g Build 324 Tue Aug 21 12:00:11 2007
Layer Administration Utility
-----------------------------------------------------
Successfully Modified the Layer

Note:
See the ArcGIS Documentation Library link in Related Information for additional information on the sdelayer command.

    Related Information