Eu gostaria de generalizar a SpatialPolygonsDataFrame
em R para tornar a plotagem mais eficiente. Os polígonos que resultam em enormes gráficos em PDF são lentos para carregar e difíceis de integrar em um documento.
Tentei usar a gSimplify
função do rgeos
pacote, mas infelizmente ela não conserva a topologia dos polígonos.
Existe uma alternativa que eu possa usar?
r
topology
generalization
yellowcap
fonte
fonte
gSimplify()
possui um parâmetro opcionaltopologyPreserve
cujo padrão éFALSE
. Você já tentou definir issoTRUE
?Respostas:
Há uma discussão sobre isso no r-sig-geo . Para uma resposta definitiva, você deve perguntar lá, porque existem pessoas que conhecem as idéias da R. espacial.
Mas você também pode fazer isso em aplicativos de área de trabalho GIS (exportar a forma usando o comando writeOGR de rgdal ou writePolyShape () de maptools) como QuantumGIS, GRASS ou SAGA.
Para o QuantumGIS, use as geometrias Vector / Geometry Tools / Simplify (eu testei e não preservo a topologia, mas aplicado ao arquivo de shapefile admin1 da Romênia, fica bem com 2000 nós).
Para o GRASS, use v.generalize (leia o manual para obter informações sobre os algoritmos, existem alguns).
Para o SAGA, você deve primeiro converter o polígono em linha (Formas - Linhas / Converter polígonos em linhas), depois simplificar as linhas (Formas Linhas / Simplificação de linha) e, finalmente, converter linhas em polígonos (Formas - Polígonos / Converter linhas em polígonos). Eu testei isso e os resultados têm a topologia preservada.
Felicidades e boa sorte,
fonte
Agora existe o maravilhoso
rmapshaper
pacote de Andy Teucher, que inclui uma função simplify que "executa simplificação de vários polígonos com reconhecimento topológico".No repositório do github, um exemplo de uso:
Onde
states_sp
está umspatialPolygons*
objeto.Veja o pacote README para obter mais informações: https://github.com/ateucher/rmapshaper
fonte
isso deve ajudar:
gSimplify(..., topologyPreserve=T)
doGEOS
pacotefonte
gSimplify
realmente não preserva a topologia em vários polígonos. Eu acho que se relaciona mais com a topologia de monopolígonos ou multipolígonos. Para um arquivo de forma com muitos polígonos, a topologia não é conservada.