Estoy enfrentando un dilema al intentar usar v.generalize para simplificar los polígonos que son similares en tamaño y estructura a los condados o estados de EE. UU. A menudo, pierdo polígonos del conjunto de datos después de ejecutar un método de simplificación o suavizado en ellos. Lo que me preocupa es que no parece haber ningún patrón consistente para este comportamiento. En algunos casos, el mismo conjunto de comandos aplicado a diferentes conjuntos de datos causa resultados completamente diferentes. Como resultado, no puedo desarrollar un flujo de trabajo repetible y de mala gana empiezo a buscar otras herramientas de simplificación que preserven la topología. Aquí hay un ejemplo:
# LOAD AND CLEAN
v.in.ogr dsn=counties.shp output=county
v.build.polylines input=county output=county_polylines
v.clean input=county_polylines output=county_clean tool=bpol,rmdupl type=boundary
# SMOOTH AND GENERALIZE
v.generalize input=county_clean output=county_smooth method=sliding_averaging look_ahead=7 slide=1
v.generalize input=county_smooth output=county_general method=douglas threshold=.005
Cada uno de los pasos de v.generalize resulta en la desaparición de algunos de los polígonos. Me gustaría entender por qué sucede esto. ¿Se debe a que las características se cargan en memoria insuficiente? ¿Son mis parámetros "lo suficientemente ajustados" como para hacer que se excluyan las entidades porque cumplen algún tipo de criterio de geometría? (Tenga en cuenta que estoy perdiendo algunas funciones muy grandes). ¿Hay algún problema con la topología de las funciones descartadas que hace que se borren? En relación con esa última pregunta, supongo que build.polylines y operaciones de limpieza que hago inicialmente deberían encargarse de esto, pero no estoy completamente seguro, y parece que no puedo encontrar buenas instrucciones que aborden esto. ¿Hay alguna?
Apreciar cualquier información que las personas puedan dar, especialmente las basadas en la experiencia personal con la herramienta v.generalize.
Roger
fuente
Respuestas:
Respuesta del equipo de desarrollo de GRASS.
"La desaparición de los polígonos [en v 6.4.1] ocurrió porque se eliminaron los límites suavizados que violaban la topología del vector, después de eso todos los límites que eran topológicamente incorrectos. Los límites ahora [en 6.4.2] solo se suavizan / simplifican si la modificación no violar la topología del vector ".
fuente