Meu objetivo é escrever um script que amostre aleatoriamente um número desejado de N células raster de entrada de um certo valor/classificação raster, e que essas células amostradas estejam pelo menos a uma distância especificada de entrada entre si. Após montar essa amostra, eu gostaria de exportar a latitude e longitude dessas células amostradas para uma planilha.<\/P>
<\/P>
Estou usando ArcMap 10.8 e escrevo em python com IDLE.<\/P>
Eu tenho um arquivo raster .tif de uma grande área. O tamanho de um país inteiro. Ele tem células raster pequenas, 30 x 30 m, com aproximadamente 180.000.000 classificadas como 0 e 150.000.000 classificadas como 1. Eu gostaria de escrever um script onde eu insira um número de pontos que quero que sejam amostrados aleatoriamente da categoria que desejo e que esses pontos estejam pelo menos a uma distância que eu determinar entre si. Digamos, eu quero 1000 pontos das células raster classificadas como 1 e que eles estejam pelo menos a 5 km de distância uns dos outros. Eu gostaria de obter a latitude e longitude dessas células — imagino que o centro da célula raster sirva, mas tal precisão não é necessária já que 30 x 30 m já é muito detalhado. Depois, eu gostaria de exportar a latitude e longitude desses pontos para um arquivo .csv ou uma planilha excel. Qual é a melhor maneira de fazer isso? Imagino que eficiência possa ser um problema.<\/P>
<\/P>
No momento, meu raciocínio é este:<\/P>
- criar um novo .tif apenas com as células do valor/categoria desejado (1 neste caso).<\/LI>
- Amostrar aleatoriamente uma célula (não tenho certeza de qual ferramenta usar).<\/LI>
- Colocar as coordenadas da célula amostrada em alguma tabela (não tenho certeza de qual ferramenta usar)<\/LI>
- Desenhar um buffer (5 km neste caso) ao redor da célula amostrada.<\/LI>
- Criar novo .tif com a área do buffer ao redor do ponto previamente amostrado excluída dos pontos elegíveis para serem amostrados.<\/LI>
- Repetir os passos 2-6, mais 999 vezes.<\/LI>
- Exportar tabela para .csv<\/LI><\/OL>
<\/P>
<\/P>
Alguém tem sugestões para uma forma melhor? Além disso, alguém sabe quais ferramentas eu deveria procurar para realizar essa tarefa?<\/P>
<\/P>
Muito obrigado antecipadamente por qualquer sabedoria que possam compartilhar.<\/P>