Die Mathematik von Kartenkacheln interaktiv erklärt

Tele ← 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 → Makro
10 / 531 / 342
N 51.179343°
E  6.679688°
← 24.506 km → N 51.179343°
E  7.031250°

24.565 km

24.565 km
N 50.958427°
E  6.679688°
← 24.623 km →
603.428 km²
N 50.958427°
E  7.031250°

Die Berechnung

  1. Aus der URL werden die Kachel-Parameter übernommen:
    Name Parameter Wert Wertebereich Erklärung zum Wertebereich
    Vergrößerungsstufe tz 10 0… Keine obere Grenze. Es sollte aber Kacheln für die gewählte Stufe geben.
    Kachel-X tx 531 0…2zoom-1
    Kachel-Y ty 342 0…2zoom-1
    Kachel-Größe ts 256 1… Die Position des Mausklicks in der Kachel wird vom Browser in den Query-Parametern x und y übergeben.
    Position in Kachel mx 0 0…ts-1
    Position in Kachel my 0 0…ts-1
  2. Die ausgewählte Position in der Kachel wird auf Kartenkoordinaten umgerechnet:
    Name Formel Berechnung Ergebnis
    X-Position (x) (tx + mx/ts) ÷ 2zoom (531 + 0/256) ÷ 210
    (531 + 0) ÷ 1024
    531 ÷ 1024
    x = 0.5185546875
    Y-Position (y) (ty + my/ts) ÷ 2zoom (342 + 0/256) ÷ 210
    (342 + 0) ÷ 1024
    342 ÷ 1024
    y = 0.333984375
  3. Der Mittelpunkt der Kachel wird auf Kartenkoordinaten umgerechnet:
    Name Formel Berechnung Ergebnis
    X-Position (x) (tx + 0.5) ÷ 2zoom (531 + 0.5) ÷ 210
    531 ÷ 1024
    x = 0.5185546875
    Y-Position (y) (ty + 0.5) ÷ 2zoom (342 + 0.5) ÷ 210
    342 ÷ 1024
    y = 0.333984375
  4. Aus der Kartenposition x=0.5185546875 y=0.333984375 und der Vergrößerungsstufe zoom=10 berechnen wir die Kachelnummer:
    Name Formel Berechnung Ergebnis
    Kachel-X (tx) floor (x × 2zoom) floor (0.5185546875 × 210)
    floor (0.5185546875 × 1024)
    floor (531)
    tx = 531
    Kachel-Y (ty) floor (y × 2zoom) floor (0.333984375 × 210)
    floor (0.333984375 × 1024)
    floor (342)
    ty = 342
    Kachel-Pfad (ti) "zoom/tx/tz" 10 / 531 / 342 ti = "10/531/342"
  5. Anzeige der Kachel https://a.tile.openstreetmap.org/10/531/342.png und Kaffeepause.
  6. Aus den Nachkommastellen 0 und 0 sowie der Kachelgröße in Pixeln tilesize=256 berechnen wir die Position des Markers:
    Name Formel Berechnung Ergebnis
    Marker-X (px) floor (fract (x × 2zoom) * tilesize) floor (fract (0.5185546875 × 210) × 256)
    floor (fract (0.5185546875 × 1024) × 256)
    floor (fract (531) × 256)
    floor (0 × 256)
    floor (0)
    px = 0
    Marker-Y (py) floor (fract (y × 2zoom) * tilesize) floor (fract (0.333984375 × 210) × 256)
    floor (fract (0.333984375 × 1024) × 256)
    floor (fract (342) × 256)
    floor (0 × 256)
    floor (0)
    py = 0
  7. Wir berechnen aus der Kachelnummer die Koordinaten der linken oberen Kachelecke.
    Name Formel Berechnung Ergebnis
    X-Position (x) tx ÷ 2tz 531 ÷ 210
    531 ÷ 1024
    x = 0.5185546875
    Y-Position (y) ty ÷ 2tz 342 ÷ 210
    342 ÷ 1024
    y = 0.333984375
    Länge (Λ)
    (Merkator)
    +(x × 2 - 1) × π +(0.5185546875 × 2 - 1) × π
    0.037109375 × 3.1415926535
    Λ = 0.11658254
    Breite (Φ)
    (Merkator)
    -(y × 2 - 1) × π -(0.333984375 × 2 - 1) × π
    0.33203125 × 3.1415926535
    Φ = 1.04310693573242
    Länge (λ) Λ (unverändert) 0.11658254} λ = 0.11658254}
    Breite (φ) 2×atan(exp(Φ))-π/2 2×atan(exp(1.04310693573242))-π/2
    2×atan(2.8380208792274)-π/2
    2×1.23202218538612-π/2
    2.46404437077225-1.57079632675
    φ = 0.89324804
    Länge in Grad λ ÷ π × 180° 0.11658254} ÷ 3.1415926535 × 180° lon = 6.679688°
    Breite in Grad φ ÷ π × 180° 0.89324804 ÷ 3.1415926535 × 180° lat = 51.179343°
  8. Die Koordinaten der anderen Ecken werden aus den Kachelnummern der Nachbarkacheln berechnet:
    Ecke tx ty λ φ Länge in Grad Breite in Grad
    Oben links KachelX 531 KachelY 342 0.11658254 0.89324804 6.679688 51.179343
    Oben rechts KachelX + 1 532 KachelY 342 0.12271846 0.89324804 7.031250 51.179343
    Unten links KachelX 531 KachelY + 1 343 0.11658254 0.88939233 6.679688 50.958427
    Unten rechts KachelX + 1 532 KachelY + 1 343 0.12271846 0.88939233 7.031250 50.958427
  9. Die Kantenlängen werden aus den Koordinaten der Eckpunkte sowie dem Erdradius R berechnet:
    Name Formel Berechnung Ergebnis
    Linke Seite abs(φOLUL) × R abs(0.89324804-0.88939233) × R
    0.00385571000000007 × 6371000
    dl = 24564.7284100004m
    Rechte Seite abs(φORUR) × R abs(0.89324804-0.88939233) × R
    0.00385571000000007 × 6371000
    dr = 24564.7284100004m
    Obere Seite abs(λOLOR) × cos(φOL) × R abs(0.11658254-0.12271846) × cos(0.89324804) × R
    0.00613592 × 0.626884750821521 × 6371000
    do = 24506.1450279415m
    Untere Seite abs(λULUR) × cos(φUL) × R abs(0.11658254-0.12271846) × cos(0.88939233) × R
    0.00613592 × 0.629884113524226 × 6371000
    du = 24623.3959537099m
  10. Die Fläche wird aus den Koordinaten von linker oberer und rechter unterer Ecke sowie dem Erdradius R berechnet:
    Name Formel Berechnung Ergebnis
    Fläche abs(λ12)×abs(sinφ1-sinφ2)× abs(λ12)×abs(sin(0.89324804)-sin(0.88939233))×
    abs(λ12)×abs(0.626884750821521-0.629884113524226)×
    abs(0.12271846-0.11658254)×0.00299936270270573×
    0.00613592×0.00299936270270573×6371000²
    0.00613592×0.00299936270270573×40589641000000
    ar = 603427663.132737m²