Terrain-Tiles

Geschrieben von am .

Mapbox-Terrain-Tiles

(Web-Mercator-ZXY-Tiles, RGB-PNG, Höhenauflösung 10 cm)

Dokumentation bei Mapbox.

Erzeugung von Terrain-Tiles

Value := (Elevation [in Metern] + 10000) * 10

R := (Value >> 16) & 0xff
G := (Value >>  8) & 0xff
B := (Value      ) & 0xff

Decodierung von Terrain-Tiles

Elevation [in Metern] := (256² * R + 256 * G + B) / 10 - 10000

Damit ergeben sich die Schrittweiten:

Farbe Schrittweite
Rot 6553.6 Meter
Grün 25.6 Meter
Blau 0.1 Meter

Terrarium-Terrain-Tiles

(Web-Mercator-ZXY-Tiles, RGB-PNG, Höhenauflösung 4 mm)

Dokumentation bei Mapzen.

Erzeugung von Terrarium-Tiles

Value := (Elevation [in Metern] + 2^15) * 256

R := (Value >> 16) & 0xff
G := (Value >>  8) & 0xff
B := (Value      ) & 0xff

Decodierung von Terrarium-Tiles

Elevation [in Metern] := (256 * R + G + B / 256) - 2^15

Damit ergeben sich die Schrittweiten:

Farbe Schrittweite
Rot 256 Meter
Grün 1 Meter
Blau 4 Millimeter

Normal-Terrain-Tiles

(Webmercator-ZXY-Tiles, RGBA-PNG, Höhenauflösung zwischen 20  und 100 m)

Dokumentation bei Mapzen.

Rot (X), Grün (Y) und Blau (Z) beschreiben den Normalen-Vektor, die Richtung, in die Fläche ausgerichtet ist. Die Höhe ist im Alpha-Kanal codiert.

Werte Schrittweite Höhe
0
10
1000 -10000
-1000
11
12
13
14
15
-100
-50
-20
-10
-1
16
165
20 0
2980
166
225
50 3000
5950
226
255
100 6000
8900

HGT-Tiles

(WGS84 1°×1°, Raw big endian 16bit signed, Höhenauflösung 1 )

Dokumentation bei Mapzen, bei der NASA.

  • Je 1°×1° eine Kachel, der Name wird aus den Koordinaten der südwestlichen Ecke bestimmt: [N|S]##[E|W]###.hgt.
  • Die Werte gelten nicht für Kachelpixel (beim Schachbrett 8×8), sondern für die Trennlinien (9×9), deshalb überlappen die Kacheln jeweils eine Zeile und eine Spalte;
  • Auflösungen sind 3" (~ 90 Meter) mit 1201×1201 Werten je Kachel und 1" (~ 30 Meter) mit 3601×3601 Werten je Kachel;
  • Die Werte sind zeilenweise von links nach rechts gespeichert, die erste Zeile ist oben (Norden);
  • Die Höhen sind in Meter-Auflösung big endian signed 16 Bit gespeichert mit einem Wertebereich von -32767 Metern bis +32767 Metern; der Wert -32768 markiert Voids.