1 votos

Eliminar ángulo o proyección en GDAL

Soy completamente nuevo en GeoData así que esto puede ser un problema algo tonto, pero estoy teniendo un problema con el ángulo GeoTIFF imágenes tienden a venir con. Estoy recopilando imágenes de satélite para un proyecto de segmentación de aprendizaje profundo. Para ello necesito imágenes cuadradas o rectangulares. Pero cuando importo una imagen con GDAL (vía Python) es una imagen angular, ya que estas imágenes GeoTIFF contienen una proyección (en mi caso una proyección sin nombre, más información abajo). Cuando trazo estas imágenes obtengo imágenes rotadas, con los lados rellenos de negro para formar un cuadrado.

Estas imágenes rotadas son útiles en muchos casos relacionados con la geografía, pero no para el aprendizaje profundo. Cada imagen debe ser un cuadrado/rectángulo. Cada píxel debe proceder de la propia imagen (no de un relleno negro). Quiero eliminar el ángulo en la imagen: en esencia, eliminar la proyección. He estado buscando y tratando durante días para eliminar simplemente la proyección, pero sigo fallando. ¿Alguien aquí sabe cómo puedo "desenredar" estas imágenes, ya sea eliminando la proyección (si es que eso es posible) o rotando la imagen? ¿O hay algún método aún más fácil?

Algunos datos de las imágenes que me gustaría procesar (des-angular) son:

Coordinate System is:
PROJCRS["unnamed",
    BASEGEOGCRS["Amersfoort",
        DATUM["Amersfoort",
            ELLIPSOID["Bessel 1841",6377397.155,299.152812800003,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4289]],

Corner Coordinates:
Upper Left  (  185042.500,  364840.000) (  5d49' 5.55"E, 51d16'22.64"N)
Lower Left  (  185042.500,  348993.000) (  5d49' 0.74"E, 51d 7'49.79"N)
Upper Right (  200000.000,  364840.000) (  6d 1'57.25"E, 51d16'19.08"N)
Lower Right (  200000.000,  348993.000) (  6d 1'50.05"E, 51d 7'46.24"N)
Center      (  192521.250,  356916.500) (  5d55'28.40"E, 51d12' 4.62"N)

Este problema no se produce cuando importo imágenes de satélite sin procesar, por lo que estoy buscando posibles respuestas en esa dirección. Estas imágenes sin procesar tienen una SpatialReference de None, una GeoTransform de (0.0, 1.0, 0.0, 0.0, 0.0, 1.0), y las coordenadas de las esquinas están especificadas por simples ubicaciones de píxeles (6395 es el tamaño de Y mientras que 5720 es el tamaño de X):

Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0, 6395.0)
Upper Right ( 5720.0,    0.0)
Lower Right ( 5720.0, 6395.0)
Center      ( 2860.0, 3197.5)

1voto

Joe Puntos 16

Dos soluciones sencillas con las utilidades de línea de comandos de GDAL

  1. Utilice el script de Python gdal_edit.py https://gdal.org/programs/gdal_edit.html#gdal-edit con la opción -unsetgt

-unsetgt Remove the georeference information.

  1. Utilice la utilidad gdal_translate (también disponible directamente desde Python como gdal.Translate, véase https://erouault.blogspot.com/2015/10/gdal-and-ogr-utilities-as-library.html ) y GTiff driver https://gdal.org/drivers/raster/gtiff.html para crear un archivo TIFF de referencia

Uso:

gdal_translate -of GTiff -co PROFILE=BASELINE input.tif output.tif

1voto

Aaron Puntos 25882

Sospecho que está encontrando valores NoData alrededor de la imagen de satélite como se muestra en la imagen de abajo. Es probable que sus imágenes no sean "Analysis Ready Data (ARD)", sino que utilicen algo parecido a los datos de trayectoria WRS-2. Para obtener más información sobre cómo USGS mosaico escenas Landsat, consulte la siguiente información (tenga en cuenta que todos los proveedores de satélite tendrá una descripción de cómo los datos de mosaico en los distintos niveles de procesamiento):

Datos listos para el análisis del Landsat de EE.UU.

También hay una pregunta similar que contiene información pertinente, aunque probablemente no responda a su pregunta:

¿Cómo elimino el borde negro de una capa cartográfica georreferenciada?

En resumen no puede quitar la proyección para eliminar el borde NoData. En su lugar, tendrá que elegir cómo manejar el borde NoData alrededor de los datos de la trayectoria del satélite. Estas son sus opciones:

  1. Maneje los valores NoData en su modelo de aprendizaje profundo
  2. Combine todas sus imágenes de satélite en un mosaico y luego genere su propio esquema de mosaico
  3. Busca otra fuente que proporcione baldosas ARD

enter image description here

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