ISIS zu GDAL zu QGIS: Georeferenzierung von Marsbildern


8

Ich versuche, mit QGIS einige Bilder von der Mars Reconnaissance Orbiter Context Camera anzuzeigen. Ich verwende ISIS3, um die Bilder herunterzuladen und in zugeordnete .cub-Dateien zu konvertieren. Befolgen Sie dazu die Anweisungen hier: http://isis.astrogeology.usgs.gov/IsisWorkshop/index.php/Working_with_Mars_Reconnaissance_Orbiter_CTX_Data

Jetzt versuche ich, diese ISIS-Cube-Dateien in GTiff-Dateien zu exportieren, um sie in QGIS anzuzeigen. Ich kann dies tun, aber die Georeferenzierung scheint nicht zu funktionieren. Ich habe dies auf drei verschiedene Arten versucht:

  1. Verwenden Sie den ISIS-Befehl isis2std, um tif- (und tfw-) Dateien zu generieren.

    Wenn ich versuche, die TIF-Datei in QGIS zu öffnen, werde ich aufgefordert, einen Projektionstyp auszuwählen (Nebenfrage, gibt es eine geeignete Projektion für den Mars? Ich wähle immer WGS 84, dumm, ich weiß, aber ich kenne keine vernünftigere Option). . Sobald das Raster geladen ist, wird es automatisch als Graustufenbild angezeigt, aber meine Koordinaten sind nicht in Grad angegeben. Sie scheinen in Pixel zu sein und haben einen Bereich von Hunderttausenden.

    Diese Methode erzeugt ein TIF-Bild von ~ 100 MB aus einem ursprünglichen .cub von nahezu 1 GB.

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

    Dieses Mal werde ich nicht gebeten, einen Projektionstyp auszuwählen. Die Projektion nimmt 'USER: 100002' an. Hoffentlich bedeutet dies, dass es gelingt, die entsprechende Mars-Projektion aus dem ISIS-Jungen zu lesen? Das Bild wird diesmal als graues Feld in Graustufen angezeigt, aber ich kann Details sehen, indem ich zu einem anderen Farbzuordnungsschema wechsle. Obwohl meine Koordinaten nicht in Grad angegeben sind, liegen sie wieder im Bereich von Hunderttausenden.

    Diese Methode erzeugt einen GTiff mit der gleichen Größe von ~ 1 GB wie das ursprüngliche .cub-Bild.

  3. Öffnen Sie die ISIS .cub-Datei direkt in QGIS.

    Hat grundsätzlich den gleichen Effekt wie bei Methode 2.

Aufgrund der Dateigröße würde ich eine Variation von Methode 1 bevorzugen, jedoch mit einem geeigneten Projektions- und Georeferenzierungsschema für den Mars.

Bearbeiten: Hier ist die Georeferenz und die Ausgabe von gdalinfo in der ursprünglichen ISIS .cub-Datei:

Georeferenz (in 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 (vom 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

Was ist die Proj-Parameterzeichenfolge für 'USER: 100002'?
nhopton

@nhopton Wäre das so: "+ proj = eqc + lat_ts = 0 + lat_0 = 0 + lon_0 = 180 + x_0 = 0 + y_0 = 0 + a = 3396190 + b = 3396190 + Einheiten = m + no_defs" Ich ging zu Einstellungen> Benutzerdefiniertes CRS und dies war im Parameterfeld.
EddyTheB

Ich glaube, dies wird dadurch verursacht, dass die Geotransform nicht in Grad, sondern in Pixeln untersucht wird.
EddyTheB

Das hätte ich nicht gedacht, nicht wenn die Koordinaten bei Hunderttausenden liegen. Es scheint wahrscheinlicher, dass das Raster projiziert wird. Man hofft auf das CRS, das Sie oben angegeben haben. Können Sie das Raster an einer Stelle veröffentlichen, an der es heruntergeladen werden kann?
nhopton

@nhopton Sicher, obwohl es enorm ist. Ich habe auch meine Frage bearbeitet, um die Ausgabe von gdalinfo und die Georeferenz für die Datei anzuzeigen. Ich entschuldige mich dafür, dass ich nur langsam auf Ihre Kommentare reagiere. Ich habe mich in andere Dinge vertieft. Die ISIS .cub Datei befindet sich unter thermisch.boulder.swri.edu/images/…
EddyTheB

Antworten:


2

Erstellen Sie ein benutzerdefiniertes CRS mit der folgenden Parameterzeichenfolge:

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

Sie könnten dieses CRS (sagen wir) "Mars_Geo" nennen. Laden Sie dann das Raster * .cub, setzen Sie das Projekt- CRS auf "Mars_geo" und aktivieren Sie die sofortige CRS-Transformation. Wenn Sie dies tun, wird das Raster bis zu einem gewissen Grad verzerrt, aber Sie erhalten Lon / Lat-Koordinaten, wenn Sie den Zeiger über den Bildschirm bewegen.

Beachten Sie beim Überprüfen der Eckkoordinaten des Rasters, dass die Ecken nicht die Ecken der Daten sind. Das Bild ist ein aufrechtes Rechteck mit den im angehängten Bild gezeigten Ausmaßen.

Bitte denken Sie daran, dass ich nichts über den Mars und so gut wie nichts über sinusförmige CRS weiß. Seien Sie also vorsichtig!

N.

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.