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 raster
poleceniu.
W Arc * użyj Raster to ASCII
narzędzia (znalezionego w Conversion Tools|From Raster
), aby wyeksportować siatkę w formacie ASCII.
W R
załaduj pakiety raster
i rgdal
, a następnie przeczytaj raster za pomocą raster
funkcji, 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ć *.txt
plik za pomocą ArcGIS.
.txt
zamiast 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")