Tengo una trama con huecos. Quiero completar estos con promedios de celdas circundantes usando ArcGIS 10.2 for Desktop.
He intentado con "Estadísticas Focales" pero promedia CADA celda y no solo las brechas.
He intentado [Mosaico] .IsNull.Con ([Promedio], [Mosaico]) encontrado aquí Parchear pero no sé cómo implementarlo / no funcionará para mí
Intenté Map ALgebra pero creo que estaban usando versiones anteriores a 10.2.
Lo que quiero. Haga un ráster falso con espacios rellenos. Use el ráster falso para rellenar los espacios del ráster real sin reemplazar los puntos con datos reales.
arcgis-desktop
arcgis-10.2
spatial-analyst
Steven Crisp
fuente
fuente
Respuestas:
Esto funciona:
Donde "w" y "h" son el radio de búsqueda.
Esto solo hace estadísticas focales en las áreas NoData. Verifiqué borrando datos de un DEM y luego encontrando la diferencia. Solo tiene que asegurarse de que el radio de búsqueda sea adecuado.
fuente
arcpy.sa.NbrCircle(radius, units)
dónde pueden estar las unidades'MAP'
o'CELL'
.Use la función de estadísticas focales, como describió para promediar todas las celdas para el ráster. Luego, use las funciones Con e IsNull en la calculadora ráster para reemplazar solo las celdas que son nulas.
Un posible inconveniente con esta solución es que puede ver algunos valores de celda promediados adicionales no deseados alrededor del perímetro de su ráster de salida
fuente
Debe usar la Calculadora ráster y hay una línea de código útil y relevante de la página de soporte de ESRI. Cómo : Eliminar y reemplazar los valores de datos dentro de un ráster utilizando información estadística de los valores de datos circundantes . Según su pregunta, parece que esto haría exactamente lo que está tratando de hacer, pero avíseme si me equivoco. Aquí está mi captura de pantalla de Raster Calculator usando una declaración condicional para calcular un valor promedio para celdas sin datos de las celdas circundantes:
Si tiene cientos de estos que hacer, le recomiendo usar el Raster Iterator en el Model Builder, que alimentará todos sus rásteres en la Herramienta de cálculo de ráster, de esta manera:
fuente
Probé el método de la Calculadora ráster que LeonB usó, pero me encontré con el error Sin memoria, lo que es sorprendente dadas las especificaciones de mi sistema. Escribió un pequeño script de Python independiente, modificado desde aquí , en IDLE que funcionó para mí ...
fuente