Application Programming Interface (API)


API-Attribute 'HillshadeRequest'

Der API-Aufruf 'HillshadeRequest' generiert eine Schummerungsabbildung (Hillshade) für einen Kartenausschnitt von 1x1 km. Der Kartenausschnitt wird durch einen beliebigen Referenzpunkt bestimmt. Der Referenzpunkt kann in den Koordinatensystemen Longitude/Latitude oder UTM angegeben werden. Die Antwort enthält die Schummerungsabbildung im GeoTIFF- oder PNG-Format (Base64-kodiert) sowie Metadaten zur Quelle und Attributierung.

Attribut Subattribut Datentyp Beschreibung
Type string Typ der Anfrage (HillshadeRequest)
ID string Eindeutige ID der Anfrage
Attributes struct Attribute der Anfrage
Longitude float Längengrad Referenzpunkt (Dezimalgrad)
Latitude float Breitengrad Referenzpunkt (Dezimalgrad)
Zone int UTM Zone Referenzpunkt (32 oder 33)
Easting float Easting, X, Ostwert Referenzpunkt
Northing float Northing, Y, Nordwert Referenzpunkt
GradientAlgorithm string Algorithmus Berechnung Gradient ("Horn" oder "ZevenbergenThorne")
VerticalExaggeration float Vertikale Überhöhung
AzimuthOfLight uint Azimut der Lichtquelle (0-360 Grad, im Uhrzeigersinn von Nord)
AltitudeOfLight uint Höhe der Lichtquelle über dem Horizont (0-90 Grad)
ShadingVariant string Schattierungsvariante ("regular", "combined", "multidirectional", "igor")

API-Attribute 'HillshadeResponse'

Attribut Subattribut Subattribut Subattribut Datentyp Beschreibung
Type string Typ der Antwort (HillshadeResponse)
ID string ID der Antwort
Attributes struct Attribute der Antwort
Longitude float Längengrad Referenzpunkt (Dezimalgrad)
Latitude float Breitengrad Referenzpunkt (Dezimalgrad)
Zone int UTM Zone Referenzpunkt
Easting float Easting, X, Ostwert Referenzpunkt
Northing float Northing, Y, Nordwert Referenzpunkt
GradientAlgorithm string Algorithmus Berechnung Gradient
VerticalExaggeration float Vertikale Überhöhung
AzimuthOfLight uint Azimut der Lichtquelle
AltitudeOfLight uint Höhe der Lichtquelle über dem Horizont
ShadingVariant string Schattierungsvariante
Hillshades []struct Array von Hillshade-Objekten
Data string Schummerungsabbildung für die Kachel
DataFormat string Format der Daten (GeoTIFF oder PNG)
Actuality string Aktualität der Daten
Origin string Herkunft der Daten
Attribution string Attribution der Daten
TileIndex string Index der Quelldatenkachel
BoundingBox struct WGS84 Georeferenz (relevant bei PNG)
MinLon float Minimale Longitude (links unten)
MaxLon float Maximale Longitude (rechts oben)
MinLat float Minimale Latitude (links unten)
MaxLat float Maximale Latitude (rechts oben)
IsError bool Fehler (ja/nein)
Error struct Fehlerdetails
Code string Fehlernummer
Title string Fehlerbeschreibung
Details string Fehlerdetaillierung

Eingabe:

Ausgabe:

Anmerkungen:


HillshadeRequest (Beispiel):


#!/bin/bash
#
# Abfrage der Schummerung für eine Kachel mit 1000x1000 Meter. 

# Kachel durch UTM-Koordinaten referenziert.
postdataUTM=$(cat <<EOF
{
  "Type": "HillshadeRequest",
  "ID": "Klettersteinbruch Brumleytal",
  "Attributes": {
    "Zone": 32,
    "Easting": 409000.0,
    "Northing": 5790000.0,
    "Longitude": 0.0,
    "Latitude": 0.0,
    "GradientAlgorithm": "Horn",
    "VerticalExaggeration": 1.0,
    "AzimuthOfLight": 315,
    "AltitudeOfLight": 45,
    "ShadingVariant": "regular"
  }
}
EOF
)

# oder

# Kachel durch Lon/Lat-Koordinaten referenziert.
postdataLonLat=$(cat <<EOF
{
  "Type": "HillshadeRequest",
  "ID": "Langenberg (Rothaargebirge, höchster Berg in NRW)",
  "Attributes": {
    "Zone": 0,
    "Easting": 0.0,
    "Northing": 0.0,
    "Longitude": 8.558333,
    "Latitude": 51.276389,
    "GradientAlgorithm": "ZevenbergenThorne",
    "VerticalExaggeration": 1.0,
    "AzimuthOfLight": 315,
    "AltitudeOfLight": 45,
    "ShadingVariant": "regular"
  }
}
EOF
)

echo "postdata =\n$postdataUTM"

curl \
--silent \
--include \
--compressed \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Accept-Encoding: gzip" \
--data "$postdataUTM" \
https://api.hoehendaten.de:14444/v1/hillshade


HillshadeResponse:


HTTP/2 200
access-control-allow-headers: Content-Type
access-control-allow-methods: POST
access-control-allow-origin: *
content-encoding: gzip
content-type: application/json; charset=utf-8
date: Mon, 09 Jun 2025 06:49:28 GMT

{
  "Type": "HillshadeResponse",
  "ID": "Klettersteinbruch Brumleytal",
  "Attributes": {
    "Zone": 32,
    "Easting": 409000,
    "Northing": 5790000,
    "Longitude": 0,
    "Latitude": 0,
    "GradientAlgorithm": "Horn",
    "VerticalExaggeration": 1,
    "AzimuthOfLight": 315,
    "AltitudeOfLight": 45,
    "ShadingVariant": "regular",
    "Hillshades": [
      {
        "Data": "SUkqAAgAAAAQAAABAwABAAAA6AMAAAEBAwABAAAA6AMA ... mZijraSemZaXm6Kelo2CiZGMjYqDioiDjI2Ic1xVXg==",
        "DataFormat": "geotiff",
        "Actuality": "2024-01",
        "Origin": "DE-NW",
        "Attribution": "© GeoBasis-DE / NRW (2025), dl-de/by-2-0",
        "TileIndex": "32_409_5790",
        "BoundingBox": {
          "MinLon": 0,
          "MaxLon": 0,
          "MinLat": 0,
          "MaxLat": 0
        }
      }
    ],
    "IsError": false,
    "Error": {
      "Code": "",
      "Title": "",
      "Detail": ""
    }
  }
}