UTM到Lat / Long产生偏移

时间:2015-01-07 20:47:58

标签: oracle google-maps latitude-longitude spatial utm

我试图通过Oracle Spatial将所谓的UTM Zone 33,Northern Hemisphere(WGS 84)SRID(挪威)转换为Lat / Long(经度/纬度(WGS 84)SRID),并在stackoverflow上找到了一些很好的例子。问题是,SRID用作源代码(引用UTM 33N),lat / long的结果似乎是偏移的,并将任何位置放到西边的海外。

代码:

select t.sdo.sdo_point.x as x
     , t.sdo.sdo_point.y as y
  from (select sdo_cs.transform( 
                       sdo_geometry( 2001
                                   , 82347  -- UTM Zone 33N SRID,
                                   , SDO_POINT_TYPE(a.coordinate_x,a.coordinate_y,NULL)
                                   , null
                                   , null)
                             , 8307     --Longitude / Latitude (WGS 84)  SRID  
                            ) as sdo
        from table a
      ) t;

我的一位同事实际上根据以下内容对SAS进行了逐步计算:http://www.uwgb.edu/dutchs/usefuldata/utmformulas.htm

他的结果是

Northing 6716777,Easting 40137 - > Lat 60.321808644 Long 6.6585114124

实际上与Google地图相匹配。

上面的代码,对于我的相同输入值生成:

64.0777530402641 0.231518684247992

我得到类似其他SRID的值,如32633。

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

哎呀,似乎在数据库x和y是相反的方式(错误标记),旋转时,工作正常!