উত্তর:
প্ল্যানার বিয়ারিং ব্যবহার করে গণনা করা যায় 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
গোলাকৃতির আজিমুথের জন্য ( পটগিস-ব্যবহারকারী গ্রুপের উদ্ধৃতি ):
পোস্টজিআইএস আজিমুথ ফাংশনটি আজিমুথ নির্ধারণের জন্য একটি সাধারণ আর্টিকান ফাংশন ব্যবহার করে বলে মনে হচ্ছে। যদি আপনি আপনার স্থানাঙ্কগুলিকে একটি অনুমানিত স্থানাঙ্ক সিস্টেমে রূপান্তর করেন এবং তারপরে কোয়েরিটি চালান, আপনার ফলাফলগুলি এফসিসি সাইটের ফলাফলগুলির অনেক কাছাকাছি থাকবে।
এখানে ইউটিএম জোন 31-এ দ্রুত রূপান্তর করা হয়েছে:
select degrees(azimuth(
'POINT(634714.442133176 5802006.052402816)',
'POINT(634731.2410598891 5801981.648284801)'
));
যা 145.457858825445 এর একটি আজিমথ দেয়। ইউটিএম জোনের কেন্দ্রে অবস্থিত পয়েন্টস বা আরও উপযুক্ত প্রজেকশন আরও ভাল ফলাফল দিতে পারে।
মূলত উত্তরাধিকারগত কারণে (আমার একটি পাইথন ফাংশন ছিল যা আজিমুথ গণনা করে) আমি এই সমস্যার সমাধান করেছি। প্রথমত, আমাদের একটি ফাংশন সন্ধান করতে হবে যা দুটি পয়েন্টের মধ্যে সঠিক দূরত্বটি আমাদের জানায়। পোস্টগ্রিজ ম্যানুয়ালটির উদ্ধৃতি :
ST_distance_sphere (পয়েন্ট, পয়েন্ট) দুটি ল্যাট / লম্ব পয়েন্টের মধ্যে মিটারে রৈখিক দূরত্ব ফিরে আসে। একটি গোলাকৃতির পৃথিবী এবং 6370986 মিটার ব্যাসার্ধ ব্যবহার করে Uses দূরত্ব_স্পেরয়েড () এর চেয়ে দ্রুত, তবে কম নির্ভুল। শুধুমাত্র পয়েন্টগুলির জন্য প্রয়োগ করা হয়েছে।
পয়েন্টগুলির মধ্যে দ্রাঘিমাংশ এবং অক্ষাংশ দূরত্ব পরিমাপ করুন এবং arctan
কোণটি পুনরুদ্ধারে ফাংশনটি ব্যবহার করুন ।
atan
? আমার ত্রিকোণমিতিটি খানিকটা বেহায়া ...