Maperitive: Höhendaten lokal gespeichert mit Script einlesen

Ich habe Höhendaten für mein Kartengebiet im hgt-Format und eine Karte im osm-Format.
Maperitive will aber über Tools >Generate Reliefs Contours die Daten bei Earthdata herunterladen, was mit einer Fehlermeldung quittiert wird. Ich habe zwar den Autorisierungs-Token für den Zugriff hinterlegt, aber es funktioniert einfach nicht.
Ich suche ein Script, das bewirkt, dass Maperine die Daten bei Cache\Rasters\SRTM3 holt.

Der Befehl, der in Maperitive dazu angegeben wird, funktioniert nicht:

set-dem-source
name=
Fehlermeldung:
SCRIPT FAILED
Script parsing error (line 1): Argument ‘name’ does not have a value
(Ob ich den Namen mit oder ohne Pfeile eingab, immer kam diese Meldung.)
Was ist falsch?

Ich denke, du musst den Source-Namen angeben, z.B. für SRTM3:

set-dem-source name=SRTM3

Wenn sich die nötigen HGT-Files im Cache\Rasters\SRTM3 befinden, müsste Maperitive diese dann verwenden.

Grüße
Andreas

Ja, jetzt hat es geklappt: den ganzen Befehl auf eine Zeile!
Danke

Doch wenn ich nun die Höhenlinien setzen will, bleibt das Problem (Tools >Generate Relief Contours). Es lommt die Meldung

generate-contours
Loading digital elevation model…
SRTM index is missing, it will be generated…
Indexing SRTM tiles for the ‘Australia’ region.
Error downloading SRTM data (reason: The request was aborted: Could not create SSL/TLS secure channel.)

Das sieht danach aus, dass nicht alle für Deinen Kartenbereich nötigen HGT-Files im Cache\Rasters\SRTM3 liegen. Evtl. hast Du nur den falschen Kartenausschnitt ausgewählt. Du kann den bei Maperitive dem generate-contours mittels bounds mitgeben, z.B.

generate-contours bounds=12,47,13,48

Wenn Du der Meinung bist, dass der Kartenausschnitt passt, führe mal den DOS-Kommandozeilenbefehl

dir Cache\Rasters\SRTM3\*.hgt

aus und schreib mal hier ins Forum, was der dir-Befehl ausspuckt.

Grüße
Andreas

Danke für deine Mühe!
Ich habe nochmals die OSM-Daten heruntergeladen und dort vorher die Koordinaten eingegeben, wie sie die Höhen-Dateien anzeigen. Dann habe ich den Pfad zum SRTM3-Ordner herauskopiert:
E:\KARTEN\Maperitive-zum Bearbeiten von OpenStreet-Maps\Maperitive 2.4.3 2024-09-22\Cache\Rasters\SRTM3

Beim Befehl Generate Relief Contours kam wieder die gleiche Fehleranzeige.
.
Dann liess ich deinen Skript laufen:

open-script
dir Cache\Rasters\SRTM3*.hgt
SCRIPT FAILED
Script parsing error (line 1): Command ‘dir’ not recognized

Was wäre Dein Kartenbereich, den Du haben möchtest? (bbox-Koordinaten = links, unten, rechts, oben)

Der dir-Befehl wäre kein Befehl innerhalb von Maperitive, sondern ein normaler “DOS”-Kommandozeilenbefehl von Windows, d.h. Du musst vorher im Windows die Kommandozeile cmd.exe starten und dann

dir "E:\KARTEN\Maperitive-zum Bearbeiten von OpenStreet-Maps\Maperitive 2.4.3 2024-09-22\Cache\Rasters\SRTM3"

eintippen.

Ja, ich habs dort auch probiert, aber nicht den ganzen Pfad eingegeben. Hier der output:

PS C:\Users\Torri> dir “E:\KARTEN\Maperitive-zum Bearbeiten von OpenStreet-Maps\Maperitive 2.4.3 2024-09-22\Cache\Rasters\SRTM3”

Verzeichnis: E:\KARTEN\Maperitive-zum Bearbeiten von OpenStreet-Maps\Maperitive 2.4.3
2024-09-22\Cache\Rasters\SRTM3

Mode LastWriteTime Length Name


