Chcę pracować z danymi rastrowymi w R, ale mam problemy z eksportowaniem mojego zestawu danych rastrowych z ArcMap. Poprzez „eksport danych” / GRID otrzymuję plik z rozszerzeniem * .aux. Potrzebuję * .grd.
Czy ktokolwiek może mi pomóc?
Chcę pracować z danymi rastrowymi w R, ale mam problemy z eksportowaniem mojego zestawu danych rastrowych z ArcMap. Poprzez „eksport danych” / GRID otrzymuję plik z rozszerzeniem * .aux. Potrzebuję * .grd.
Czy ktokolwiek może mi pomóc?
Odpowiedzi:
Odpowiedź brzmi: nie eksportuj, ponieważ nie ma takiej potrzeby. Możesz bezpośrednio odczytać dane siatki Arc * za pomocą pakietu rastrowego (gdy dostępna jest biblioteka rgdal). A jeśli eksportujesz, lepiej unikać ascii (użyj np. GTiff).
library(raster)
library(rgdal)
#For an arc/grid (albem_s1 is the folder!):
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1")
#For a geotiff
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.tif")
Bardziej wygodne rozwiązanie do czytania zapewnia @RobertH w innym miejscu tego wątku . Możesz odczytać zestaw danych siatki Arc * bezpośrednio, stosując to samo podejście opisane tutaj: po prostu odwołaj się do folderu, w którym znajdują się pliki danych siatki w rasterpoleceniu.
W Arc * użyj Raster to ASCIInarzędzia (znalezionego w Conversion Tools|From Raster), aby wyeksportować siatkę w formacie ASCII.
W Rzaładuj pakiety rasteri rgdal, a następnie przeczytaj raster za pomocą rasterfunkcji, jak w
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
Aby utworzyć wersję .grd, użyj writeRaster, jak w
writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")
Odpowiedź konsoli opisuje, co znajduje się w części wyjściowej .grd (dane są w pliku .gri), tak jak w
class : RasterLayer
filename : G:/USGS/DEM/7_5min/VA/albem_s1.grd
nrow : 1415
ncol : 1133
ncell : 1603195
min value : 70
max value : 960
projection : +proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0
xmin : 686280
xmax : 720270
ymin : 4179990
ymax : 4222440
xres : 30
yres : 30
*.asc? Podejrzewam, że obie działają, ale być może może to stanowić problem, jeśli spróbujesz otworzyć *.txtplik za pomocą ArcGIS.
.txtzamiast tego wybrać plik wyjściowy .asc. Myślałem, że to może być sprzeczne z intuicją.
Nie wydaje się, aby plik ESRI GRID miał jeden plik z rozszerzeniem .grd. Zamiast tego wydaje się, że jest to format wielu folderów / wielu plików, który ArcMap postrzega jako jeden plik (podobny do działania plików kształtów i pokrycia ArcInfo). W każdym razie plik .aux jest plikiem pomocniczym do formatu GRID, który przechowuje informacje, których nie można zapisać w samym rastrze. Oto kilka linków, które o tym mówią:
Informacje o plikach pomocniczych http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files
Kiedy tworzony jest plik .aux? http://support.esri.com/en/knowledgebase/techarticles/detail/29821
przekonwertuj dane rastrowe na ascii i zapisz w dowolnym katalogu. następnie nR
library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")
to odczyta twój plik ascii w siatce, możesz także sprawdzić dane za pomocą komend varioud, takich jak
summary(data)
alternatywnie zapisz dane rastrowe jako TIFF, a następnie używając tego samego pakietu (rgdal) odczytuje pliki tiff, które odczytasz jako
data<-readGDAL("C:/filepath/file.tiff")