¿Busca estrategias de generalización para crear esquemas en PostGIS?
22
Tengo un conjunto de datos de construcción de huellas vectorizadas a partir de un conjunto de datos ráster. El conjunto de datos actualmente es solo una representación vectorial de los datos ráster. Me gustaría un conjunto de datos de polígonos que solo tenga vértices en las esquinas del edificio. He intentado utilizar el comando Simplificar en PostGIS con éxito limitado.
Hay muchos algoritmos dedicados a la simplificación de la construcción. Puede echar un vistazo a este sitio web para obtener una descripción general. Ver también esta pregunta . Podrías usar:
Simplificación del contorno del edificio: consiste en eliminar recursivamente bordes demasiado cortos del contorno y alargar los bordes vecinos. Ejemplo:
Algoritmo de rectángulo circundante más pequeño: consiste en reemplazar la geometría del edificio por el rectángulo circundante más pequeño. Este rectángulo también se puede escalar al área inicial del edificio. Ejemplo:
Algoritmo de cuadratura: consiste en aplicar una ligera rotación a los bordes para que las esquinas estén perfectamente cuadradas. Ejemplo:
Estas transformaciones pueden ser suficientes para su necesidad. Puede ser interesante combinarlos.
Estoy casi 100% seguro de que ninguno de estos algoritmos se implementa en PostGIS. Algunos se implementan en la biblioteca Opencarto Java que estoy desarrollando. ¡Avísame si quieres probarlo!
¿Puede dar una breve explicación de los algoritmos a los que se refiere en Opencarto para la "simplificación del esquema de construcción" mencionada. No pude encontrar información directa en la wiki o el código en Opencarto.
"Si amortiguamos en una gran cantidad, luego invierte el búfer en la misma cantidad, obtendremos algo que tenga una forma similar a la original, pero sin las partes arrugadas".
ese es un enfoque interesante y parece relativamente efectivo. Gracias por el puntero, es algo que podré usar. Su respuesta sería mejor si contuviera una frase simple que contuviera la idea central a la que se hace referencia y no fuera solo un enlace.
Evitará crear geometrías derivadas (polígonos en particular) que no sean válidas http://www.postgis.org/documentation/manual-1.5SVN/ST_SimplifyPreserveTopology.html
debería ser un mejor resultado que Simplificar
compruebe su geometría primero y luego con
ST_IsSimple(geometry geomA);
fuente
Algo como esto podría hacer el truco:
http://blog.opengeo.org/2010/11/22/removing-complexities/
fuente