PostGIS में दो ज्यामितीयों के बीच की दूरी का मीटर कैसे प्राप्त करूँ?


14

PostGIS में दूरियों की गणना करने के बारे में मेरा एक आसान सवाल है।

मैं दो ज्यामितीयों के बीच की दूरी पाना चाहूंगा। मैं इस किनारे का उपयोग कर रहा हूं: 4269 मीटर में जो मैं अभी कर ST_Distance((a.geom,b.geom)) FROM ...रहा हूं वह यह है: लेकिन मुझे डिग्री में परिणाम मिल रहा है। मुझे लगता है कि मुझे भूगोल के साथ काम करना चाहिए लेकिन मैं भूगोल को भूगोल कैसे बना सकता हूं? मैंने (a.geom :: भूगोल) के साथ कोशिश की, लेकिन मुझे एक त्रुटि मिल रही है।

मीटरों में अपना परिणाम प्राप्त करने के लिए मैं क्या कर सकता हूं?

धन्यवाद

जवाबों:


20

साथ ST_Distance_Sphere आपको लगता है कि लक्ष्य को हासिल कर सकते हैं:

ST_Distance_Sphere(a.geom,b.geom)

ERREUR: la fonction st_distance_spheroid (ज्यामिति, ज्यामिति) n'existe pas ... मैंने अभी जोड़ा (a.geom, b.geom, 'SPHEROID ["WGS 84", 6378137,298.257223563]') और अब यह ठीक काम कर रहा है धन्यवाद आपको बहुत !
यासीनजीओमा

1
ठीक है, आपने एक अलग फ़ंक्शन का उपयोग किया, st_distance_spheroid जो st_distance_sphere की तुलना में धीमा है, लेकिन अधिक सटीक है।
फ्रांसिस्को वाल्देज़

2 ज्यामितीयों के बीच अधिकतम दूरी के बारे में क्या?
vasilakisfil

अधिकतम दूरी Earth_radius - न्यूनतम_डिस्टेंस होगी, जो विपरीत दिशा में यात्रा कर रही होगी। (शीर्ष + 180 ')
फ्रांसिस्को वाल्डेज़

1
@ डॉन-प्रोग यह 3 डी और 2 डी बिंदु के लिए काम करता है:SELECT ST_Distance_Sphere(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 4)'), ST_GeomFromEWKT('SRID=4326;POINT(-72.1260 42.45 15)'))
फ्रांसिस्को वाल्डेज़

3

एसआरआईडी 4269 ( एनएडी 83 ) की इकाइयां मीटर नहीं हैं - यह एक भूगर्भीय प्रक्षेपण है , अर्थात सह-निर्देशांक डिग्री (भौगोलिक सह-निर्देश) हैं।

pacofvf का जवाब आपको मीटरों में दूरी प्रदान करेगा, लेकिन यदि आपने वास्तव में मीटरों में निर्दिष्ट अपने अंतर-निर्देशांक का उपयोग किया है, तो आपको एक अनुमानित सह-समन्वय प्रणाली का उपयोग करना चाहिए। संभवत: उत्तरी अमेरिका के लिए आप स्टेट प्लेन कोऑर्डिनेट सिस्टम जैसा कुछ चाहते हैं, जिसमें कई अलग-अलग अनुमान हैं, जिसके आधार पर आप किस क्षेत्र का नक्शा बनाना चाहते हैं।

मुझे संदेह है कि आप अभी हाल ही में इस दूसरे पैराग्राफ को प्रासंगिक नहीं मान रहे हैं, इसलिए बस ST_Distance_Sphereऊपर दिए गए फ़ंक्शन का उपयोग करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.