空間資料庫三維空間兩點距離計算錯誤
沒想到這麼基礎的問題,Oracle也會出現錯誤,看來這個功能真是很少有人使用。
在9i和10g中,計算三維空間兩點間距離出現錯誤,Oracle僅僅就算了X和Y這二維的結果:
SQL> CONN YANGTK/YANGTK@YTK92
已連線。
SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for 32-bit Windows: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
SQL> SELECT
2 MDSYS.SDO_GEOM.SDO_DISTANCE(
3 MDSYS.SDO_GEOMETRY(3001, NULL, MDSYS.SDO_POINT_TYPE(0, 0, 0), NULL, NULL),
4 MDSYS.SDO_GEOMETRY(3001, NULL, MDSYS.SDO_POINT_TYPE(3, 4, 12), NULL, NULL),
5 0.0001) DISTANCE
6 FROM DUAL;
DISTANCE
----------
5
上面是9204中測試結果,令人奇怪的是,到了10203,居然這個錯誤還沒有被解決:
SQL> CONN TEST/TEST@TESTRAC
已連線。
SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> SELECT
2 SDO_GEOM.SDO_DISTANCE(
3 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(0, 0, 0), NULL, NULL),
4 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(3, 4, 12), NULL, NULL),
5 0.0001) DISTANCE
6 FROM DUAL;
DISTANCE
----------
5
直到Oracle的11g,這個問題才被解決:
SQL> CONN TEST/test@TEST11G
已連線。
SQL> SELECT * FROM V$VERSION;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Solaris: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
SQL> SELECT
2 SDO_GEOM.SDO_DISTANCE(
3 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(0, 0, 0), NULL, NULL),
4 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(3, 4, 12), NULL, NULL),
5 0.0001) DISTANCE
6 FROM DUAL;
DISTANCE
----------
13
根據這個結果也可以推斷,9i的空間資料庫使用的很少,以至於這麼容易發現的錯誤要在10g中才發現,或者說在10g中使用的也不是很廣泛,導致10203版本仍然沒有修正這個bug,而直到11g才被解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-553377/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用空間資料庫求兩點距離資料庫
- 空間距離計算
- 地理空間距離計算優化優化
- 計算地圖中兩點之間的距離地圖
- 資料庫硬碟空間如何算資料庫硬碟
- C語言:使用函式計算兩點間的距離C語言函式
- sql 計算兩個經緯度點之間的距離SQL
- 百度地圖計算兩座標點之間距離計算地圖
- JAVA計算兩經緯度間的距離Java
- 空間統計之點資料分析
- 錯誤新增表空間的資料檔案
- 空間索引 - 各資料庫空間索引使用報告索引資料庫
- 對oracle資料表空間的計算Oracle
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- 根據經緯度計算兩點之間的距離的公式公式
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- 資料庫空間重整方案資料庫
- oracle的空間資料庫:Oracle資料庫
- 清理oracle資料庫空間Oracle資料庫
- 微信小程式——計算2點之間的距離微信小程式
- Oracle資料庫使用空間統計案例Oracle資料庫
- 獲取資料庫空閒空間的SQL資料庫SQL
- 通過sql 計算兩經緯度之間的距離SQL
- (資料科學學習手札88)基於geopandas的空間資料分析——空間計算篇(下)資料科學
- (資料科學學習手札84)基於geopandas的空間資料分析——空間計算篇(上)資料科學
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- Sybase資料庫空間相關資料庫
- Oracle資料庫管理 版主空間Oracle資料庫
- 檢視資料庫表空間資料庫
- oracle清除資料庫表空間Oracle資料庫
- 刪除資料庫表空間資料庫
- 在資料庫之間移動表空間資料庫
- 資料庫維護常用操作4--表空間操作資料庫
- oracle資料庫歸檔日誌空間滿引起的錯誤處理Oracle資料庫
- 【scipy 基礎】--空間計算
- SciPy 空間資料
- 本地表空間管理優點vs資料字典表空間管理(轉載)
- 經緯度計算兩地之間的距離(原理與方法)