Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में दो लंबे लंबे बिंदुओं के बीच की दूरी की गणना करें

select sdo_geom.sdo_distance(
  sdo_geometry(2001, 4326, sdo_point_type(40.0, 10.0, null), null, null),
  sdo_geometry(2001, 4326, sdo_point_type(40.0, 11.0, null), null, null),
  0.01,
  'unit=KM'
) as distance
from dual;

DISTANCE
----------
110.611186

Oracle गणना 110.611186 किमी returns लौटाती है

आपकी साइट पर मौजूद 111.19 किमी तो 580 मीटर . का अंतर . यह अंतर इसलिए है क्योंकि आपका ऑनलाइन कैलकुलेटर गोलाकार . मानकर सरल गणित का उपयोग करता है अर्थ, जबकि Oracle उचित दीर्घवृत्ताकार . का उपयोग करते हैं पृथ्वी का आकार (WGS84 दीर्घवृत्त)।

आप https://www.fai.org/page/world पर अंतर देख सकते हैं -दूरी-कैलकुलेटर यदि आप WGS84 . चुनते हैं अर्थ मॉडल (WGS84 दीर्घवृत्त) तो आपको Oracle (110.611186562098) जैसा ही परिणाम मिलता है। यदि आप इसे FAI क्षेत्र . में बदलते हैं तब आपको 111.19492643325476 मिलता है, जो आपके तुलनित्र के समान है।

सही दूरी 110.611 किमी है। 580 मीटर ऑफ के साथ इसकी गणना करना महत्वपूर्ण है या नहीं यह आपके आवेदन पर निर्भर करता है। यदि आप छोटी दूरी (जैसे एक किमी या उससे कम) मापते हैं, तो त्रुटि नगण्य है। लेकिन लंबी दूरी के लिए यह महत्वपूर्ण हो सकता है। यहाँ इसका मतलब होगा 1/2 किमी से लक्ष्य चूक जाना!

यह उन गणनाओं के लिए सही अर्थ मॉडल का उपयोग करने के महत्व को दर्शाता है।

संपादित करें: और Oracle प्रतिनिधित्व (और लगभग सभी GIS उपकरण) देशांतर, अक्षांश . है . यदि आप संख्याओं की अदला-बदली करते हैं, तो आपको बहुत अलग परिणाम प्राप्त होंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्ट्रिंग रूपांतरण के लिए Oracle दिनांक

  2. ऑरैकल में चार डेटा प्रकार के साथ क्वेरी कॉलम

  3. विंडोज़ पर अच्छा Oracle डेटाबेस विकास और प्रबंधन उपकरण

  4. लिस्टैग ओवरफ्लो फ़ंक्शन कार्यान्वयन (ओरेकल एसक्यूएल)

  5. वर्तमान दृश्य क्या है APPL_TOP स्नैपशॉट