Estoy tratando de replicar este proceso de ArcGIS en PostGIS: http://blogs.esri.com/esri/arcgis/2012/11/13/spaghetti_and_meatballs/ . Esto describe cómo dividir los puntos almacenados en polígonos según sus intersecciones, contando el número de capas y atribuyéndolo a los polígonos para clasificarlos. Lo estoy usando para crear un mapa de densidad de punto aproximado con vectores, y los resultados fueron sorprendentemente buenos para mi conjunto de datos en ArcGIS. Sin embargo, estoy luchando por encontrar algo viable en PostGIS donde lo necesito para producir capas de densidad de puntos dinámicos para un mapa web.
En ArcGIS, simplemente ejecuté la herramienta Intersecar en mi capa de puntos almacenados para crear las formas que necesitaba.
En PostGIS, ejecuté esta consulta:
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;
La salida se ve bastante idéntica a la salida de ArcGIS, excepto que no está desglosando los polígonos en la misma medida que se requiere para un mapa de densidad significativo. Aquí hay capturas de pantalla de lo que quiero decir:
ArcGIS está a la izquierda y PostGIS está a la derecha. Es un poco difícil de distinguir, pero la imagen de ArcGIS muestra el polígono 'interior' creado donde se cruzan los 3 búferes. La salida de PostGIS, por otro lado, no crea ese polígono interior y, en cambio, mantiene sus componentes intactos. Esto hace que sea imposible proporcionar una clasificación solo para esa área interior con 3 capas una encima de la otra en comparación con solo 1 para las partes externas.
¿Alguien sabe de alguna función PostGIS para descomponer el polígono en la medida que necesito? Alternativamente, ¿alguien sabe de una mejor manera de producir un mapa de densidad de puntos con vectores en PostGIS?