چطور تعداد نقاط داخل هر چندضلعی را بشمارم (مثلاً مدرسههای هر محله)؟
پاسخ کوتاه
دو لایه را با ST_Contains یا ST_Intersects به هم join و با GROUP BY بشمارید. یا ابزار آماده «شمارش در چندضلعی» را در بخش تحلیل بزنید.
SELECT n.gid, n.name, count(s.*) AS schools
FROM neighborhoods n
LEFT JOIN schools s ON ST_Contains(n.geom, s.geom)
GROUP BY n.gid, n.name
ORDER BY schools DESC;
LEFT JOINمحلههای بدون مدرسه را با عدد صفر نگه میدارد.- هر دو لایه باید همSRID باشند و نمایه مکانی داشته باشند.
- بدون SQL: ابزار «شمارش در چندضلعی» (تحلیلها).
برای ذخیره نتیجه به صورت لایه: CREATE TABLE ... AS SELECT n.*, count(...) ... و GROUP BY n.gid.
آیا این مقاله به شما کمک کرد؟
هنوز جواب نگرفتید؟ به پشتیبانی بگویید.