Oracle Spatial几何图形转换给出错误的输出

时间:2019-04-16 12:02:51

标签: oracle spatial-query oracle-spatial

我正在尝试将SRID从2180转换为2177。这是我的示例代码。

SELECT SDO_CS.TRANSFORM(MDSYS.SDO_GEOMETRY(2002,2180,null,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),MDSYS.SDO_ORDINATE_ARRAY(461273,290199996,608231,546195962,461280,489099996,608185,353195948)),2177) geometria FROM DUAL

输出为MDSYS.SDO_ORDINATE_ARRAY(6374994,33906775,295683316,187577,6638854,92398028,551837709,962805,6387072,01129964,494707234,588496,6717195,04670803,358718858,239292) 但是当我使用在线转换器时,它看起来像这样(正确值):
6527855.83,5911838.68 6527863.20 5911792.21

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

我认为原因很简单,在分隔小数部分时使用,而不是.。有时候我也碰巧;)

select sdo_cs.transform(
         mdsys.sdo_geometry(2002,2180,null,mdsys.sdo_elem_info_array(1,2,1),
                            mdsys.sdo_ordinate_array(461273.290199996,
                                                     608231.546195962,
                                                     461280.489099996,
                                                     608185.353195948)),
                            2177) geometria 
  from dual

结果:

6527855.83374364
5911838.68338696
6527863.68346768
5911792.56737736