Saya mencoba meniru proses ArcGIS ini di PostGIS: http://blogs.esri.com/esri/arcgis/2012/11/13/spaghetti_and_meatballs/ . Ini menjelaskan cara memecah titik-titik yang disangga menjadi poligon berdasarkan persimpangan mereka, menghitung jumlah lapisan, dan menghubungkannya dengan poligon untuk mengklasifikasikannya. Saya menggunakannya untuk membuat peta kerapatan titik kasar dengan vektor, dan hasilnya ternyata bagus untuk kumpulan data saya di ArcGIS. Namun, saya berjuang untuk membuat sesuatu yang bisa diterapkan di PostGIS di mana saya membutuhkannya untuk menghasilkan lapisan kepadatan titik dinamis untuk peta web.
Di ArcGIS, saya hanya menjalankan alat Intersect pada layer poin buffered saya untuk membuat bentuk yang saya butuhkan.
Di PostGIS, saya menjalankan kueri ini:
CREATE TABLE buffer_table AS
SELECT a.gid AS gid, ST_Buffer(a.geo,.003) AS geo
FROM public.pointTable a;
CREATE TABLE intersections AS
SELECT a.gid AS gid_a, b.gid AS gid_b, ST_Intersection(a.geo,b.geo) AS geo
FROM public.pointTable a, public.pointTable b
WHERE ST_Intersects(a.geo, b.geo) AND a.gid < b.gid;
DELETE FROM intersections WHERE id_a = id_b;
Outputnya terlihat cukup identik dengan output ArcGIS, kecuali bahwa itu tidak memecah poligon ke tingkat yang sama yang diperlukan untuk peta kepadatan yang berarti. Berikut screenshot dari apa yang saya maksud:
ArcGIS di sebelah kiri, dan PostGIS di sebelah kanan. Agak sulit diceritakan, tetapi gambar ArcGIS menunjukkan poligon 'interior' yang dibuat di mana ketiga buffer berpotongan. Output PostGIS, di sisi lain, tidak membuat poligon interior dan malah membuat komponennya tetap utuh. Ini membuat tidak mungkin untuk memberikan klasifikasi untuk area interior hanya dengan 3 lapisan di atas satu sama lain dibandingkan dengan hanya 1 untuk bagian luar.
Adakah yang tahu fungsi PostGIS untuk memecah poligon ke bawah sejauh yang saya butuhkan? Atau, apakah ada yang tahu cara yang lebih baik untuk menghasilkan peta kerapatan titik dengan vektor di PostGIS?