Wie kann ich Rasterdaten aus Arcmap in ein R * .grd-Dateiformat exportieren?

10

Ich möchte mit Rasterdaten in R arbeiten, habe jedoch Probleme beim Exportieren meines Raster-Datasets aus ArcMap. Durch "Daten exportieren" / GRID erhalte ich eine Datei mit der Erweiterung * .aux. Was ich brauche ist * .grd.

Kann mir jemand helfen?

leni
quelle
Raster zu anderen Formaten> help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//… GRID
Mapperz
5
Es würde helfen Befragten würde-sein zu wissen , dass eine .grd Datei in einem Format zu dem insbesondere Raster Paket in R. Do nicht erwarten , zu finden (noch) eine Möglichkeit , dieses Format in Arc zu schreiben * und paßt dieses Format verwirrend mit anderen Formaten, die "grd" als Erweiterung verwenden.
whuber
In welchem ​​Format befindet sich Ihr Original-Raster? @RobertH weist darauf hin, dass Sie es wahrscheinlich direkt in R einlesen können, ohne es exportieren zu müssen.
DJQ

Antworten:

6

Die Antwort lautet: Nicht exportieren, da dies nicht erforderlich ist. Sie können Arc * -Gitterdaten direkt mit dem Rasterpaket lesen (wenn die Bibliothek rgdal verfügbar ist). Und wenn Sie exportieren, ist es besser, ASCII zu vermeiden (verwenden Sie zB 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")
RobertH
quelle
6

Bearbeiten

Eine bequemere Lösung zum Lesen bietet @RobertH an anderer Stelle in diesem Thread . Sie können das Arc * -Gitter-Dataset direkt mit demselben hier beschriebenen Ansatz lesen: Verweisen Sie einfach auf den Ordner, in dem sich die Raster-Datendateien im rasterBefehl befinden.

Ursprüngliche Antwort

Verwenden Raster to ASCIISie in Arc * das Tool (in Conversion Tools|From Raster), um ein Raster im ASCII-Format zu exportieren.

In Rladen die rasterund rgdalPakete, die dann das Raster lesen Sie die Verwendung von rasterFunktion, wie in

r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)

Verwenden Sie zum Erstellen der .grd-Version writeRasterwie in

writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")

Die Konsolenantwort beschreibt, was sich im .grd-Teil der Ausgabe befindet (die Daten befinden sich in einer .gri-Datei), wie in

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 
whuber
quelle
Dies ist ein sehr kleiner Punkt, aber wenn es als ASCII exportiert wird, sollte der Dateityp nicht sein *.asc? Ich nehme an, beide funktionieren, aber vielleicht ist es ein Problem, wenn Sie versuchen, eine *.txtDatei mit ArcGIS zu öffnen .
DJQ
1
Dateiformat und Dateierweiterung sind unabhängige Dinge, @celenius. Richtig, einige Betriebssysteme und einige Software verwenden die Erweiterung als Hinweis auf das Format (obwohl gute Software diesen Hinweis entweder automatisch überschreibt oder ihn auf Anforderung eines Benutzers überschreibt). In diesem Beispiel spielen die Namen jedoch keine Rolle. Wenn Sie Probleme beim Importieren oder Öffnen einer Datei mit der Erweiterung .txt in ArcGIS haben, können Sie sie jederzeit umbenennen. Dies ist jedoch nicht Gegenstand dieser Frage.
whuber
Ich schätze die Unterscheidung zwischen Dateiformat und Dateierweiterung. Ich war hauptsächlich neugierig, warum man die Datei .txtlieber als ausgeben würde .asc. Ich dachte, es könnte kontraintuitiv sein.
DJQ
@celenius Die Eingabe in diesem Beispiel hat die Erweiterung .txt (nicht die Ausgabe). Es wurde einem tatsächlichen Beispiel entnommen, in dem die TXT-Datei ursprünglich von älterer Software erstellt wurde.
whuber
2

Es scheint nicht, dass eine ESRI GRID-Datei eine einzelne Datei mit der Erweiterung .grd enthält. Stattdessen scheint es sich um ein Format mit mehreren Ordnern / Dateien zu handeln, das ArcMap als eine Datei betrachtet (ähnlich wie Shapefiles und ArcInfo-Coverages funktionieren). In jedem Fall ist die .aux-Datei eine Hilfsdatei im GRID-Format, in der Informationen gespeichert werden, die nicht im Raster selbst gespeichert werden können. Hier sind einige Links, die darüber sprechen:

Informationen zu Zusatzdateien http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files

Wann wird eine .aux-Datei erstellt? http://support.esri.com/de/knowledgebase/techarticles/detail/29821

Damon Pettitt
quelle
2
Leute, bitte stimmen Sie nicht ab, ohne zu erklären, warum, es sei denn, es blutet offensichtlich, was falsch ist. In diesem Fall verstehe ich es nicht. ((Hallo Damon, willkommen bei GIS.se. Es wird besser, ehrlich. ;-))
Matt Wilkie
Beachten Sie, @Matt, dass der Hovertext für die Downvote-Schaltfläche "Diese Antwort ist nicht nützlich ..." lautet und nicht, dass sie falsch ist. Die Frage fragt nicht, was eine .aux-Datei ist: Sie bittet (klar und prägnant) um Hilfe beim Erstellen einer .grd-Datei für die Eingabe in R. Daher scheint es mir, dass der in dieser Antwort angebotene Rat zwar korrekt ist, aber fehlschlägt der Nützlichkeitstest. In dieser Hinsicht dienen Abstimmungen zukünftigen Lesern, indem sie sie von Ratschlägen ablenken, die wohlmeinend, korrekt und sogar gut geschrieben und interessant sind, aber (nach Meinung der Community) wahrscheinlich erfolglos sind.
whuber
Danke @whuber. Es hilft, daran erinnert zu werden, den Text dessen zu betrachten, was tatsächlich präsentiert wird, und ihn der Bedeutung gegenüberzustellen, die ich im Laufe der Zeit in meinem Kopf aufgebaut habe. Es hat einige Kontinentalverschiebungen gegeben!
Matt Wilkie
1

Konvertieren Sie Ihre Rasterdaten in ASCII und speichern Sie sie in einem beliebigen Verzeichnis. dann n R.

library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")

Dadurch wird Ihre ASCII-Gitterdatei gelesen. Sie können Ihre Daten auch mit verschiedenen Befehlen wie z

summary(data)

Speichern Sie Ihre Rasterdaten alternativ als TIFF und lesen Sie dann mit demselben Paket (rgdal) die TIFF-Dateien, als die Sie lesen werden

data<-readGDAL("C:/filepath/file.tiff")
Kaikombo
quelle