मैं PostGIS में दो बिंदुओं के बीच असर की गणना कैसे कर सकता हूं?


19

मैं PostGIS में दो बिंदुओं के बीच असर कैसे पा सकता हूं?

कृपया अपने उत्तर में निर्दिष्ट करें कि गोलाकार पर असर पैदा करने वाली विधि है या नहीं, या एक असर असर है।

जवाबों:


21

ST_Azimuth का उपयोग करना

प्लानर बेयरिंग का उपयोग करके गणना की जा सकती है ST_Azimuth:

SELECT ST_Azimuth(ST_MakePoint(1,2), 
           ST_MakePoint(3,4))/(2*pi())*360 as degAz,
       ST_Azimuth(ST_MakePoint(3,4), 
           ST_MakePoint(1,2))/(2*pi())*360 As degAzrev

degaz   degazrev
------  ---------
45      225

गोलाकार अज़ीमुथ के लिए ( कोटिंग पोटगिस-यूज़र्स ग्रुप ):

PostGIS azimuth फ़ंक्शन azimuth निर्धारित करने के लिए एक साधारण आर्कटन फ़ंक्शन का उपयोग करता है। यदि आप अपने निर्देशांक को एक अनुमानित समन्वय प्रणाली में परिवर्तित करते हैं और फिर क्वेरी चलाते हैं, तो आपके परिणाम FCC साइट के परिणामों के बहुत करीब होंगे।
यहाँ UTM ज़ोन 31 का त्वरित रूपांतरण है:

select degrees(azimuth(
'POINT(634714.442133176 5802006.052402816)',
'POINT(634731.2410598891 5801981.648284801)'
));

जो कि 145.457858825445 के अज़ीमुथ की उपज देता है। UTM ज़ोन के केंद्र में स्थित बिंदु, या अधिक उपयुक्त प्रक्षेपण बेहतर परिणाम देगा।

त्रिकोणमितीय कार्यों और ST_distance_sphere का उपयोग करना

यह वह समाधान है जिसे मैंने चुना है जब मुझे इस समस्याओं से निपटना था, मुख्य रूप से विरासत के कारणों के लिए (मेरे पास पायथन फ़ंक्शन था जो दिगंश गणना करता है)। सबसे पहले, हमें एक ऐसा फ़ंक्शन ढूंढना होगा जो हमें दो बिंदुओं के बीच की सटीक दूरी बताए। पोस्टगिस मैनुअल का हवाला देते हुए :

ST_distance_sphere (बिंदु, बिंदु) दो लट / लोन बिंदुओं के बीच मीटर में रैखिक दूरी देता है। 6370986 मीटर की एक गोलाकार पृथ्वी और त्रिज्या का उपयोग करता है। दूरी_सेफरोइड () की तुलना में तेज़, लेकिन कम सटीक। केवल अंकों के लिए लागू किया गया।

बिंदुओं के बीच देशांतर और अक्षांश दूरी को मापें, और arctanकोण पुनः प्राप्त करने के लिए फ़ंक्शन का उपयोग करें ।


मैं बाद में अजगर कोड को पोस्ट करने की कोशिश करूंगा, और शायद तरीकों के बीच कुछ तुलना करूं - अगर मुझे वह विरासत कोड मिल जाए ...
एडम मटन

क्या आप इस बात पर स्पष्टीकरण दे सकते हैं कि आप एक कोण से कितनी दूरी पर जाते हैं atan? मेरी ट्रिगोनमेट्री थोड़ी धुंधली है ...
बजे

11

अब इस प्रश्न पर आने वाले किसी भी व्यक्ति के लिए - PostGIS 2.0.0 तक भूगोल (गोलाकार) पर ST_Azimuth का समर्थन करता है।

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