এই জাতীয় জিনিস স্পেশালাইটাল এবং এসকিউএল দিয়ে সর্বাধিক সম্পন্ন হয়।
প্রথমে আপনাকে একটি স্পাটিয়ালাইট ডাটাবেসে আপনার ডেটা লোড করতে হবে যা কিউআইজিএস দিয়ে জাহাজী ডিবিম্যানেজার প্লাগইন ব্যবহার করে করতে পারে। আমদানি ক্লিক করুন Layer/File button
।
একটি ডাটাবেসে আপনার ডেটা দিয়ে আপনি SQL
বোতামটি ব্যবহার করে নিম্নলিখিত কোয়েরিটি চালাতে পারেন। আপনার ডেটা অনুসারে আপনাকে কলাম এবং টেবিলের নাম পরিবর্তন করতে হবে।
SELECT COALESCE(SUM(a2.pop),0) as pop_neighbours,
a1.pop,
a1.name,
a1.id,
a1.geomm FROM areas a1
LEFT OUTER JOIN areas a2 ON NOT a1.id = a2.id
AND intersects(a2.geomm, a1.geomm)
GROUP BY a1.id
ক্যোয়ারী সরঞ্জামটিকে আপনার অনন্য আইডি কলাম (আইডি) এবং জ্যামিতি কলাম (জিম) বলুন, তারপরে কেবল লোডটি ক্লিক করুন।
আপনার অবশ্যই এটির মতো কিছু হওয়া উচিত, একবার আপনি অবশ্যই অবশ্যই এটির লেবেল করুন
কোয়েরি ব্রেকডাউন
আমরা স্তরটি নিজেই এতে যুক্ত হয়েছি:
LEFT OUTER JOIN areas a2 ON NOT a1.id = a2.id
AND intersects(a2.geomm, a1.geomm)
তবে কেবল যেখানে জ্যামিতিগুলি ছেদ করে এবং আইডিস এক হয় না, অন্যথায় আমরা প্রতিটি বহুভুজের জন্য দু'বার একই রেকর্ডটি সহ শেষ করি। আমরা এমনও ব্যবহার করছি LEFT OUTER JOIN
যাতে আমরা রেকর্ডগুলি অন্তর্ভুক্ত করি যা যোগদান করে না অর্থাৎ কোনও প্রতিবেশী নেই have
নির্বাচন অংশে:
SELECT COALESCE(SUM(a2.pop),0) as pop_neighbours,
a1.pop,
a1.name,
a1.id,
a1.geomm
আমরা (কোনও প্রতিবেশী নয়) অন্যথায় তারা থাকার COALESCE
জন্য রূপান্তর করতে ব্যবহার করছি ।NULLS
0
NULL
তারপরে আমরা কেবল GROUP BY a1.id
যাতে প্রতিটি বহুভুজের জন্য একটি একক রেকর্ড পাই।