0 votos
385 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 (101 puntos)   en ArcGIS Desktop
reetiquetada por | 385 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 (110 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.
Ofertas de trabajo 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
Gana 500 puntos y obtén un Certificado SIG validado por ArcGeek.

 

1,278 preguntas
1,471 respuestas
939 comentarios
3,269 usuarios