Como posso exportar dados rasterizados do Arcmap para um formato de arquivo R * .grd?
10
Quero trabalhar com dados rasterizados no R, mas tenho problemas ao exportar meu conjunto de dados rasterizados do ArcMap. Por "exportar dados" / GRID, recebo um arquivo com uma extensão * .aux. O que eu preciso é * .grd.
Seria útil que os entrevistados saibam que um arquivo .grd está em um formato específico para o pacote raster em R. com outros formatos que usam "grd" como uma extensão.
whuber
Em que formato está a sua varredura original? O @RobertH indica que você provavelmente pode lê-lo diretamente no R, sem precisar exportá-lo.
DJQ
Respostas:
6
A resposta é não exportar, porque não há necessidade. Você pode ler diretamente os dados da grade do Arc * com o pacote raster (quando a biblioteca rgdal estiver disponível). E se você exportar, é melhor evitar ascii (use, por exemplo, 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")
Uma solução mais conveniente para a leitura é fornecida por @RobertH em outras partes deste segmento . Você pode ler o conjunto de dados da grade do Arc * diretamente usando a mesma abordagem descrita aqui: basta referenciar a pasta na qual os arquivos de dados da grade estão no rastercomando.
Resposta original
No Arc *, use a Raster to ASCIIferramenta (encontrada em Conversion Tools|From Raster) para exportar uma grade no formato ASCII.
Em R, carregue os pacotes rastere rgdal, em seguida, leia a varredura usando a rasterfunção, como em
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
Para criar a versão .grd, use writeRaster, como em
Esse é um ponto muito pequeno, mas se for exportado como ascii, o tipo de arquivo não deve ser *.asc? Suponho que ambos funcionem, mas talvez seja um problema se você tentar abrir um *.txtarquivo usando o ArcGIS.
DJQ
1
Formato e extensão de arquivo são coisas independentes, @celenius. É verdade que alguns sistemas operacionais e alguns softwares usam a extensão como uma dica sobre o formato (embora um bom software substitua automaticamente essa dica ou a solicite pelo usuário). Neste exemplo, no entanto, os nomes não importam nem um pouco. Se você tiver problemas para importar ou abrir um arquivo com uma extensão .txt no ArcGIS, sempre poderá renomeá-lo, mas isso não está no escopo desta pergunta.
whuber
Aprecio a distinção entre formato e extensão de arquivo. Fiquei curioso principalmente por que alguém escolheria produzir o arquivo em .txtvez de .asc. Eu pensei que poderia ser contra-intuitivo.
DJQ
@celenius A entrada neste exemplo possui uma extensão .txt (não a saída). Foi extraído de um exemplo real no qual o arquivo .txt havia sido produzido originalmente por software mais antigo.
whuber
2
Não parece que um arquivo ESRI GRID tenha um único arquivo com uma extensão .grd. Em vez disso, parece ser um formato com várias pastas / arquivos múltiplos que o ArcMap vê como um arquivo (semelhante ao funcionamento de shapefiles e coberturas do ArcInfo). De qualquer forma, o arquivo .aux é um arquivo auxiliar no formato GRID que armazena informações que não podem ser armazenadas na própria varredura. Aqui estão alguns links que falam sobre isso:
pessoas, por favor, não diminua o voto sem explicar o porquê, a menos que esteja sangrando o que está errado. Nesse caso, eu não entendo. ((Hi Damon, bem-vindo ao GIS.se. Fica melhor, honesto ;-)).
Matt Wilkie
Observe, @Matt, que o texto em foco para o botão de votação negativo diz "Esta resposta não é útil ...", não que esteja errado. A pergunta não pergunta o que é um arquivo .aux: ele (clara e sucintamente) pede ajuda para criar um arquivo .grd para entrada em R. Portanto, parece-me que, embora os conselhos oferecidos nesta resposta estejam corretos, ele falha o teste de utilidade. Nesse sentido, os votos negativos servem aos futuros leitores, afastando-os de conselhos bem-intencionados, corretos e até bem escritos e interessantes, mas (na opinião da comunidade) provavelmente serão infrutíferos.
whuber
Obrigado @whuber. Ajuda a ser lembrado de olhar para o texto do que realmente é apresentado e contrastá-lo com o significado que construí em minha mente ao longo do tempo. Houve alguma deriva continental!
Matt Wilkie
1
converta seus dados raster em ASCII e salve em qualquer diretório. então n R
Respostas:
A resposta é não exportar, porque não há necessidade. Você pode ler diretamente os dados da grade do Arc * com o pacote raster (quando a biblioteca rgdal estiver disponível). E se você exportar, é melhor evitar ascii (use, por exemplo, GTiff).
fonte
Editar
Uma solução mais conveniente para a leitura é fornecida por @RobertH em outras partes deste segmento . Você pode ler o conjunto de dados da grade do Arc * diretamente usando a mesma abordagem descrita aqui: basta referenciar a pasta na qual os arquivos de dados da grade estão no
raster
comando.Resposta original
No Arc *, use a
Raster to ASCII
ferramenta (encontrada emConversion Tools|From Raster
) para exportar uma grade no formato ASCII.Em
R
, carregue os pacotesraster
ergdal
, em seguida, leia a varredura usando araster
função, como emPara criar a versão .grd, use
writeRaster
, como emA resposta do console descreverá o que está na parte .grd da saída (os dados estão em um arquivo .gri), como em
fonte
*.asc
? Suponho que ambos funcionem, mas talvez seja um problema se você tentar abrir um*.txt
arquivo usando o ArcGIS..txt
vez de.asc
. Eu pensei que poderia ser contra-intuitivo.Não parece que um arquivo ESRI GRID tenha um único arquivo com uma extensão .grd. Em vez disso, parece ser um formato com várias pastas / arquivos múltiplos que o ArcMap vê como um arquivo (semelhante ao funcionamento de shapefiles e coberturas do ArcInfo). De qualquer forma, o arquivo .aux é um arquivo auxiliar no formato GRID que armazena informações que não podem ser armazenadas na própria varredura. Aqui estão alguns links que falam sobre isso:
Sobre arquivos auxiliares http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files
Quando um arquivo .aux é criado? http://support.esri.com/en/knowledgebase/techarticles/detail/29821
fonte
converta seus dados raster em ASCII e salve em qualquer diretório. então n R
isto irá ler o seu arquivo ASCII, você também pode verificar seus dados através de comandos varioud como
Como alternativa, salve seus dados rasterizados como TIFF e, usando o mesmo pacote (rgdal), ele lê os arquivos tiff que você lerá como
fonte