SDO_AGGR_LRS_CONCAT_3D为何将结果几何的第三维度置零?
关于SDO_AGGR_LRS_CONCAT_3D函数合并3D LRS几何时Z值被置零的问题
执行以下SQL代码,用于合并Pi_geom_array中的3D LRS几何:
SELECT SDO_AGGR_LRS_CONCAT_3D(SDOAGGRTYPE( SDO_GEOMETRY(z.SDO_GTYPE, z.SDO_SRID, z.SDO_POINT, z.SDO_ELEM_INFO, z.SDO_ORDINATES), 0.005)) INTO l_geoloc FROM (SELECT * FROM TABLE(Pi_geom_array)) z;
其中Pi_geom_array包含的3D LRS几何示例如下:
- MDSYS.SDO_GEOMETRY(4402, 4326, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5471018117985, 41.6482888766313, 588.16578218591, 506.44231, ...)
- MDSYS.SDO_GEOMETRY(4402, 4326, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5471018117988, 41.6482888766318, 588.16578218598, 506.44238, ...)
- ...
执行后得到的l_geoloc中,SDO_ORDINATE_ARRAY的坐标合并顺序正确,但所有Z值均被置为0,示例如下:
MDSYS.SDO_GEOMETRY(4402, 4326, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY(-87.5471018117985, 41.6482888766313, 0, 506.44231, -87.5471437282998, 41.6483175668031, 0, 506.44531, ...)
作为Oracle Spatial新手,相关参考文档较少,想请教:这个现象是调用方式错误、系统设置问题,还是SDO_AGGR_LRS_CONCAT_3D函数本身存在BUG?毕竟3D版本的函数不应将Z值置零。
内容的提问来源于stack exchange,提问作者gurunara5
相关产品推荐
相关产品推荐

