0 votos
684 vistas
Hola Franz, te escribo porque tengo dudas sobre un tema de programación con python en arcgis 10.1. Sabes como pudeo programar una operación con un raster, que el valor de un píxel determinado sea la diferencia de los ocho vecinos que tiene alrededor?

gracias de antemano por la atención y por la ayuda!
por Novato (100 puntos)   en ArcGIS Desktop
reetiquetada por | 684 vistas

1 Respuesta

0 votos

puedes automatizar las operaciones directamente en python, utilizando la expresión que generas en la herramienta de Raster Calculator

Simplemente incluyendo la operación en el operador:

import arcpy  

r = Raster("Tu_Raster") * 3.1416  

r.save("Raster_Salida")  

Para hacer el tipo de análisis puedes definir un rectábgulo y la operación puede ser similar a esta, mediante un condicional y focal estadistics:

Con(IsNull("raster"), FocalStatistics("raster", NbrRectangle(3,3, "CELL"), "MEAN"), "raster")

El anterior crea un rectángulo de 3x3 (o sea un cuadrado) y da como valor de salida la media de los valores, según se puedes modificar y hacer algunas pruebas para determinar otras operaciones matemáticas, para encontrar 'la diferencia' que es la parte que no entiendo muy bien de tu duda.

Espero te sirva de algo mi respuesta :)

por Novato (109 puntos)  
0
De acuerdo con las respuestas.
A que te refieres con 'la diferencia'? Si fuera suma podrias sumar las ocho celdas vecinas. Pero diferencia... si defines un poco mejor esta parte sera posible comentar/ayudar. Saludos.
Mapa de Profesionales SIG

Un buen usuario

  1. Comparte lo que sabe
  2. Demuestra su amabilidad
  3. Hace preguntas claras
  4. Escribe correctamente
  5. No hace daño a nadie
1,438 preguntas
1,585 respuestas
976 comentarios
1,267 usuarios