এটি কিউজিআইএস (আমার মনে হয় যে কোনও সংস্করণটি করবে) এবং ডিবি ম্যানেজারের একটি খুব সাধারণ এসকিউএল স্টেটমেন্ট ব্যবহার করে অর্জন করা মোটামুটি সহজ। তবে তার জন্য আপনার অবশ্যই কোনও না কোনও স্থানিক ডাটাবেস (পোস্টগিস বা স্থানিক স্থান) থাকতে হবে। যেহেতু এটি বেশিরভাগ মানুষের কাছে আরও অ্যাক্সেসযোগ্য, তাই আমি স্থানিক ব্যবহার অনুমান করব তবে এসকিউএল বিবৃতি পোস্টগ্রিসের জন্য একই রকম the
- একটি নতুন স্পাটালাইট ডাটাবেস তৈরি করুন;
- নতুন ডাটাবেসে আপনার পয়েন্ট এবং বহুভুজ স্তরগুলি আমদানি করুন;
- ডিবি ম্যানেজার প্লাগইনটি খুলুন, ডাটাবেসটি নির্বাচন করুন এবং নিম্নলিখিত এসকিউএল স্টেটমেন্টগুলির মধ্যে একটি চালান:
সমস্ত বহুভুজ সীমানা থেকে সমস্ত পয়েন্ট থেকে দূরত্ব
SELECT
f.point_id,
g.polygon_id,
st_distance(g.geom, f.geom) AS distance
FROM
points_table AS f,
polygons_table AS g
সম্পর্কিত বহুভুজের সীমানায় সমস্ত পয়েন্টের দূরত্ব (ধরে নেওয়া যায় যে একটি সাধারণ ক্ষেত্র বিদ্যমান)
SELECT
f.point_id,
g.polygon_id,
st_distance(g.geom, f.geom) AS distance
FROM
points_table AS f JOIN
polygons_table AS g ON (g.common_field = f.common_field)
সম্পর্কিত বহুভুজ সেন্ট্রয়েডের সমস্ত পয়েন্টের দূরত্ব :
SELECT
f.point_id,
g.polygon_id,
st_distance(f.geom, st_centroid(g.geom)) AS distance
FROM
points_table AS f JOIN
polygons_table AS g ON (g.common_field = f.common_field)
লক্ষ্য করুন যে আপনি আপনার স্তরগুলি থেকে ফলটিতে কোনও ক্ষেত্র যুক্ত করতে পারেন:
SELECT
f.point_id,
f.point_number,
g.polygon_id,
g.parcel_name,
st_distance(f.geom, st_centroid(g.geom)) AS distance
FROM
points_table AS f JOIN
polygons_table AS g ON (g.common_field = f.common_field)
বা এমনকি সমস্ত ক্ষেত্র:
SELECT
f.*,
g.*,
st_distance(f.geom, st_centroid(g.geom)) AS distance
FROM
points_table AS f JOIN
polygons_table AS g ON (g.common_field = f.common_field)