5 votos

Búsqueda de solapamiento de tramas en un directorio

Este es el escenario:

Tengo un directorio con más de 100 mapas proyectados, de banda única, rásteres que pesa más de 40GB. He utilizado las herramientas de mosaico integradas en ArcMap para crear un mosaico de rásters. Estoy utilizando un conjunto de herramientas de procesamiento de imágenes para realizar algunos estiramientos y modelar algunos errores de la cámara. El siguiente paso es trabajar en el contraste de los rásteres superpuestos.

He utilizado la combinación de colores dentro de Arc y no estoy contento con ella. Quiero implementar mi propio algoritmo modificado utilizando la reconstrucción del gradiente de la imagen de Poisson o utilizando una técnica de spline multiresolución. Esto se hará en python usando GDAL, Numpy, y Scipy.

¿Alguien tiene alguna sugerencia sobre técnicas para encontrar la superposición de tramas dentro de un directorio? Los rásteres son todos de tamaño y orientación variables. Todos los mapas están proyectados a la misma proyección.

Ideas hasta ahora que he descartado:

  1. Crea manualmente un .vrt multibanda, realiza algunos cálculos de matriz y devuelve una matriz que contiene sólo la superposición. Desgraciadamente, esto no se puede automatizar, ya que hay que seleccionar manualmente los rasters.

  2. Todas las imágenes tienen un contraste relativamente cercano, por lo que consideré la posibilidad de realizar un cotejo de imágenes para encontrar áreas de solapamiento. Descarté esta posibilidad por el tamaño del directorio a analizar.

  3. Convierte la imagen en una representación binaria (1=datos, 0=nodatos), luego poligoniza y comprueba la superposición de los polígonos.

El punto tres parece ser el más prometedor, pero espero que alguien más tenga un método novedoso y rápido.

3voto

SjB Puntos 269

¿Qué versión de arcGIS estás utilizando? si tienes arcgis instalado intenta crear un mosaico rasterizado y construye huellas cuando lo hagas. Las huellas son sólo el contorno poligonal de cada raster. También podrías usar arcpy/arcgis para devolver las estadísticas de cada raster con la idea de crear puntos de esquina para cada raster y crear polígonos a partir de ellos.

Cuando leí tu pregunta de nuevo me di cuenta de que si la extensión del raster puede no ser la misma que la extensión de los datos en el raster. tal vez podrías tratar de usar la bandera -srcnodata para gdalwarp para establecer los valores de nodata si esto no se hace ya y luego usar gdal_polygonize.py para crear polígonos

3voto

Hugo Puntos 2156

Tal vez quiera consultar gdaltileindex para ver si es lo que quieres. Construirá automáticamente un polígono de "huella" para cada trama. Sin embargo, esto puede no funcionar si tiene valores de nódulos a lo largo de los bordes que espera excluir, en cuyo caso su #3 parece una lógica adecuada (aunque tal vez no sea la más eficiente).

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