24 votos

¿Busca estrategias de generalización para construir esquemas en PostGIS?

Tengo un conjunto de datos de huellas de edificios vectorizados a partir de un conjunto de datos rasterizados. Actualmente, el conjunto de datos no es más que una representación vectorial de los datos ráster. Me gustaría obtener un conjunto de datos poligonal que sólo tuviera vértices en las esquinas del edificio. He intentado utilizar el comando Simplificar de PostGIS con un éxito limitado.

¿Hay alguna forma mejor?

18voto

Paul G Puntos 1615

Hay muchos algoritmos dedicados a la simplificación de edificios. Puede echar un vistazo a este sitio web para obtener una visión general. Véase también esta pregunta . Podrías usar:

  • Simplificación del esquema del edificio: Consiste en eliminar recursivamente las aristas demasiado cortas del contorno y alargar las aristas vecinas. Ejemplo:

alt text

  • Algoritmo del rectángulo circundante más pequeño: Consiste en sustituir la geometría del edificio por el rectángulo circundante más pequeño. Este rectángulo también puede escalarse al área inicial del edificio. Ejemplo:

alt text

  • Algoritmo de cuadratura: Consiste en aplicar una ligera rotación a las aristas para que las esquinas queden perfectamente cuadradas. Ejemplo:

alt text

Estas transformaciones pueden ser suficientes para sus necesidades. Puede ser interesante combinarlas.

Estoy casi 100% seguro de que ninguno de estos algoritmos está implementado en PostGIS. Algunos están implementados en el Opencarto biblioteca java que estoy desarrollando. Avísame si quieres probarla.

4voto

Erik Öjebo Puntos 6937
geometry ST_SimplifyPreserveTopology(geometry geomA, float tolerance);

Evitará la creación de 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 mejor que Simplifique

compruebe su geometría antes y después con ST_IsSimple(geometry geomA);

3voto

dlanod Puntos 8661

Algo como esto podría servir:

"Si amortiguamos por una gran cantidad, luego invertimos el amortiguador por la misma cantidad, obtendremos algo que tiene una forma similar a la original, pero sin las partes arrugadas."

http://blog.opengeo.org/2010/11/22/removing-complexities/

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X