ISIS a GDAL a QGIS: Georreferenciación de imágenes de Marte

8

Estoy tratando de usar QGIS para ver algunas imágenes de la cámara de contexto Mars Reconnaissance Orbiter Context. Uso ISIS3 para descargar las imágenes y convertirlas en archivos .cub mapeados, siguiendo las instrucciones aquí: http://isis.astrogeology.usgs.gov/IsisWorkshop/index.php/Working_with_Mars_Reconnaissance_Orbiter_CTX_Data

Ahora estoy tratando de exportar estos archivos de cubo ISIS a archivos GTiff, para verlos en QGIS, puedo hacer esto pero la georreferenciación no parece funcionar. He intentado esto de 3 maneras diferentes:

  1. Use el comando ISIS isis2std para generar archivos tif (y tfw).

    Cuando intento abrir el archivo tif en QGIS, me pide que elija un tipo de proyección (pregunta adicional, ¿hay una proyección adecuada para Marte? Siempre elijo WGS 84, estúpido, lo sé pero no sé una opción más sensata) . Luego, una vez que se carga el ráster, se muestra automáticamente como una imagen en escala de grises, pero mis coordenadas no están en grados, parecen estar en píxeles y tienen un rango de cientos de miles.

    Este método produce una imagen tif de ~ 100 Mb a partir de un .cub original de cerca de 1 Gb.

  2. Use gdal: gdal_translate -of GTiff input_mapped.cub output.tif.

    Esta vez no me piden que elija un tipo de proyección. La proyección adquiere 'USUARIO: 100002'. Con suerte, esto significa que está logrando leer la proyección apropiada de Marte del cachorro ISIS? La imagen se muestra como un cuadro gris sólido en escala de grises esta vez, pero puedo ver los detalles al cambiar a un esquema de asignación de color diferente. De nuevo, aunque mis coordenadas no están en grados, vuelven a estar en los cientos de miles.

    Este método produce un GTiff con el mismo tamaño de ~ 1 Gb que la imagen original .cub.

  3. Abra el archivo ISIS .cub directamente en QGIS.

    Tiene básicamente el mismo efecto que para el método 2.

Debido a los tamaños de archivo, preferiría una variación del método 1, pero con un esquema de proyección y georreferenciación adecuado para Marte.

Editar: Aquí está la georreferencia, y la salida de gdalinfo en el archivo .cub ISIS original:

georeferencia (en python):

>>>import gdal
>>>from gdalconst import *
>>>fn = 'P01_001356_1747_XN_05S221W.map.cub'
>>>ds = gdal.Open(fn, GA_ReadOnly)
>>>gt = ds.GetGeoTransform()
>>>gt
(-22085.510544416, 5.1698292472885, 0.0, -234679.22885141, 0.0, -5.1698292472885)

gdalinfo (desde la terminal):

$gdalinfo file.cub
Driver: ISIS3/USGS Astrogeology ISIS cube (Version 3)
Files: P01_001356_1747_XN_05S221W.map.cub
       P01_001356_1747_XN_05S221W.map.cub.aux.xml
Size is 8526, 30111
Coordinate System is:
PROJCS["Sinusoidal Mars",
    GEOGCS["GCS_Mars",
        DATUM["D_Mars",
            SPHEROID["Mars",3396190,0]],
        PRIMEM["Reference_Meridian",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Sinusoidal"],
    PARAMETER["longitude_of_center",138.45730511261],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0]]
Origin = (-22085.510544415999902,-234679.228851410007337)
Pixel Size = (5.169829247288500,-5.169829247288500)
Corner Coordinates:
Upper Left  (  -22085.511, -234679.229) (138d 5' 1.74"E,  3d57'33.05"S)
Lower Left  (  -22085.511, -390347.957) (138d 4'56.04"E,  6d35' 7.46"S)
Upper Right (   21992.454, -234679.229) (138d49'45.19"E,  3d57'33.05"S)
Lower Right (   21992.454, -390347.957) (138d49'50.86"E,  6d35' 7.46"S)
Center      (     -46.528, -312513.593) (138d27'23.46"E,  5d16'20.26"S)
Band 1 Block=406x128 Type=Float32, ColorInterp=Undefined
  Min=0.033 Max=0.150 
  Minimum=0.033, Maximum=0.150, Mean=0.080, StdDev=0.020
  NoData Value=-3.40282265508890445e+38
  Metadata:
    STATISTICS_MAXIMUM=0.15037615597248
    STATISTICS_MEAN=0.080181184414784
    STATISTICS_MINIMUM=0.033307410776615
    STATISTICS_STDDEV=0.020299974127104
EddyTheB
fuente
¿Cuál es la cadena del parámetro Proj para 'USUARIO: 100002'?
nhopton
@nhopton ¿Sería esto: "+ proj = eqc + lat_ts = 0 + lat_0 = 0 + lon_0 = 180 + x_0 = 0 + y_0 = 0 + a = 3396190 + b = 3396190 + unidades = m + no_defs" Fui a Configuración> CRS personalizado y esto estaba en el cuadro de parámetros.
EddyTheB
Creo que esto se debe a que la geotransformación está en píxeles, en lugar de grados, estoy investigando.
EddyTheB
No lo habría pensado, no si las coordenadas están en los cientos de miles. Parece más probable que se proyecte el ráster, uno espera que el CRS que proporcionó detalles de arriba. ¿Puedes publicar el ráster en algún lugar donde se pueda descargar?
nhopton
@nhopton Claro, aunque es enorme. También he editado mi pregunta para mostrar el resultado de gdalinfo y la georreferencia para el archivo. Disculpas por haber tardado en responder a tus comentarios, he estado absorto en otras cosas. El archivo .cub de ISIS está en thermal.boulder.swri.edu/images/…
EddyTheB

Respuestas:

2

Haga un CRS personalizado con la siguiente cadena de parámetros:

+proj=longlat +a=3396190 +b=3396190 +no_defs

Puede llamar a este CRS (por ejemplo) "Mars_Geo". Luego cargue el ráster * .cub, establezca el proyecto CRS en "Mars_geo" y habilite la transformación CRS sobre la marcha. Hacer esto distorsionará el ráster hasta cierto punto, pero obtendrá las coordenadas lon / lat informadas a medida que mueve el puntero por la pantalla.

Al verificar las coordenadas de las esquinas del ráster, tenga en cuenta que las esquinas no son las esquinas de los datos. La imagen es un rectángulo vertical que tiene las extensiones que se muestran en la imagen adjunta.

Tenga en cuenta que no sé nada sobre Marte y casi nada sobre los CRS sinusoidales, ¡así que tenga cuidado!

NORTE.

ingrese la descripción de la imagen aquí

nhopton
fuente