我正在尝试通过 Oracle Spatial 将所谓的 UTM Zone 33, Northern Hemisphere (WGS 84) SRID (Norway) 转换为 Lat/Long (Longitude / Latitude (WGS 84) SRID),并在 stackoverflow 上找到了一些很好的例子。问题是,无论哪个 SRID 用作源(引用 UTM 33N),纬度/经度的结果似乎都被抵消了,并将任何位置都放在了西边的近海。
代码:
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 )
他的结果是
北纬 6716777,东经 40137 --> 纬度 60.321808644 纬度 6.6585114124
它实际上与谷歌地图相匹配。
上面的代码,对于我来说相同的输入值生成:
64.0777530402641 0.231518684247992
对于 32633 等其他 SRID,我得到了类似的值。
任何想法我做错了什么?