ArcmapからR * .grdファイル形式にラスターデータをエクスポートするにはどうすればよいですか?


10

Rでラスターデータを操作したいのですが、ArcMapからラスターデータセットをエクスポートできません。「データのエクスポート」/ GRIDを使用して、*。aux拡張子の付いたファイルを取得します。必要なのは* .grdです。

誰かが私を手伝ってくれる?



5
.grdファイルがR のラスターパッケージに固有の形式であることを回答者が知るのに役立ちます。Arc*でこの形式を書き込む方法を(まだ)見つけることを期待せず、この形式の混乱に注意してください拡張子として「grd」を使用する他の形式との組み合わせ。
whuber

元のラスターのフォーマットは何ですか?@RobertHは、エクスポートする必要なく、直接Rに読み込むことができると指摘しています。
djq

回答:


6

答えは、エクスポートする必要がないためです。ラスターパッケージでArc *グリッドデータを直接読み取ることができます(ライブラリrgdalが利用可能な場合)。また、エクスポートする場合は、ASCIIを使用しないことをお勧めします(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")

6

編集する

読み取りのためのより便利なソリューション、このスレッドの他の場所で @RobertHによって提供されます。ここで説明するのと同じアプローチを使用して、Arc *グリッドデータセットを直接読み取ることができますraster。グリッドデータファイルが存在するフォルダーをコマンドで参照するだけです。

元の返信

Arc *では、Raster to ASCIIツール(にありますConversion Tools|From Raster)を使用してグリッドをASCII形式でエクスポートします。

Rrasterおよびrgdalパッケージをロードしraster、次のように関数を使用してラスターを読み取ります。

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

.grdバージョンを作成するには、次のように使用しますwriteRaster

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

コンソール応答は、次のように、出力の.grd部分の内容を記述します(データは.griファイルにあります)。

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 

これは非常に小さな点ですが、それはASCIIとしてエクスポートされた場合、ファイルの種類はすべきではありませんか*.asc?どちらも機能すると思い*.txtますが、ArcGISを使用してファイルを開こうとすると問題が発生する可能性があります。
djq

1
ファイル形式とファイル拡張子は、独立した@celeniusです。確かに、一部のOSと一部のソフトウェアでは、フォーマットに関するヒントとして拡張機能を使用しています(ただし、優れたソフトウェアは、そのヒントを自動的にオーバーライドするか、ユーザーの要求でオーバーライドします)。ただし、この例では、名前は重要ではありません。ArcGISで.txt拡張子のファイルをインポートまたは開くときに問題が発生した場合は、いつでも名前を変更できますが、それはこの質問の範囲外です。
whuber

ファイル形式とファイル拡張子の違いに感謝します。私は主に、ファイルを.txtでなく出力することを選択する理由を知りました.asc。直感に反するかもしれないと思った。
djq

@celenius この例の入力には、(出力ではなく).txt拡張子が付いています。これは、.txtファイルが元々古いソフトウェアによって作成された実際の例から取られたものです。
whuber

2

ESRI GRIDファイルに拡張子が.grdの単一のファイルがあるようには見えません。代わりに、ArcMapが1つのファイルとして認識するマルチフォルダー/マルチファイル形式のように見えます(シェープファイルとArcInfoカバレッジのしくみに似ています)。いずれにしても、.auxファイルは、ラスタ自体に格納できない情報を格納するGRID形式のヘルパーファイルです。それについて話すいくつかのリンクはここにあります:

補助ファイルについて http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files

.auxファイルはいつ作成されますか? http://support.esri.com/en/knowledgebase/techarticles/detail/29821


2
人々は、何が問題なのか明らかでない限り、理由を説明せずに反対票を投じないでください。この場合、わかりません。((こんにちはデイモン、GIS.seへようこそ。それは良くなり、正直になります。
;

@Mattに注意してください。反対投票ボタンのホバーテキストには「この回答は役に立ちません...」と表示されており、間違っているわけではありません。質問は.auxファイルが何であるかを尋ねるものではありません。それは(明確かつ簡潔に)Rへの入力用の.grdファイルを作成するための助けを求めます。したがって、この応答で提供されるアドバイスは正しいですが、失敗するようです有用性テスト。この点で、賛成投票は、意味があり、正確であり、よく書かれていて興味深いかもしれないが、コミュニティの意見では無益である可能性が高いアドバイスから遠ざけることによって、将来の読者に役立ちます。
whuber

@whuberに感謝します。実際に提示されているもののテキストを見て、それを時間の経過とともに頭の中で築き上げてきた意味と対比させることを思い出させるのに役立ちます。大陸移​​動がありました!
マットウィルキー

1

ラスターデータをASCIIに変換し、任意のディレクトリに保存します。次にn R

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

これにより、ASCIIグリッドファイルが読み込まれます。次のようなさまざまなコマンドでデータをチェックすることもできます。

summary(data)

ラスターデータをTIFFとして寛容に保存してから、同じパッケージ(rgdal)を使用して、次のように読み取るtiffファイルを読み取ります。

data<-readGDAL("C:/filepath/file.tiff")
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.