Chciałbym uogólnić SpatialPolygonsDataFrame
w R, aby wykres był bardziej wydajny. Wieloboki, które mam, powodują powstanie ogromnych wykresów pdf, które wolno się ładują i trudno je zintegrować z dokumentem.
Próbowałem użyć gSimplify
funkcji z rgeos
pakietu, ale niestety nie zachowuje ona topologii wielokątów.
Czy istnieje alternatywa, której mogę użyć?
r
topology
generalization
żółta czapka
źródło
źródło
gSimplify()
ma opcjonalny parametr,topologyPreserve
który domyślnie toFALSE
. Czy próbowałeś to ustawićTRUE
?Odpowiedzi:
Dyskusja na ten temat na r-sig-geo . Aby uzyskać ostateczną odpowiedź, należy tam zapytać, ponieważ są ludzie, którzy znają wgląd przestrzennego R.
Ale możesz to również zrobić w aplikacjach komputerowych GIS (eksportuj kształt za pomocą komendy writeOGR z rgdal lub writePolyShape () z maptools), takich jak QuantumGIS, GRASS lub SAGA.
Do QuantumGIS użyj Vector / Geometry Tools / Simplify geometrii (przetestowałem i nie zachowałem topologii, ale zastosowałem do pliku kształtu admin1 w Rumunii, wygląda dobrze z 2000 węzłami).
W przypadku GRASS użyj v. Generalizacji (przeczytaj instrukcję, aby uzyskać informacje na temat algorytmów, jest kilka).
W przypadku SAGA musisz najpierw przekonwertować wielokąt na linię (Kształty - Linie / Konwertuj wielokąty na Linie), następnie uprościć linie (Kształty Linie / Uproszczenie linii), a na koniec przekonwertować linie na wielokąty (Kształty - Wielokąty / Konwertuj linie na wielokąty). Przetestowałem to, a wyniki zachowały topologię.
Pozdrawiam i powodzenia,
źródło
Jest teraz wspaniały
rmapshaper
pakiet Andy'ego Teuchera, który zawiera funkcję upraszczania, która „wykonuje upraszczające topologicznie uproszczenie wieloboków”.W repozytorium github przykład użycia:
gdzie
states_sp
jestspatialPolygons*
przedmiot.Aby uzyskać więcej informacji, zobacz pakiet README: https://github.com/ateucher/rmapshaper
źródło
to powinno pomóc:
gSimplify(..., topologyPreserve=T)
zGEOS
paczkiźródło
gSimplify
tak naprawdę nie zachowuje topologii dla kilku wielokątów. Myślę, że odnosi się to bardziej do topologii pojedynczego lub wielu wielokątów. W przypadku pliku kształtu z wieloma wielokątami topologia nie jest zachowana.