我试图通过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。
任何想法我做错了什么?
答案 0 :(得分:0)
哎呀,似乎在数据库x和y是相反的方式(错误标记),旋转时,工作正常!