Tengo una capa de polígono con muchos agujeros. Me gustaría generalizarlo. Solía v.generalizar de hierba. Con él, utilicé el algoritmo chaiken. Pero, solo los bordes de los polígonos se generalizaron, los agujeros en ellos no han suavizado sus bordes.
¿Qué puedo hacer para suavizar todos los bordes (agregar bordes de agujeros) del polígono?
qgis
grass
generalization
Diogo Caribé
fuente
fuente
Respuestas:
Le recomiendo que use el nuevo geoalgoritmo de QGIS 2.14.1, llamado Smooth.py
Con Smooth Geometry es posible suavizar todo el polígono, no solo los límites, como en el método Chaiken de v.generalize
fuente
Supongo que está utilizando GRASS
6.4.x
ya que hubo problemas con respecto a la generalización de polígonos con agujeros . Esto se ha solucionado en GRASS 7, aunque no tengo esta versión, así que no puedo confirmarlo.Una solución alternativa sería usar la herramienta Rellenar agujeros de la Caja de herramientas de procesamiento en su capa original:
Use la herramienta Diferencia en las capas originales y rellenas :
Use la herramienta v.generalize tanto en la capa de relleno como en la de diferencia :
Finalmente, ejecute la herramienta Diferencia nuevamente en ambas capas generalizadas :
fuente
Creo que la mejor herramienta de generalización que existe es http://www.mapshaper.org/ y parece que maneja los agujeros perfectamente. Súper fácil de usar / solución mucho más corta. Usualmente uso el algoritmo visvalingam.
fuente