本文介紹了Oracle(空間幾何)查詢的問題的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試使用SDO_WITHING_DISTANCE形成一個查詢,該查詢返回給定矩形內的實體列表。我所做的查詢看起來應該可以工作,但Oracle給了我一些奇怪的錯誤。以下是查詢:
SELECT *
FROM TBLENTITYLOCATION TL
INNER JOIN TBLENTITY TE
ON TE.ENTITYID=TL.ENTITYID
WHERE SDO_WITHIN_DISTANCE (TL.GEOLOCATION
, SDO_GEOMETRY (2003
, NULL
, NULL
, SDO_ELEM_INFO_ARRAY(1, 1003, 3)
, SDO_ORDINATE_ARRAY(41, -73, 36, -82)
), 'DISTANCE=10 UNIT=M'
) = 'TRUE'
AND TL.LOCATIONDATETIME= (select MAX(LOCATIONDATETIME)
FROM TBLENTITYLOCATION
WHERE ENTITYID = TE.ENTITYID)
錯誤如下:
ORA-29902: error in executing ODCIIndexStart() routine
ORA-13208: internal error while evaluating [window SRID does not match layer SRID] operator
ORA-06512: at MDSYS.SDO_INDEX_METHOD_10I", line 286
OERR表示:
29902. 00000 - "error in executing ODCIIndexStart() routine"
*Cause: The execution of ODCIIndexStart routine caused an error.
*Action: Examine the error messages produced by the indextype code and take appropriate action.
感謝您的幫助或建議。
推薦答案
ORA-13208錯誤是這里最主要的錯誤。
TL.GEOLOCATION需要SRID中的匹配值(SDO_GEOMETRY的第二個參數(shù))
查看響應here是否對您有幫助。
這篇關于Oracle(空間幾何)查詢的問題的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,