সাধারণ জ্যামিতি টেবিল থেকে দুটি পয়েন্টের জন্য সরল পোস্টজিআইএস এসT_ দুরত্ব কোয়েরি?


11

দ্রষ্টব্য: এই প্রশ্নটি প্রথমে স্ট্যাকওভারফ্লোতে প্রকাশিত হয়েছিল ।

আমি একটি জ্যামিতি টেবিল আছে points_tableসঙ্গে SRID 4326এটি একটি কয়েক পয়েন্ট এবং।

এই টেবিল থেকে আমার এক জোড়া পয়েন্ট (বৈশিষ্ট্য) এর মধ্যে একটি দূরত্ব সন্ধান করতে হবে।

আমি একটি বিন্দু id = Xএবং অন্য একটি বিন্দু নির্বাচন করতে চাই id = Yএবং তারপরে ST_Distanceফাংশন সহ তাদের মধ্যে একটি দূরত্ব খুঁজে পেতে চাই ।

আমি কীভাবে ডাটাবেস থেকে এই দুটি পয়েন্ট জিজ্ঞাসা করতে হবে:

select * from points_table where id = X or id = Y;

তবে এই ক্যোয়ারী একটি ফলাফল দেয়, যা আমি কীভাবে পাস করতে জানি না ST_Distance, কারণ ST_Distance2 পরামিতি লাগে।

আমি চেষ্টা করেছি Select ST_Distance(select the_geom from points_table where id = X or id = Y);

তবে এটা অবশ্যই ভুল।

আমি কোনও টেবিল থেকে দুটি জ্যামিতি পয়েন্ট (বৈশিষ্ট্য )গুলির মধ্যে দূরত্বটি কীভাবে খুঁজে পেতে পারি?

পিএস আমি এখন পর্যন্ত যে সমস্ত উদাহরণ পেয়েছি সেগুলি ST_ দূরত্ব ফাংশনের আর্গুমেন্টগুলিতে হার্ডকোডযুক্ত পয়েন্ট সহ ST_ দূরত্বের ব্যবহার দেখায় । আমি একই উদাহরণ খুঁজে পাইনি, যেখানে একই টেবিল থেকে দুটি পয়েন্টের মধ্যে দূরত্ব গণনা করতে ST_Distance ব্যবহৃত হয়।

উত্তর:


28

আপনার টেবিলে দু'বার উল্লেখ করতে হবে, এটি ভিন্ন ভিন্ন উপাত্ত দিয়েছিলেন:

SELECT ST_Distance(a.geom, b.geom)
FROM points_table a, points_table b
WHERE a.id='x' AND b.id='y';
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.