Höhenprofil erstellen & abrufen
🏔️ Höhenprofil erstellen & abrufen
Section titled “🏔️ Höhenprofil erstellen & abrufen”Ein Höhenprofil zeigt, wie sich die Höhe über dem Meeresspiegel entlang einer bestimmten Strecke verändert. Es hilft bei der Einschätzung von Routen – ob beim Wandern, Radfahren oder in der Infrastrukturplanung.
Mit einem API-Endpunkt kannst du schnell und präzise Höhenprofile erzeugen und abrufen. Hier erfährst du, wie das funktioniert.
✨ Warum ein Höhenprofil?
Section titled “✨ Warum ein Höhenprofil?”Ein Höhenprofil ist nützlich für:
- Planung von Wander- oder Fahrradrouten
- Analyse von Steigungen für Elektromobilität (Reichweite)
- Infrastrukturprojekte (Leitungen, Trassen)
- Geodaten-Visualisierung in Karten- oder GIS-Anwendungen
⚙️ So funktioniert die API
Section titled “⚙️ So funktioniert die API”Du sendest eine Liste von GPS-Koordinaten an den Endpunkt – die API berechnet automatisch die Höhenentwicklung entlang der Strecke.
🔧 Erforderliche Parameter
Section titled “🔧 Erforderliche Parameter”| Parameter | Typ | Pflicht? | Beschreibung |
|---|---|---|---|
coordinates | [number, number][] | ✅ | GPS-Punkte in [Lon, Lat] |
stepSize | number | ❌ | Abstand zwischen Höhenpunkten (in Metern) |
format | "object" / "array" | ❌ | Rückgabeformat (Standard: object) |
scaleX | string | ❌ | Einheit für x-Achse (z. B. m, km) |
scaleY | string | ❌ | Einheit für y-Achse (z. B. m) |
📤 Beispiel-Request (POST)
Section titled “📤 Beispiel-Request (POST)”{ "coordinates": [ [9.802584, 47.150712], [9.802617, 47.150660] ], "stepSize": 5, "format": "object", "scaleX": "m", "scaleY": "m"}Diese Anfrage erzeugt ein Höhenprofil mit Punkten in 5-Meter-Schritten entlang der angegebenen Strecke.
Parameterübersicht
| Parameter | Typ | Pflicht? | Beschreibung |
|---|---|---|---|
coordinates | [number, number][] | ✅ | Liste von GPS-Punkten ([Längengrad, Breitengrad]) |
stepSize | number | ❌ | Abstand in Metern zwischen den Intervallpunkten |
format | "object" / "array" | ❌ | Antwortformat (Standard: object) |
scaleX | string | ❌ | Einheit für horizontale Entfernungen (z. B. m) |
scaleY | string | ❌ | Einheit für Höhenwerte (z. B. m) |
📥 Antwortstruktur
Section titled “📥 Antwortstruktur”Je nach gewähltem Format (object oder array) sieht ein Antwortpunkt z. B. so aus:
{ "x": 42.5, "y": 612, "coordinates": [9.80261, 47.15067]}- x: Distanz entlang der Strecke
- y: Höhe über Meeresspiegel
- coordinates: Interpolierter GPS-Punkt
Format: object (Standard)
[ { "x": 0, "y": 588, "coordinates": [9.802584, 47.150712] }, { "x": 5, "y": 592, "coordinates": [9.802590, 47.150690] }]Felder:
- x: Entfernung vom Startpunkt in der Einheit von
scaleX - y: Höhe an diesem Punkt in der Einheit von
scaleY - coordinates: Der interpolierte GPS-Punkt
Format: array
[ [0, 588], [5, 592], [10, 590]]Dies ist ein minimalistisches Format, das nur Distanz und Höhe für jeden Punkt enthält – ideal für einfache Visualisierungen.
🧠 Details zu stepSize
Section titled “🧠 Details zu stepSize”Der Parameter stepSize steuert die Auflösung des Höhenprofils:
- Kleinere Werte (z. B. 1) → sehr detailreich, aber große Datenmengen
- Größere Werte (z. B. 50) → weniger Punkte, schneller abrufbar
Beispiel:
| Strecke | stepSize | Punkte |
|---|---|---|
| 1000 m | 1 m | 1000 |
| 1000 m | 10 m | 100 |
| 1000 m | 50 m | 20 |
Der Wert stepSize definiert, wie fein die Strecke aufgeteilt wird. Kleinere Werte erzeugen mehr Punkte und detailliertere Profile, größere Werte sind sparsamer bei Datenvolumen und Rechenleistung.
Beispiel:
- Strecke: 150 m
stepSize: 5 → ca. 30 PunktestepSize: 50 → ca. 3 Punkte
⛔ Fehlerquellen
Section titled “⛔ Fehlerquellen”- Keine Höhendaten verfügbar: Der Endpunkt gibt eine klare Fehlermeldung zurück.
- Koordinaten vergessen: Die Anfrage ist ungültig ohne mindestens zwei Punkte.
Wenn keine Höhendaten für die angefragte Strecke verfügbar sind, erhältst du eine Fehlermeldung:
{ "error": "No elevation data available for the given coordinates."}Der HTTP-Statuscode ist in diesem Fall 404 Not Found.
💡 Performance-Tipp
Section titled “💡 Performance-Tipp”Bei sehr langen Strecken (>10 km) und kleiner Schrittweite (<=1 m) entstehen große Datenmengen. Für Vorschauen ist eine Schrittweite von 10–25 m oft ausreichend.
Ein kleiner stepSize (z. B. 1 m) auf langen Strecken (>10 km) erzeugt sehr große Datenmengen.
Beispiel: 10.000 m / 1 m = 10.000 Datenpunkte
Für Vorschauen empfiehlt sich ein größerer stepSize (z. B. 10 m), für detaillierte Analysen ein kleinerer (z. B. 2 m).
🧩 Kombinierbar mit Geofiltern
Section titled “🧩 Kombinierbar mit Geofiltern”Du kannst Höhenprofile mit Umkreisfiltern kombinieren. Beispiel:
{ "filter": { "geo": { "in": { "perimeter": [9.8, 47.15, 1000] } } }}Das erlaubt, Inhalte entlang eines Höhenprofils mit Zusatzinformationen (z. B. Bodenart) zu verknüpfen.
✅ Zusammenfassung
Section titled “✅ Zusammenfassung”- Du übermittelst eine Strecke – die API berechnet ein Höhenprofil.
- Optional steuerst du Auflösung und Format über Parameter.
- Du erhältst eine strukturierte Liste mit Höhe, Distanz & Position.
- Achte auf Datenmenge und Schrittweite für optimale Performance.
Mit dieser API kannst du Höhenverläufe intuitiv analysieren, darstellen und weiterverarbeiten – für präzise Anwendungen in Navigation, Planung und Visualisierung.
💡 Wichtig zu wissen
- Höhenprofile gibt es nur, wenn für die Region Höhen-Daten vorliegen.
- Wenn keine Daten gefunden werden, wird eine Fehlermeldung ausgegeben.
- Achte auf die Balance zwischen Genauigkeit und Datenmenge bei der Wahl von
stepSize.
So bist du optimal vorbereitet, um Höhenprofile in deiner Anwendung effektiv zu nutzen!