English

Bug: SDE.ST_Transform on Oracle: Incorrect values for Z and M on transformed features

Description

When using SDE.ST_Transform to 2-D spatial transform a geometry from one spatial reference to another, the M's in polygons are changed to Not A Number (NAN) and the Z values are all -100,000. These are not expected values. The following example uses SRID 11 to SRID 12.

Code:
SQL> set long 2000
2 select st_astext(st_transform(st_geometry
3 ('polygon zm (( -90 45 3 5, -90 44.9 4 6, -90.1 44.9 5 7, -90.1 45 6 8, -90 45 3 9))'
4 ,11),12)) from dual;

ST_ASTEXT(ST_TRANSFORM(ST_GEOMETRY('POLYGONZM((-904535,-9044.946,-90.144.957,-90
--------------------------------------------------------------------------------
POLYGON ZM (( 600000.00000000 129639.11460000 -100000.00000000 1.#QNAN000, 59211
5.76770000 129643.96920000 -100000.00000000 1.#QNAN000, 592102.08310000 118531.5
4590000 -100000.00000000 1.#QNAN000, 600000.00000000 118526.68290000 -100000.000
00000 1.#QNAN000, 600000.00000000 129639.11460000 -100000.00000000 1.#QNAN000))

Cause

This is a known issue.

Using the ESRI ST_Geometry for Oracle, the ST_Transform function transforms X and Y values of coordinates. Z and M values are not transformed. If the original geometry contained Z or M values, the Z or M values for transformed geometries cannot be relied upon and should be ignored.

Workaround

The X and Y values are correct, so in some cases the transformed features can be used, such as for 2-D display purposes.