Encuentra la intersección de dos rásteres


9

Tengo dos imágenes ráster, booleanas clasificadas (1 o 2). Se superponen en áreas determinadas.

Necesito un ráster que sea solo las secciones superpuestas.

Uso de Arcinfo 10. Answer solo puede usar métodos de trama, sin conversión a polígonos, puntos, etc.Solo como referencia, aquí hay una captura de pantalla.


Ambas respuestas son correctas, la primera es más elegante, pero decidí dar la segunda, ya que fue la más útil para mí.
Thad

Respuestas:


8

Esto parece una operación de recorte bastante simple. Use la herramienta Clip (gestión de datos) .

De la documentación de ayuda:

Se puede usar una capa ráster o vectorial existente como la extensión del clip. Si está utilizando una clase de entidad como la extensión de salida, tiene la opción de recortar el ráster por el rectángulo delimitador mínimo de la clase de entidad o por la geometría poligonal de las entidades. Si se utiliza la geometría de recorte, se puede promover la profundidad de píxel de la salida. Por lo tanto, debe asegurarse de que el formato de salida puede admitir la profundidad de píxel adecuada.

En realidad, esto debería ser más simple que su requisito, ya que utiliza funciones básicas y ni siquiera debería requerir la extensión Spatial Analyst , como podrían hacerlo otros métodos.

-------------- Editar

Por otro lado, si su objetivo es crear un ráster que muestre dónde ambas entradas eran nulas, o si una tenía un valor o ambas tenían un valor, entonces usaría la Multiplicación de ráster . Esto esencialmente crea un ráster de salida que tiene valores que son los múltiplos de los valores de los rásteres de entrada. Tenga en cuenta que lo que sigue requiere la extensión Spatial Analyst.

Un ejemplo, en su caso, con rásteres booleanos.

Raster 1:  1,2  
Raster 2:  1,2

Output Raster:  Possible combinations:  1x1,1x2,2x1,2x2 with output values: 1,2,4  
Value 1:  Both Boolean False  
Value 2:  1 or the other, Boolean True  
Value 4:  Both Boolean True

Si desea poder determinar cuál de sus entradas tiene un valor verdadero, deberá reclasificar uno de los rásteres de entrada para que sus valores multiplicados sean completamente únicos. Ambas entradas deberán reclasificarse para que no haya un valor de "1", ya que esto permitirá valores duplicados en un ráster multiplicado.

Ejemplo:

Raster 1: 1,2 - Use [Raster Addition][4], with a constant of 1 - Output Raster 3  
Raster 2: 1,2 - Use [Multiply Raster][5], with constant of 2 - Output Raster 4  
Raster 3: 2,3  
Raster 4: 2,4

Now, multiply Raster 3 and Raster 4  
Output Raster:  Possible Combinations:  2x2,3x2,4x2,4x3 with output values: 4,6,8,12

Value 4:  Both Boolean False  
Value 6:  Raster 3 True, Raster 4 False  
Value 8:  Raster 4 True, Raster 3 False  
Value 12: both Boolean True

Puede hacer una combinación de estas operaciones donde recorta uno de los rásteres por el otro, para mostrar solo el área superpuesta. Luego reclasifique y multiplique los rásteres para mostrar dónde ambos son Falsos, uno u otro son Verdaderos, o ambos son Verdaderos.

Espero que esto ayude.


Sigo recibiendo un error de extensión de salida. O un error de máscara. Tan frustrante ... Nunca te encuentres con esto antes.
Thad

nvm. Creo que tengo un problema de proyección. es decir, estas funciones no admiten la proyección sobre la marcha ... por lo tanto, no se superponen en cuanto a las funciones en cuestión.
Thad

@Thad: luego intentaría reproyectar uno de los rásteres para que coincida con la proyección del otro. Use la herramienta Project Raster que se encuentra en las herramientas de Gestión de datos. O utilice el código de Python para hacerlo mediante programación como parte de su flujo de trabajo.
Obtenga espacial

Sí, hice eso y funcionó perfectamente.
Thad

9

Supongo que en sus rásteres tiene el valor 1 para blanco (de alguna manera área de nodata) y 2 para azul / verde.

Por lo tanto, debe obtener áreas donde ambos rásteres tengan valor 2.

Esto se puede realizar fácilmente con la Calculadora ráster en ArcGIS.

La expresión se verá así:

("raster1" == 2) & ("raster2" == 2)

o

Con(("raster1" == 2) & ("raster2" == 2), 1, 0)

PD: esta herramienta requiere la extensión Spatial Analyst


0

Creo que este método puede ayudarte:

  1. arctoolbox >> Data management tools >> Raster >> Rasterprocessing >> Clip arrastre y suelte su ráster en entrada y salida (sin importar cuál). Ahora tiene un archivo shape desde su área de superposición (lo llamamos overlap.shp).
  2. usando extracto por máscara, para ambos rásteres:: arctoolbox >> Spatial analyst tools >> Extraction >> Extract by maskinput: el Ráster 1, datos de máscara: el overlap.shp. Ahora tiene un ráster de superposición ráster 1 (lo llamamos overlap1). arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: input: el ráster 2. datos de máscara: el overlap.shp. Ahora tiene un ráster de superposición ráster 1 (lo llamamos overlap2).
  3. El último paso: arctoolbox >> Spatial analyst tools >> Map algebraarrastrar y soltar overlap2 y overlap1.

Ahora puedes hacer cualquier cosa. Todas las estadísticas que necesitas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.