空間資料庫三維空間兩點距離計算錯誤
沒想到這麼基礎的問題,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語言函式
- JAVA計算兩經緯度間的距離Java
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- 清理oracle資料庫空間Oracle資料庫
- 三維空間的旋轉
- 根據經緯度計算兩點之間的距離的公式公式
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- (資料科學學習手札84)基於geopandas的空間資料分析——空間計算篇(上)資料科學
- (資料科學學習手札88)基於geopandas的空間資料分析——空間計算篇(下)資料科學
- 【scipy 基礎】--空間計算
- SciPy 空間資料
- 通過sql 計算兩經緯度之間的距離SQL
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- 微信小程式——計算2點之間的距離微信小程式
- WebGIS 利用 WebGL 在 MapboxGL 上渲染 DEM 三維空間資料Web
- oracle dg庫資料檔案空間不足Oracle
- Oracle資料庫閃回區空間不足Oracle資料庫
- Matlab三維空間座標圖繪製Matlab
- 時間和空間的完美統一!阿里雲時空資料庫正式商業化阿里資料庫
- C++中struct的空間計算C++Struct
- python批量統計Oracle資料庫的空間使用量PythonOracle資料庫
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- DB2建立資料庫,建立表空間DB2資料庫
- SQLServer行版本資訊吃資料庫tempdb空間SQLServer資料庫
- Python基於Excel資料加以反距離加權空間插值並掩膜圖層PythonExcel
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- 16、表空間 建立表空間
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- ifccolumn在空間中的座標計算
- ASM空間爆滿導致資料庫掛起ASM資料庫
- 檢視資料庫佔用磁碟空間的方法資料庫
- 虛擬主機資料庫與空間關係資料庫
- MySQL空間最佳化(空間清理)MySql
- 實景三維賦能國土空間智慧治理
- 刪除表空間出現ORA-22868錯誤(一)
- 刪除表空間時,遇到了ORA-14404錯誤
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