Ich verwende Shapefiles der Geschichte der US-Bundesstaaten von NHGIS , um Karten in R zu erstellen. Diese Shapefiles haben eine viel höhere Auflösung als ich beim Erstellen von Karten im Landesmaßstab benötige: über 2 Millionen Beobachtungen für eine Datei. Gibt es eine Möglichkeit, die Auflösung dieser Shapefiles in R zu reduzieren? Bei Bedarf kann ich das auch in QGIS machen.
qgis
shapefile
r
resolution
Lincoln Mullen
quelle
quelle
Antworten:
Sie können
gSimplify
dasrgeos
Paket verwenden. Wenn Sie dastopologyPreserve=TRUE
Flag hinzufügen , wird die Topologie beibehalten.Beachten Sie, dass es immer noch zu überlappenden Zeilen kommen kann. Wir benötigen eine Implementierung dieses robusten DP-Algorithmus in R:
http://www.sciencedirect.com/science/article/pii/S0098300413002380
[dieser Link möglicherweise hinter einer Paywall]
quelle
rgeos
Dokumente finden Sie unter cran.r-project.org/web/packages/rgeos/rgeos.pdf .Eine Standardmethode zum "Ausdünnen" linearer Formen (einschließlich Polygongrenzen) ist der Douglas-Peucker-Algorithmus . Mindestens zwei
R
Pakete implementieren dies:dp
im Shapefiles-Paket undthinnedSpatialPoly
im Guerry-Paket .Beachten Sie, dass durch das Ausdünnen benachbarter Polygone in der Regel geringfügige Lücken und Überlappungen in ihren Grenzen entstehen. Dabei werden die topologischen Beziehungen untereinander nicht berücksichtigt. Mir ist kein
R
Paket bekannt, das beim Ausdünnen die Topologie beibehält. Für kleine Kartierungszwecke wie diese sollte dies kein ernstes Problem sein.Übrigens, weil niemand mehr weiß, wie man Deutsch ausspricht :-), hat Tom Poiker vor einiger Zeit die Schreibweise seines Namens geändert.
quelle