Skip to content

Höhenprofile

🏔️ Höhenprofile

Ein Höhenprofil gibt die Höhenentwicklung entlang einer Strecke an – es zeigt also, wie sich die Höhe über dem Meeresspiegel verändert, während man sich entlang gegebener Koordinaten bewegt. Dies ist essenziell für:

  • Outdoor-Navigation (Wandern, Radfahren, Trailrunning)
  • Planung von Infrastruktur (Trassen, Leitungen, Wege)
  • Analyse von Routen in der Geoinformation und Umweltplanung
  • Energiebedarfsschätzung (z. B. bei Elektrofahrzeugen)

⚙️ Wie funktioniert der Endpunkt technisch?

Die API interpoliert Höhenwerte auf Basis von Höhenrastern. Du gibst eine Sequenz von Koordinaten an, und die API berechnet entlang dieser Strecke Punkte in einem frei wählbaren Abstand (stepSize) – zwischen diesen Punkten wird jeweils ein Höhenwert ermittelt.

  • Du musst mindestens zwei Koordinatenpunkte angeben (coordinates).
  • Optional kannst du bestimmen, wie oft entlang dieser Linie abgetastet wird (stepSize).
  • Die API berechnet aus diesen Parametern ein Stützprofil.
  • Die Ausgabe kann entweder lesbar (object) oder kompakt (array) erfolgen.

🧾 Parameterdetails

ParameterTypPflicht?Beschreibung
coordinates[number, number][]✅ JaListe von GPS-Punkten (jeweils [Längengrad, Breitengrad])
stepSizenumber❌ NeinOptionaler Abstand in Metern zwischen zwei berechneten Stützpunkten
formatstring❌ NeinAntwortformat: object (Default) oder array
scaleXstring❌ NeinEinheit für horizontale Entfernung (z. B. m, km)
scaleYstring❌ NeinEinheit für die Höhe (z. B. m)

🔍 Beispiel-Request (POST)

Terminal window
{
"coordinates": [
[9.802584, 47.150712],
[9.802617, 47.15066]
],
"stepSize": 5,
"format": "object",
"scaleX": "m",
"scaleY": "m"
}

Hier werden zwischen zwei Koordinaten Punkte in 5-Meter-Schritten interpoliert. Das Höhenprofil enthält dann die geschätzten Höhen für jeden Zwischenpunkt.

🧠 Was bedeutet „stepSize“ wirklich?

stepSize beeinflusst, wie fein die Strecke aufgeteilt wird. Beispiel:

  • Strecke: 150 m
  • stepSize: 5 → ergibt ca. 30 Punkte
  • stepSize: 50 → ergibt ca. 3 Punkte

Eine kleine Schrittweite ergibt eine detailliertere Kurve, erzeugt aber auch mehr Datenvolumen. In Anwendungen mit mobilen Clients kann es sinnvoll sein, eine Balance zwischen Genauigkeit und Ladezeit zu finden.

📈 Antwort: Höhenprofil als Datenliste

Einträge in der Antwortstruktur sehen so aus:

{
"x": 12.5,
"y": 588,
"coordinates": [9.80261, 47.15067]
}

Die Einheiten hängen direkt von den Parametern scaleX und scaleY ab.

⏱️ Performance-Tipp

Ein Höhenprofil mit hoher stepSize (z. B. 1 m) über lange Strecken (>10 km) kann sehr große Datenmengen erzeugen. Beispiel:

  • 10.000 m / 1 m = 10.000 Datenpunkte

Das kann zu langen Ladezeiten oder Speicherproblemen führen. Überlege, ob du die Schrittweite an den Maßstab der Anwendung anpassen kannst (z. B. 10 m für Vorschau, 2 m für Detailansicht).

🧩 Filterlogik & Kombination mit anderen Endpunkten

Höhenprofile können auch mit zusätzlichen Inhalten kombiniert werden – etwa zur Visualisierung von Attributen entlang eines Profils (z. B. Bodenart, Wegbeschaffenheit). Die Filterstruktur aus der allgemeinen API-Spezifikation lässt sich hier allerdings nur bedingt anwenden, da /ds/höhenprofil primär Koordinaten verarbeitet – nicht IDs oder Klassifikationen.

Aber: Du könntest ein Höhenprofil anreichern, indem du für die Koordinaten vorher ein passendes filter-Query aus einer Content-Suche erzeugst:

Terminal window
{
"filter": {
"geo": {
"in": {
"perimeter": [9.8, 47.15, 1000]
}
}
}
}

Ergebnis: Inhalte im Umkreis von 1 km, kombiniert mit dem Höhenprofil entlang der Strecke.

💡

Wichtig zu wissen

Höhenprofile gibt es nur, wenn für die Route auch wirklich Höhen-Daten gespeichert sind. Sonst bekommst du eine Fehlermeldung. Wenn du Fragen hast, frag dein Team oder probiere es mit einer anderen Route!

✅ Zusammengefasst

  • Du kannst für jede Route das Höhenprofil abfragen – wenn Höhen-Daten vorhanden sind.
  • Du bekommst eine Liste von Punkten: Wie weit, wie hoch, wo genau.
  • Du kannst das Format wählen: als Objekt (Standard) oder als Array.
  • Wenn keine Daten da sind, bekommst du eine klare Fehlermeldung.

So kannst du ganz einfach sehen, wie anstrengend oder spannend eine Route ist – und bist immer gut vorbereitet!