maperitive und SRTM1-Daten

Hallo zusammen,

mit Hilfe dieses Threads habe ich es geschafft, SRTM3-Höhendaten durch manuelles Herunterladen in maperitive zu verwenden.

Jetzt wollte ich das Ganze mit SRTM1-Daten machen. Ich habe mich dazu auf https://www.usgs.gov/ registriert und mich zur download-Seite (https://earthexplorer.usgs.gov/) durchgeklickt. Die Höhendaten werden in 3 verschiedenen Formaten angeboten:

  • BIL 1 Arc-second
  • DTED 1 Arc-second
  • GeoTIFF 1 Arc-second

Ich habe testweise alle 3 Formate für den Bereich N48E016 heruntergeladen und kopiert nach

C:\Maperitive 2.4.1\Cache\Rasters\SRTM1

Dann in maperitive einen entsprechenden Kartenausschnitt gewählt

set-geo-bounds 16.15, 48.1, 16.6, 48.35

und auf SRTM1 umgeschaltet

set-dem-source SRTM1

und versucht, Höhenschichtlinien zu generieren

generate-contours

Das funktioniert nicht. Meine Vermutung ist, dass ich die Daten im *.hgt-Format benötige. Kennt jemand eine Quelle dafür oder kann ich die BIL oder DTED-Formate konvertieren?

Grüße
cul-de-sac

Hi cul-de-sac,
maperitive kann, soweit ich weiß, nur HGT-Files. Wenn du keine HGTs hast, könntest du das GeoTIFF mit gdal (https://gdal.org/) in viele HGT-Files umwandeln.

Hier ein Beispiel mit den zwei Befehlen, um eines der vielen HGT-Files zu erhalten:


gdalwarp -s_srs EPSG:31287 -t_srs EPSG:4326 -dstnodata -32768 -r bilinear -overwrite -ts 3601 3601 -order 3 -et 0.0 -wt Float32 -wo SAMPLE_STEPS=100 -te 4 42 5 43 dhm_lamb_10m.tif n42e004.tif
gdal_translate -of SRTMHGT n42e004.tif ..\srtm1\N42E004.HGT

Wichtig dabei ist, dass Du die Projektion des GeoTIFFs kennen musst. Bei mir war das EPSG:31287, bei Dir kann es was anderes sein. Die Projektion muss beim ersten Befehl nach -s_srs angegeben werden. Die Projektion deines GeoTIFFs bekommst du mit Befehl gdalinfo raus.
Grüße
Andreas

Danke für den Hinweis zu gdal!

Mittlerweile habe ich diese Hilfeseite in der maperitive-Doku gefunden:
http://maperitive.net/docs/Commands/SetDemSource.html

Dort wird beschrieben, wie man an SRTMV3R1-Daten herankommt, nämlich diese Seite: https://urs.earthdata.nasa.gov/profile (geht auch nur mit Registrierung).

Ich habe jetzt die entsprechende Datei heruntergeladen und manuell ins entsprechende Cach-Verzeichnis kopiert, leider bekomme ich jetzt diese Fehlermeldung:

Error downloading SRTM data (reason: Index was outside the bounds of the array.)

Offenbar greift maperitive auf die Datei zu, wenn ich sie aus dem Cache-Verzeichnis lösche würde diese Fehlermeldung kommen:

Error downloading SRTM data (reason: The request was aborted: Could not create SSL/TLS secure channel.)

Ich habe auch alle Nachbarkacheln heruntergeladen und maperitive 2.4.1 sowei 2.4.3 probiert, kein Erfolg. Auch das Hinterlegen des Authtifizierungstokens für automatischen Download, wie in http://maperitive.net/docs/Commands/SetDemSource.html beschrieben, funktioniert nicht.

set-setting name=user.earthdata-auth-token value=xxxxxxxxxxxxxxxxxxxxxxx

Neueste Erkenntnis: Die SRTM1(?)-hgt-Dateien von https://earthexplorer.usgs.gov/ dürften die gleiche Auflösung wie die vorhandenen SRTM3-Dateien. Kopiere ich sie ins SRTM3-Verzeichnis funktionieren sie nämlich. Auch die Dateigröße ist identisch. Wenn ich mir den Verlauf der Höhenlinien ansehe, dürfte es sich ohnehin um 1"-Auflösung handeln. Also belass ich es erstmal dabei.

Bei normalen hgt Dateien ist es recht einfach, die Auflösung an Hand der (unkomprimierten) Dateigrösse zu bestimmen:
2.884.802 Bytes = 120112012 Bytes > 3’’
25.934.402 Bytes = 360136012 Bytes > 1’’
Neuderdings gibt es einen Exoten:
12.970.802 Bytes = 1801 * 3601 * 2 Bytes, also eine Mischung aus den o.g.

Mittlerweile schwirrt mir der Kopf vor lauter us/nasa/gov/earth-Seiten :P, aber ich habe jetzt doch noch eine Quelle für SRTM-Datein mit 1" Auflösung gefunden: https://search.earthdata.nasa.gov.

Die heruntergeladenen .hgt-Dateien haben aufs Byte genau die Größe die du angegeben hast (25.934.402 Bytes).