File-Geodatabase (fgdb) enthält zahlreiche File-Geodatabase-Tabellen. Soweit ich weiß, existieren sie als dbf
Dateien, befinden sich aber innerhalb eines Database.gdb
.
In ArcCatalog ähnelt der Dateipfad C:\Users\...\Database.gdb\Stats_AA
.
Wie lese ich all diese dbf
Dateien ein R
(eine Statistiksoftware)? Was ist der richtige Weg, um zu versorgen? Die verwendete Funktion ist read.dbf
(im Fremdpaket).
Varianten von
test<-read.dbf(file="C:/Users..Database.gdb/Stats_AA.dbf")
und
test<-read.dbf(file="C:/Users..Database/Stats_AA.dbf")
arbeite nicht Wie lautet die richtige "Form" des zu verwendenden Dateinamens oder muss ich alle File-Geodatabase-Tabellen in eine andere Form oder einen anderen Speicherort exportieren?
r
file-geodatabase
Nan
quelle
quelle
Antworten:
Eine einfache Lösung besteht darin, Ihre Tabellen mit Table to dBase (multiple) zu exportieren (Klicken Sie mit der rechten Maustaste auf FGDB> Exportieren> To dBase (multiple). Mit diesem Tool können Sie auch Attributtabellen exportieren, die in FGDB-Feature-Classes enthalten sind. Ziehen Sie die Tabellen einfach per Drag & Drop und / oder Feature-Classes in das Tool ein und geben Sie einen Ausgabeordner an. Natürlich können Sie dann den Ordner mit den neuen dBase-Dateien mit R durchlaufen.
quelle
File-Geodatabases speichern ihre Daten nicht wie Shapefiles als DBF. FGDBs verwenden ihre eigene interne Speichermethode.
ESRI hat eine API veröffentlicht. Wenn Sie sie zum Kompilieren von GDAL mit File-Geodatabase-Unterstützung verwenden, können Sie möglicherweise die GDAL-Plugins von R verwenden, um auf diese Weise auf Ihre Daten zuzugreifen. Die einfachste Lösung ist jedoch wahrscheinlich die Konvertierung Ihrer Daten in Shapefile. Dann können Sie die dbf-Tools von R verwenden.
quelle
Ich bin auf dasselbe Problem gestoßen. Meiner Meinung nach ist es unbequem, ArcMap zu verwenden. Stattdessen habe ich Python aus R mit dem folgenden Code aufgerufen. Leider müssen Sie Arcpy haben.
Python-Skript:
R-Code:
Mit dem obigen Befehl wird ein Shapefile aus einer Geodatabase ausgegeben. Anschließend müssen Sie es in R importieren.
quelle