Este é o comando r.costgrass que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
r.custo - Cria um mapa raster mostrando o custo cumulativo de se mover entre diferentes
localizações geográficas em um mapa raster de entrada cujos valores de categoria de célula representam o custo.
CHAVES
raster, superfície de custo, custos cumulativos, alocação de custos
SINOPSE
r.custo
r.custo --Socorro
r.custo [-Knri] entrada=nome saída=nome [o mais próximo=nome] [ultrapassar=nome]
[pontos_iniciais=nome] [pontos de parada=nome] [start_raster=nome]
[coordenadas_iniciais=leste, norte[,leste, norte, ...]]
[coordenadas_de_parada=leste, norte[,leste, norte, ...]] [custo_máximo=valor] [custo_nulo=valor]
[memória=valor] [-substituir] [-ajudar] [-detalhado] [-calma] [-ui]
Sinalizadores:
-k
Use o 'movimento do cavaleiro'; mais lento, mas mais preciso
-n
Manter valores nulos no mapa raster de saída
-r
Comece com valores no mapa raster
-i
Imprimir informações sobre requisitos de espaço em disco e memória e sair
- sobrescrever
Permitir que os arquivos de saída substituam os arquivos existentes
--Socorro
Imprimir resumo de uso
--verbose
Saída detalhada do módulo
--quieto
Saída silenciosa do módulo
--ui
Forçar o lançamento da caixa de diálogo da GUI
parâmetros:
entrada=nome [obrigatório]
Nome do mapa raster de entrada contendo informações de custo da célula de grade
saída=nome [obrigatório]
Nome para o mapa raster de saída
o mais próximo=nome
Nome para o mapa raster de saída com o ponto de partida mais próximo
ultrapassar=nome
Nome para o mapa raster de saída para conter direções de movimento
pontos_iniciais=nome
Nome do mapa de pontos do vetor inicial
Ou fonte de dados para acesso direto OGR
pontos de parada=nome
Nome do mapa de pontos do vetor de parada
Ou fonte de dados para acesso direto OGR
start_raster=nome
Nome do mapa de pontos raster inicial
coordenadas_iniciais=leste, norte [, leste, norte, ...]
Coordenadas do (s) ponto (s) de partida (E, N)
coordenadas_de_parada=leste, norte [, leste, norte, ...]
Coordenadas do (s) ponto (s) de parada (E, N)
custo_máximo=valor
Custo cumulativo máximo
Padrão: 0
custo_nulo=valor
Custo atribuído a células nulas. Por padrão, células nulas são excluídas
memória=valor
Memória máxima a ser usada em MB
Padrão: 300
DESCRIÇÃO
r.custo determina o custo cumulativo de se mover para cada célula em um custo à superfície dos talhos, (O entrada
mapa raster) de outra (s) célula (s) especificada (s) pelo usuário, cujas localizações são especificadas por seus
coordenadas geográficas). Cada célula no mapa de superfície de custo original conterá um
valor da categoria que representa o custo de atravessar essa célula. r.custo irá produzir 1)
an saída mapa raster em que cada célula contém o menor custo total de atravessar o
espaço entre cada célula e os pontos especificados pelo usuário (custos diagonais são multiplicados por um
fator que depende das dimensões da célula) e 2) uma segunda camada de mapa raster
mostrando a direção do movimento para a próxima célula no caminho de volta ao ponto inicial (ver
Direção do movimento). Este módulo usa as configurações atuais da região geográfica. o saída
mapa terá o mesmo formato de dados que o entrada mapa, inteiro ou ponto flutuante.
OPÇÕES
O entrada nome é o nome de um mapa raster cujos valores de categoria representam a superfície
custo. o saída nome é o nome do mapa raster resultante de custo cumulativo. o
ultrapassar nome é o nome do mapa raster resultante das direções de movimento (ver Movimento
Direção).
r.custo pode ser executado com três métodos diferentes de identificação do (s) ponto (s) de partida. XNUMX
ou mais pontos (pares de coordenadas geográficas) podem ser fornecidos conforme especificado
coordenadas_iniciais na linha de comando, de um arquivo de pontos vetoriais ou de um mapa raster.
Todas as células não NULL são consideradas pontos de partida.
Cada x, y coordenadas_iniciais par dá a localização geográfica de um ponto a partir do qual o
o custo de transporte deve ser calculado. Quantos pontos desejados podem ser inseridos pelo
do utilizador. Esses pontos de partida também podem ser lidos a partir de um arquivo de pontos vetoriais através do
pontos_iniciais opção ou de um mapa raster através do start_raster opção.
r.custo irá parar de acumular custos quando custo_máximo é alcançado, ou uma das paradas
pontos dados com coordenadas_de_parada é atingido. Alternativamente, os pontos de parada podem ser lidos
a partir de um arquivo de pontos vetoriais com o pontos de parada opção. Durante a execução, uma vez que o
custo cumulativo para todos os pontos de parada foi determinado, o processamento para.
Ambos os sites lidos de um arquivo de pontos vetoriais e aqueles fornecidos na linha de comando serão
processado.
As células nulas no entrada mapa pode ser atribuído a um custo (ponto flutuante positivo) com o
custo_nulo opção.
Quando as células nulas do mapa de entrada recebem um custo com o custo_nulo opção, o correspondente
as células no mapa de saída não são mais células nulas. Usando o -n sinalizador, as células nulas de
o mapa de entrada são retidos como células nulas no mapa de saída.
As r.custo pode ser executado por muito tempo, pode ser útil usar o --v sinalizador detalhado para
rastrear progresso.
O movimento do Cavaleiro (-k sinalizador) pode ser usado para melhorar a precisão da saída. No
diagrama abaixo, a localização central (O) representa uma célula de grade da qual
distâncias são calculadas. Esses vizinhos marcados com um X são sempre considerados para
atualizações de custo cumulativo. Com o -k opção, os vizinhos marcados com um K também são
considerado.
. . . . . . . . . . . . . . .
. . . K. . K. . .
. . . . . . . . . . . . . . .
. . K. X X X K. .
. . . . . . . . . . . . . . .
. . . X O. X . .
. . . . . . . . . . . . . . .
. . K. X X X K. .
. . . . . . . . . . . . . . .
. . . K. . K. . .
. . . . . . . . . . . . . . .
Exemplo de movimento do cavaleiro:
Plano custo à superfície dos talhos, sem (deixou painel) e com da do cavaleiro
mover (direito painel). O omissão is para crescer da custo para fora
in 8 direções. utilização da do cavaleiro mover cresce it para fora
in 16 direções.
Se o o mais próximo parâmetro de saída é especificado, o módulo irá calcular para cada célula seu
ponto de partida mais próximo com base no custo acumulativo minimizado durante a transição do custo
mapa.
NULL CÉLULAS
Por padrão, células nulas no mapa raster de entrada são excluídas do algoritmo e, portanto,
retido no mapa de saída.
Se alguém quiser r.custo para cruzar de forma transparente qualquer região de células nulas, o custo_nulo= 0.0
opção deve ser usada. Então, as células nulas apenas propagam os custos adjacentes. Essas células podem
ser retidas como células nulas no mapa de saída usando o -n bandeira.
NOTAS
Às vezes, quando as diferenças entre os valores de categoria de célula inteira no r.custo
a produção de superfície de custo cumulativo é pequena, esta produção de custo cumulativo não pode ser precisamente
usado como entrada para r.drenagem (r.drenagem produzirá resultados ruins). Este problema pode ser
contornado fazendo as diferenças entre os valores de categoria de célula no custo cumulativo
saída maior. Recomenda-se que, se a saída de r.custo deve ser usado como entrada para
r.drenagem, o usuário multiplica o mapa de superfície de custo de entrada para r.custo pelo valor do mapa
resolução da célula, antes de executar r.custo. Isso pode ser feito usando r.mapcalc. O mapa
resolução pode ser encontrada usando g.região. Este problema não surge com ponto flutuante
mapas.
Algoritmo notas
A abordagem fundamental para calcular o custo mínimo de viagem é a seguinte:
O usuário gera um mapa raster que indica o custo de atravessar cada célula no
direções norte-sul e leste-oeste. Este mapa, junto com um conjunto de pontos de partida são
Submetido para r.custo. Os pontos de partida são colocados em uma lista de células a partir das quais os custos para o
células adjacentes devem ser calculadas. A célula da lista com o menor custo cumulativo
é selecionado para calcular custos para as células vizinhas. Os custos são calculados e aqueles
as células são colocadas na lista e a célula de origem é finalizada. Este processo de seleção
a célula de custo cumulativo mais baixo, custos de computação para os vizinhos, colocando os vizinhos
na lista e a remoção da célula de origem da lista continua até que a lista seja
esvaziar.
O aspecto mais demorado deste algoritmo é o gerenciamento da lista de células
para os quais os custos cumulativos foram calculados pelo menos inicialmente. r.custo usa um binário
árvore com uma lista ligada em cada nó na árvore para manter células de forma eficiente com
custos cumulativos idênticos.
r.custo, como a maioria dos programas raster GRASS, também é feito para ser executado em mapas maiores que
pode caber na memória disponível do computador. Como o algoritmo funciona através da lista dinâmica de
células ele pode se mover quase aleatoriamente em torno de toda a área. r.custo divide toda a área
em uma série de peças e troca essas peças dentro e fora da memória (para e do disco) como
precisava. Isso fornece uma abordagem de memória virtual projetada de maneira ideal para mapas raster 2-D.
A quantidade de memória a ser usada por r.custo pode ser controlado com o memória opção,
o padrão é 300 MB. Para sistemas com menos memória, este valor terá que ser definido para um valor mais baixo
valor.
EXEMPLOS
Considere o seguinte exemplo:
Entrada:
SUPERFÍCIE DE CUSTO
. . . . . . . . . . . . . . .
. 2 2 1 1 5 5 5
. . . . . . . . . . . . . . .
. 2 2 8 8 5 2 1
. . . . . . . . . . . . . . .
. 7 1 1 8 2 2 2
. . . . . . . . . . . . . . .
. 8 7 8 8 8 8 5
. . . . . . . . . . _____. .
. 8 8 1 1 5 | 3 | 9
. . . . . . . . . . | ___ | . .
. 8 1 1 2 5 3 9
. . . . . . . . . . . . . . .
Saída (usando -k): Saída (não usando -k):
SUPERFÍCIE DE CUSTO CUMULATIVO SUPERFÍCIE DE CUSTO CUMULATIVO
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... * * * * * . . . . . .
. 21. 21. 20. 19. 17. 15. 14.. 22. 21* 21 * 20 * 17. 15. 14.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... * * * * * . . . . . .
. 20. 19. 22. 19. 15. 12. 11.. 20. 19. 22* 20 * 15. 12. 11.
. . . . . . . . . . . . . . . . . . . . . * * * * * . . . .
. 22. 18. 17. 17. 12. 11. 9.. 22. 18. 17* 18 * 13 * 11. 9.
. . . . . . . . . . . . . . . . . . . . . * * * * * . . . .
. 21. 14. 13. 12. 8. 6. 6.. 21. 14. 13. 12. 8. 6. 6.
. . . . . . . . . . _____. . . . . . . . . . . . . . . . .
. 16. 13. 8. 7. 4 | 0 | 6. 16. 13. 8. 7. 4. 0. 6.
. . . . . . . . . . | ___ |. . . . . . . . . . . . . . . . .
. 14. 9. 8. 9. 6. 3. 8.. 14. 9. 8. 9. 6. 3. 8.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
O local de partida fornecido pelo usuário no exemplo acima é a caixa 3 na entrada acima
mapa. Os custos no mapa de saída representam o custo total de movimentação de cada caixa ("célula")
para um ou mais (aqui, apenas um) local (is) inicial (is). As células rodeadas por asteriscos são
aqueles que são diferentes entre as operações usando e não usando o movimento do Cavalo (-k)
opção.
saída análise
O mapa de saída pode ser visto, por exemplo, como um modelo de elevação em que o
localização (ões) é / são os pontos mais baixos. Saídas de r.custo pode ser usado como entrada para
r.drenagem com a bandeira de direção -d, a fim de rastrear o caminho de menor custo dado por este
modelo entre qualquer célula e o r.custo localização (ões) de partida. Os dois programas, quando
usados juntos, geram caminhos ou corredores de menor custo entre quaisquer dois locais do mapa
(células).
Mais curto distância superfícies
O r.custo módulo permite calcular a distância mais curta de cada pixel do raster
linhas, como determinar as distâncias mais curtas das famílias para a estrada próxima. Para
essas superfícies de custo com valor de custo 1 são usadas. O cálculo é feito com r.custo as
segue (exemplo para a região Spearfish):
g.region raster = roads -p
r.mapcalc "area.one = 1"
r.cost -k input = area.one output = distância start_raster = estradas
distância d.rast
distância d.rast.num
#transformar para distância métrica da distância da célula usando a resolução raster:
r.mapcalc "dist_meters = distance * (ewres () + nsres ()) / 2."
d.rast dist_meters
Atividades físicas: Direção
A superfície de direção do movimento é criada para registrar a sequência de movimentos que criou
a superfície de acumulação de custos. Sem isso r.drenagem não criaria corretamente um caminho de
um ponto final de volta ao ponto inicial. A direção de cada célula aponta para a próxima
célula. As direções são registradas como graus CCW do Leste:
112.5 67.5 ou seja, uma célula com o valor 135
157.5 135 90 45 22.5 significa que a próxima célula está a noroeste
180 x 360
+202.5 225 270 315 337.5 Portugal: +XNUMX XNUMX XNUMX XNUMX
247.5 292.5
Custo alocação
Exemplo: cálculo do mapa de alocação de custos "costalloc" e do mapa de custos cumulativos
"costsurf" para determinados pontos de partida (mapa "fontes") e dados "custos" do mapa raster de custo:
r.cost input = custos start_raster = sources output = costsurf mais próximo = costalloc
Encontre da mínimo custo caminho
Uma vez r.custo calcula o mapa de custo cumulativo, r.drenagem pode ser usado para encontrar o custo mínimo
caminho. Certifique-se de usar o -d a bandeira e o mapa raster de direção do movimento durante a execução
r.drain para garantir que o caminho seja calculado de acordo com as direções de movimento adequadas.
Use r.costgrass online usando serviços onworks.net