Me gustaría generalizar a SpatialPolygonsDataFrame
en R para hacer que el trazado sea más eficiente. Los polígonos que tengo dan como resultado enormes trazados en PDF que son lentos de cargar y difíciles de integrar en un documento.
Intenté usar la gSimplify
función del rgeos
paquete, pero desafortunadamente no conserva la topología de los polígonos.
¿Hay alguna alternativa que pueda usar?
r
topology
generalization
tapa amarilla
fuente
fuente
gSimplify()
tiene un parámetro opcionaltopologyPreserve
que por defecto esFALSE
. ¿Has intentado configurar esoTRUE
?Respuestas:
Hay una discusión sobre esto en r-sig-geo . Para obtener una respuesta definitiva, debe preguntar allí, porque hay personas que conocen las ideas de R. espacial
Pero también puede hacerlo en aplicaciones de escritorio SIG (exporte la forma usando el comando writeOGR desde rgdal o writePolyShape () desde maptools) como QuantumGIS, GRASS o SAGA.
Para QuantumGIS use Vector / Geometry Tools / Simplify geometries (he probado y no conserva la topología, pero aplicado al archivo de forma admin1 de Rumania, se ve bien con 2000 nodos).
Para GRASS use v.generalize (lea el manual para obtener información sobre los algoritmos, hay algunos).
Para SAGA, primero debe convertir el polígono en línea (Formas - Líneas / Convertir polígonos en líneas), luego simplificar las líneas (Formas Líneas / Simplificación de línea) y finalmente convertir las líneas en polígonos (Formas - Polígonos / Convertir líneas en polígonos). He probado esto y los resultados conservan la topología.
Saludos y buena suerte.
fuente
Ahora está el maravilloso
rmapshaper
paquete de Andy Teucher que incluye una función de simplificación que "realiza una simplificación de múltiples polígonos con reconocimiento topológico".De su repositorio de Github, un ejemplo de uso:
donde
states_sp
es unspatialPolygons*
objetoConsulte el paquete README para obtener más información: https://github.com/ateucher/rmapshaper
fuente
eso debería ayudar:
gSimplify(..., topologyPreserve=T)
delGEOS
paquetefuente
gSimplify
realidad no conserva la topología en varios polígonos. Creo que se relaciona más con la topología de solos o multipolígonos. Para un archivo de forma con muchos polígonos, la topología no se conserva.