Mi objetivo es escribir un script que muestree aleatoriamente un número deseado de N celdas raster ingresadas de un cierto valor/clasificación raster, y que estas celdas muestreadas estén al menos a una distancia especificada ingresada entre sí. Después de ensamblar esta muestra, me gustaría exportar la latitud y longitud de estas celdas muestreadas a una hoja de cálculo.<\/P>
<\/P>
Estoy usando ArcMap 10.8 y escribo en python con IDLE.<\/P>
Tengo un archivo raster .tif de una gran área. El tamaño de todo un país. Tiene celdas raster que son pequeñas, 30 x 30 m con aproximadamente 180,000,000 clasificadas como 0 y 150,000,000 clasificadas como 1. Me gustaría escribir un script donde ingreso un número de puntos que quiero que sean muestreados aleatoriamente de la categoría que deseo y que estos puntos estén al menos a una distancia que yo determine entre sí. Digamos, quiero 1000 puntos de las celdas raster que están clasificadas como 1 y que estén al menos a 5 kms de distancia entre sí. Quisiera obtener la latitud y longitud de estas celdas—imagino que el centro de la celda raster servirá, pero tal precisión no es necesaria ya que 30 x 30 m ya es muy detallado. Luego me gustaría exportar la latitud y longitud de estos puntos a un archivo .csv o una hoja de Excel. ¿Cuál es la mejor manera de hacer esto? Imagino que la eficiencia podría ser un poco problema.<\/P>
<\/P>
Ahora mismo, mi proceso mental es este:<\/P>
- crear un nuevo .tif solo con las celdas con el valor/categoría deseada (1 en este caso).<\/LI>
- Muestrear aleatoriamente una celda, (no estoy seguro qué herramienta usar).<\/LI>
- Poner las coordenadas de la celda muestreada en alguna tabla (no estoy seguro qué herramienta usar)<\/LI>
- Dibujar un buffer (5kms en este caso) alrededor de la celda muestreada.<\/LI>
- Crear un nuevo .tif excluyendo del área buffer alrededor del punto muestreado previamente los puntos elegibles para ser muestreados.<\/LI>
- Repetir los pasos 2-6, 999 veces más.<\/LI>
- Exportar la tabla a .csv<\/LI><\/OL>
<\/P>
<\/P>
¿Alguien tiene alguna sugerencia sobre una mejor manera? Además, ¿alguien sabe qué herramientas debería buscar para lograr esta tarea?<\/P>
<\/P>
Muchas gracias de antemano por cualquier sabiduría que puedan brindar.<\/P>