-a---- 18.05.2012 12:28 2884802 N23E006.hgt
-a---- 18.05.2012 12:28 2884802 N23E007.hgt
-a---- 18.05.2012 12:28 2884802 N23E008.hgt
-a---- 18.05.2012 12:28 2884802 N23E009.hgt
-a---- 18.05.2012 12:28 2884802 N23E010.hgt
-a---- 18.05.2012 12:28 2884802 N23E011.hgt
-a---- 18.05.2012 18:58 2884802 N24E006.hgt
-a---- 18.05.2012 18:58 2884802 N24E007.hgt
-a---- 18.05.2012 18:58 2884802 N24E008.hgt
-a---- 18.05.2012 18:58 2884802 N24E009.hgt
-a---- 18.05.2012 18:58 2884802 N24E010.hgt
-a---- 18.05.2012 18:58 2884802 N24E011.hgt
-a---- 18.05.2012 18:58 2884802 N25E006.hgt
-a---- 18.05.2012 18:58 2884802 N25E007.hgt
-a---- 18.05.2012 18:58 2884802 N25E008.hgt
-a---- 18.05.2012 18:58 2884802 N25E009.hgt
-a---- 18.05.2012 18:58 2884802 N25E010.hgt
-a---- 18.05.2012 18:58 2884802 N25E011.hgt
-a---- 18.05.2012 18:58 2884802 N26E006.hgt
-a---- 18.05.2012 18:58 2884802 N26E007.hgt
-a---- 18.05.2012 18:58 2884802 N26E008.hgt
-a---- 18.05.2012 18:58 2884802 N26E009.hgt
-a---- 18.05.2012 18:58 2884802 N26E010.hgt
-a---- 18.05.2012 18:58 2884802 N26E011.hgt
-a---- 18.05.2012 18:58 2884802 N27E006.hgt
-a---- 18.05.2012 18:58 2884802 N27E007.hgt
-a---- 18.05.2012 18:58 2884802 N27E008.hgt
-a---- 18.05.2012 18:58 2884802 N27E009.hgt
-a---- 18.05.2012 18:58 2884802 N27E010.hgt
-a---- 18.05.2012 18:58 2884802 N27E011.hgt
-a---- 18.05.2012 12:24 2884802 N28E006.hgt
-a---- 18.05.2012 12:24 2884802 N28E007.hgt
-a---- 18.05.2012 12:24 2884802 N28E008.hgt
-a---- 18.05.2012 12:24 2884802 N28E009.hgt
-a---- 18.05.2012 12:24 2884802 N28E010.hgt
-a---- 18.05.2012 12:24 2884802 N28E011.hgt

Ok, dann hast Du im Ordner auf “E:\KARTEN\Maperitive-zum Bearbeiten von OpenStreet-Maps\Maperitive 2.4.3 2024-09-22\Cache\Rasters\SRTM3" HGT-Files für den Kartenausschnitt N23E006 bis N28E011 und die Dateigrößen sehen für SRTM3-Dateien normal aus.

Starte mal in Maperitive

generate-contours bounds=6,23,11,28

Grüße
Andreas

Danke, es hat geklappt!
Dann versuchte ich die Geländeschattierung (Standard), und es kam die übliche Fehlermeldung.
Kannst du mir die Scripts für die 5 andern “generate” angeben. die Karteneckpunkte kann ich selber ergänzen (Igor, Standard, Slopes, Tinting, Tiles)

Mit Gruss
Balbulus

Hi Balbulus,

schön, wenn generate-contours schon mal geklappt hat. Bei den anderen generate-Befehlen würde es analog laufen.

z.B.

generate-relief-igor bounds=6,23,11,28 intensity=1.5
generate-hypsometric bounds=6,23,11,28 
...

Grüße
Andreas

Danke sehr, Andreas, für die Zeit und die Geduld! Ich werde morgen posten, wie erfolgreich ich war.

Mit Gruss
Balbulus

Heute gelang es mir, die Höhenschattierung und die Färbung analog der Meereshöhe zu erstellen. Fürs Exportieren laborierte ich mit den verschiedenen Werten. Ein gutes Resultat für die (grosse) Karte war
export-bitmap zoom=10 file=output/Tassili_Nord.png width=4600 height=1580 scale=3

Ich möchte die Beschriftung, Ortschaften und die Einfärbung nicht mit Maperitive machen sondern mit PaintShopPro. Fürs Einfärben sollte die Exportdatei transparent sein. Mit PNG ist das möglich. Ich googelte und fand die Möglichkeit, in den mrules den Hintergrund auf Transparenz setzen:

properties
map-background-color : #F1EEE8
map-background-opacity : 0

Aber in der Exportdatei war dann der Hintergrund fast schwarz. Gibt es eine Möglichkeit, dass nur die Linien (Höhenlinien, Strassen, Grenzen, Texte) und allenfalls die Höhenschattierungen sichtbar sind, so dass man auf einer Ebene darunter die Farben setzen kann?
Mit Gruss
Balbulus

Hi Balbulus,

ich denke, es wäre sinnvoll, wenn Du einen neuen Thread für die weitere Frage öffnest. Der bisherige Thread “Maperitive: Höhendaten lokale gespeichert mit Script einlesen” passt hier nicht mehr ganz.

Grüße
Andreas

Ja, das stimmt. Und transparente OSM-Karten (nicht Tiles) gibt es wahrscheinlich gar nicht. Jedenfalls habe ich nichts im Web gefunden, nur dass es nicht geht.
Grüsse
Balbulus