6 votos

¿Añadir dos conjuntos de datos ráster que se solapan manteniendo la extensión del conjunto de datos ráster mayor?

Estoy utilizando ArcMAP 10.0

¿Cómo puedo añadir dos conjuntos de datos ráster que se solapan manteniendo la extensión del conjunto de datos ráster mayor? He pensado en añadir valores cero al raster más pequeño para luego poder sumar ambos en la calculadora de raster.

¿Alguien conoce una forma mejor de conseguirlo?

Mis datos son datos de espesor de depósitos, y quiero preservar la extensión del ráster más grande dentro del cual está confinado el ráster más pequeño al sumar sus elevaciones, ya que actualmente al sumar los datos sólo obtengo un ráster de salida en el que los datos se solapan.

1 votos

Por favor, editar la pregunta para especificar qué software SIG está utilizando.

1 votos

Pruebe a establecer el entorno de extensión de salida en MAXOF. Más detalles aquí: help.arcgis.com/es/arcgisdesktop/10.0/help/index.html#//

3voto

SPRBRN Puntos 275

Si entiendo correctamente su situación, y suponiendo que usted tener acceso a la extensión Spatial Analyst y quieres evitar implementar una solución codificada, creo que lo que quieres es la herramienta "Mosaico a Nuevo Raster".

http://resources.arcgis.com/EN/HELP/MAIN/10.2/index.html#//001700000098000000

Sólo tienes que hacer que las indicaciones coincidan con los datos originales (por ejemplo, tipo de píxel, tamaño de celda, SRS, etc.) pero para la "mosaic_method" uso de parámetros "SUMA" .

Espero que funcione. Avísame si no es lo que querías.

Editar (Para trabajar con ArcGIS 10.0) :

Para hacer esto en ArcGIS 10.0 y por debajo (cuando usted no tiene acceso a la función SUM en Mosaico a Nuevo Raster) lo siguiente esboza una estrategia que creo que va a funcionar. Perdóname, es un poco difícil de probar sin mí mismo tener acceso a 10.0. Además, necesitará la extensión Spatial Analyst para utilizar las herramientas mencionadas a continuación.

Estas páginas de documentos te ayudarán a encontrar la solución:

Con

http://help.arcgis.com/EN/arcgisdesktop/10.0/help/index.html#//009z00000005000000.htm

Hacer expresiones Con

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00p60000000p000000

Calculadora de trama

http://help.arcgis.com/EN/arcgisdesktop/10.0/help/index.html#//009z000000z7000000.htm

Por lo tanto, el flujo de trabajo general que usted querrá es hacer una expresión para ser utilizada en la Calculadora de Raster o utilizar una serie de herramientas de álgebra de mapas independientes (básicamente haciendo los pasos de la calculadora de raster manualmente y paso a paso). Lo que le resulte más fácil.

Creo que querrás hacer algo así con la herramienta Con:

in_conditional_raster \= Raster(raster_pequeño)

in_true_raster_or_constant \= Raster({raster_pequeño}) + Raster({raster_grande})

in_false_raster_or_constant \= Raster(gran_raster)

donde_clausa \= bastante seguro de que esto sólo debe dejarse en blanco

Así que si todo va bien, y entiendo sus conjuntos de datos correctamente, lo anterior debe buscar las áreas que contienen el raster pequeño (condición verdadera), si los encuentran van a crear un nuevo raster con los valores sumados de small_raster y big_raster. A continuación, para las áreas que no están en el small_raster (condición falsa) sólo se rellenará con los valores del big_raster.

Espero que funcione.

1 votos

Chaz usted está en algo grande aquí He intentado calcular esto, pero no tengo un parámetro mosaic_method en 10.0 - en su lugar tengo operador de mosaico que me da las opciones (Primera, Última. Blend, Media, Mínimo y máximo). La herramienta Blend es la más parecida a la suma y en la barra de ayuda dice BLEND - "El valor de la celda de salida de las áreas superpuestas será un cálculo ponderado horizontalmente de los valores de las celdas en el área superpuesta. " esto suena muy bien pero al haber calculado la salida me han quitado los valores y quiero sumarlos como has detallado.

0 votos

Mis disculpas, mencionaste que estabas usando 10.0, supongo que no añadieron la función SUM hasta 10.1 o 10.2. Supongo que tendrás que pedirle al laboratorio de tu universidad que te pague la nueva versión ;) Jaja, o puedes probar con "raster calculator" o simplemente con la herramienta "con". Actualizaré mi respuesta e intentaré destacar cómo hacerlo.

0 votos

Actualizado. A ver si consigues que funcione el flujo de trabajo anterior. Buena suerte.

3voto

epic9x Puntos 1020

La forma correcta sería hacer clic en el botón Configuración del entorno en la parte inferior de la ventana Calculadora de Raster.

Aparece una nueva ventana en la que puede elegir el grado de procesamiento de su cálculo.

enter image description here

Aquí puede elegir entre intersección, unión, específico del usuario... Adicionalmente si se cargan rásters puedes elegir uno de ellos. En tu caso yo elegiría el más grande.

0 votos

"Unión de entradas", es la más sencilla. :)

0 votos

Creo que esto depende siempre de la forma en que se superponen los dos raster. Pero en algunos casos tienes razón.

0voto

willsta Puntos 33

Es una respuesta de bajo nivel, pero allá va. Suponiendo que usted sabe el tamaño de píxel se puede calcular donde la pequeña trama es dentro de la trama más grande y sólo se suman a los valores dentro de los confines de la pequeña trama, algo a lo largo de las líneas de este debe trabajar (pensado como pseudocódigo):

startleft = int((largecornerleft - smallcornerleft)/pixelsize);
starttop = int((largecornertop - smallcornertop)/pixelsize);
endleft = startleft + xnopixelsinsmall;
endtop = starttop + ynopixelsinsmall;

for(j=0;ynopixelsinlarge;j++){
   for(i=0;xnopixelsinlarge;i++){
      if(i >= startleft && i < endleft && j >= starttop && j <endtop){
      largeraster[j][i] += smallraster[j-starttop][i-startleft];
      }
   }
}

EDIT: versión más rápida del bucle:

for(j=0;j<endtop;j++){    
   for(i=0;i<endleft;i++){
   largeraster[starttop+j][startleft+i] += smallraster[j][i]];
   } 
}

0 votos

Eso es genial - Muchas gracias - Soy un usuario aficionado estudiante ¿cómo puedo ir sobre la ejecución de este código para los raster en ArcGIS 10.0? Calculadora Raster?

0 votos

Lo siento, no estoy familiarizado con ArcGIS, era sólo la intención de mostrar cómo hacer lo que quieres en un lenguaje de estilo C/java (también un estudiante aquí)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X