Tengo un ráster que contiene decenas de millones de puntos, todos con datos X, Y y Z definidos. Necesito encontrar una manera simple de extraer y crear un nuevo ráster o vector con TODOS los puntos a una distancia de 720 m entre sí (X, Y) y a una diferencia de elevación (Z) de 120 m entre sí.
Tengo cero conocimiento de SQL y Python. He estado tratando de hacer esto en VBA y se me ocurrió un par de algoritmos, pero el tiempo de procesamiento no es razonable ni realista. Estoy seguro de que debe haber un simple enfoque SIG para lograr esto, pero parece que no puedo encontrarlo.
Estoy usando ArcMap.
arcgis-desktop
vba
usuario32882
fuente
fuente
0
= no tiene puntos a 720 m de distancia y ± 120 m de elevación,1
= uno o más puntos a 720 m de distancia y ± 120 m de elevación? O, ¿necesita contar cuántos puntos cumplirían los criterios?Respuestas:
Un enfoque quizás demasiado simple sería utilizar Estadísticas Focales .
MIN
para encontrar el valor de elevación más bajo en el vecindario.MAX
, para encontrar el valor de elevación más alto en el vecindario.Con la Calculadora ráster , evalúe si las diferencias de elevación son lo suficientemente grandes. Algo como
Con((Abs("DEM" - "FSMin") > 120) | (Abs("DEM" - "FSMax") > 120), 1, 0)
Si la diferencia original mínima o la diferencia original máxima supera los 120 m, el valor es 1, de lo contrario 0. ( Nota: no he probado la sintaxis ) .
Esto solo le dice si una celda tiene una o más celdas vecinas que cumplen con sus criterios de distancia / elevación, no le dice cuántos.
fuente