2012-10-18 85 views
0

我在查詢SDO_GEOMETRY字段以返回形狀中的給定點,並且我想獲取該點的GPS座標。我的查詢如下:如何在Oracle Spatial中將XY座標轉換爲GPS?

select 
sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(shape),0.02).sdo_ordinates 
from 
TEST_SCHEMA.TEST_TABLE 
where 
route='ABC' 
and 
segmentnum='101.1' 

這將返回象這樣的SDO_ORDINATE_ARRAY:

MDSYS.SDO_ORDINATE_ARRAY(100000.203621556,999999.57084293,0.02) 

我如何SDO_ORDINATE_ARRAY的前兩個元素轉換爲GPS座標?我在Oracle Spatial文檔中找不到任何與完成此功能的函數相關的任何內容。

+1

那些看起來像狀態平面座標。你在用什麼SRID –

回答

0

事實證明,您必須先將形狀的座標系轉換爲convert_to_lrs_geom(),然後使用sdo_cs.transform()。在這種情況下,SRID是8307(感謝jim mcnamara指出SRID是問題),所以SQL返回正確的座標是:

select 
sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(sdo_cs.transform(shape,8307)),0.02).sdo_ordinates 
from 
TEST_SCHEMA.TEST_TABLE 
where 
route='ABC' 
and 
segmentnum='101.1'