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 형식으로 내 보냅니다.

에서는 R상기로드 rasterrgdal패키지는 다음 사용 래스터 읽기 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? 두 가지 작업이 모두 가능하다고 생각하지만 *.txtArcGIS를 사용하여 파일 을 열려고하면 문제가 될 수 있습니다 .
djq

1
@celenius는 파일 형식과 파일 확장자가 독립적입니다. 사실, 일부 OS 및 일부 소프트웨어는 확장명을 형식에 대한 힌트로 사용합니다 (좋은 소프트웨어는 해당 힌트를 자동으로 무시하거나 사용자의 요청에 따라 무시합니다). 그러나이 예에서는 이름이 가장 중요하지 않습니다. ArcGIS에서 확장자가 .txt 인 파일을 가져 오거나 여는 데 문제가있는 경우 언제든지 파일 이름을 바꿀 수 있지만이 질문의 범위에 해당되지 않습니다.
whuber

파일 형식과 파일 확장자의 차이점에 감사합니다. 나는 왜 파일이 .txt아닌 파일을 출력하도록 선택했는지 궁금했다 .asc. 나는 그것이 직관적이지 않을 것이라고 생각했다.
djq

@celenius 이 예제 의 입력 은 .txt 확장자를 갖습니다 (출력 아님). .txt 파일이 원래 이전 소프트웨어에서 생성 된 실제 예에서 발췌 한 것입니다.
whuber

2

ESRI GRID 파일의 확장자가 .grd 인 단일 파일이없는 것 같습니다. 대신 ArcMap이 하나의 파일로 간주되는 멀티 폴더 / 멀티 파일 형식 인 것 같습니다 (모양 파일 및 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
사람들이 왜 피를 흘리지 않는지 이유를 설명하지 않고 공감하지 마십시오. 이 경우에는 얻지 못합니다. ((Hi Damon, GIS.se에 오신 것을 환영합니다. 더 좋아지고 정직합니다. ;-))
matt

@Matt, downvote 버튼에 대한 호버 텍스트에 "이 답변은 유용하지 않습니다 ..."라고 표시되어 있습니다. 질문은 .aux 파일이 무엇인지 묻지 않습니다. (명확하고 간결하게) R에 입력 할 .grd 파일을 만드는 데 도움을 요청합니다.이 회신에 제공된 조언이 맞지만 실패합니다. 유용성 테스트. 이와 관련하여 다운 보트는 미래의 독자들에게 잘 이해되고, 정확하며, 잘 쓰여지고 흥미로울 수있는 조언으로부터 멀어 지도록 유도함으로써 (지역 사회의 견해로는) 결실이 없을 가능성이 높습니다.
whuber

감사합니다 @ whuber. 실제로 제시된 내용의 텍스트를보고 시간이 지남에 따라 머리 속에 쌓인 의미와 대조되는 것이 상기시켜줍니다. 대륙이 흐르고 있습니다!
matt wilkie

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.