Mais

Fazendo o arquivo bash GRASS GIS 7 Ubuntu funcionar no Windows 7

Fazendo o arquivo bash GRASS GIS 7 Ubuntu funcionar no Windows 7


Eu criei este arquivo bash (.sh) enquanto trabalhava na simulação estocástica da análise de bacias hidrográficas no GRASS GIS 7.0.2RC1, que está sendo executado no Ubuntu. Funcionou perfeitamente e recebi os resultados corretos.

r.surf.random --overwrite output = frequência min = 0 max = 0 for ((n = 1; n <21; n = $ n + 1)) do r.surf.random --overwrite output = erros min = -15 max = 15 r.mapcalc "fixed_terrain = terrain @ exrcs1 + errors @ exrcs1" --overwrite r.watershed --overwrite elevation = fixed_terrain @ exrcs1 acúmulo = acúmulo $ n r.reclass --overwrite input = acúmulo $ n @ exrcs1 output = drenar $ n rules = C:  Usuários  Hynek  exrcs1_reclass_rules r.mapcalc "frequência = drenar $ n + frequência" --o feito

O arquivo bash está usando regras de reclassificação que são definidas no arquivo exrcs1_reclass_rules. E este é o meu pergunta - como fazer este arquivo bash funcionar para o Windows 7 localizado no GRASS GIS 7.0.2RC1? Eu sabia que haveria um problema no diretório que contém o arquivo de regras de reclassificação. Tentei mudar o caminho do arquivo pararegras = C: Usuários Hynek exrcs1_reclass_rulesem vez do caminho do Ubunturegras = / home / usuário / exrcs1_reclass_rules, e foi capaz de ler este arquivo, mas então este erro apareceu no terminal GRASS:

AVISO: Não é possível renomear o arquivo nulo 'C:  Usuários  Hynek  Documentos  grassdata / utm / exrcs1 / .tmp / desconhecido / 34012.1' para 'C:  Usuários  Hynek  Documentos  grassdata / utm / exrcs1 / cell_misc / frequência / nul l ': O arquivo existe AVISO: Não é possível renomear o arquivo de célula' C:  Usuários  Hynek  Documentos  grassdata / utm / exrcs1 / .tmp / desconhecido / 34012.0 'para' C:  Usuários  Hynek  Documentos  grassdata / utm / exrcs1 / fcell / frequência ': arquivo existente

Até agora, este arquivo bash criou todos os vinte itens desejados acumulação e ralo rasters, que estão bem, mas desejados frequência raster é totalmente amarelo e com valores zero. Isso está obviamente errado. Você tem alguma ideia de como eu poderia consertar isso?


Então, finalmente abri o tíquete depois de alguns anos e encontrei a solução. O problema de renomear arquivos nulos e de células está no lado do Windows, nada pode ser feito a respeito. Não é possível ler e gravar no mesmo arquivo ao mesmo tempo.

Portanto, uma solução alternativa usando g.rename e g.remove é utilizado. Usei uma nova camada raster chamada "freqnew", que soma um raster de dreno e um raster de frequência. Em seguida, o raster de frequência antigo é removido completamente e o raster "freqnew" é renomeado para raster de "frequência" (a remoção é necessária, caso contrário, a renomeação falhará, porque ainda haveria o raster de "frequência"). Com essa abordagem, a simulação funciona conforme o esperado.

r.surf.random --overwrite output = frequência min = 0 max = 0 for ((n = 1; n <21; n = $ n + 1)) do r.surf.random --overwrite output = erros min = -15 max = 15 r.mapcalc "fixed_terrain = terrain @ exrcs1 + errors @ exrcs1" --overwrite r.watershed --overwrite elevation = fixed_terrain @ exrcs1 acúmulo = acúmulo $ n r.reclass --overwrite input = acúmulo $ n @ exrcs1 output = drenar $ n rules = C:  Usuários  Hynek  exrcs1_reclass_rules r.mapcalc "freqnew = drenar $ n + frequência" --overwrite g.remove -f type = raster name = frequência g.rename raster = freqnew, frequência feita