Ich verwende seit Ewigkeiten Folgendes für wichtige .shp-Dateien in R fine:
require(maptools)
require(rgeos)
shp <- lapply(list.files(pattern="*.shp"), readShapePoly)
Wenn ich eine Handvoll Dateien lade, funktioniert es einwandfrei. Ich versuche jedoch, in ~ 1000 Dateien zu laden, und erhalte nur die (allgemeine) Fehlermeldung:
Error in getinfo.shape(filen) : Error opening SHP file
Ich habe online gesucht, aber keine Lösung gefunden. Das Arbeitsverzeichnis ist korrekt festgelegt, die zugehörigen DBF-SHX- und PRJ-Dateien sind für jedes Shapefile vorhanden. Ebenfalls,
list.files(getwd(),pattern="shp")
gibt jede Datei zurück. Also bin ich ein bisschen verwirrt, vermisse ich etwas Offensichtliches?
Vielen Dank
Antworten:
1 für die Antwort № 1Entweder ändern Sie Ihre lapply
zu einer Schleife oder verwenden Sie die options(error=recover)
Trick um herauszufinden, welche Datei Ihnen Probleme bereitet.
Leider sind R-Shapefile-Funktionen in Bezug auf Dateierweiterungen eher wählerisch. Stellen Sie sicher, dass die Groß- und Kleinschreibung aller verschiedenen Dateien, die zusammen ein Shapefile bilden, konsistent ist.
Wenn Sie glauben, dass es sich um eine bestimmte Datei handelt, können Sie sie verwenden try
oder tryCatch
den Fehler abfangen.