GET /v1/buildings/{gmlid} — Building-Detail
Liefert ein einzelnes Gebäude mit voller LoD2-Geometrie (GeoJSON-encoded MultiPolygonZ, aggregiert über alle Surfaces des building_id). Föderiert: das Bundesland wird aus dem GML-ID-Präfix abgeleitet; ist das Präfix mehrdeutig, probiert die API alle aktiven BL durch.
Examples
curl
curl -s https://api.lodapi.de/v1/buildings/DEHE_LOD2_45292_GMLID_1 | jq
Python — Felder lesen
import httpx
r = httpx.get("https://api.lodapi.de/v1/buildings/DEHE_LOD2_45292_GMLID_1")
r.raise_for_status()
b = r.json()
print(f"BL: {b['bundesland_code']}")
print(f"building_id: {b['building_id']}, LoD: {b['lod']}")
print(f"GML-ID: {b['gmlid']}")
Parameters
| Parameter | In | Type | Required | Beschreibung |
|---|---|---|---|---|
gmlid | path | string | yes | GML-ID des Gebäudes (BL-Präfix oder pure UUID) |
Response
200 OK · application/json — Schema #/components/schemas/BuildingDetail.
Felder:
| Feld | Bedeutung |
|---|---|
gmlid | Echo der Anfrage |
bundesland_code | Quell-BL (2 Buchstaben) |
building_id | Interner Building-Key, über den die Surfaces aggregiert werden |
lod | LoD-Level ("LoD2" in Phase 1) |
geometry | GeoJSON-Geometrie (MultiPolygonZ, WGS84), aggregiert über alle Surfaces des building_id |
Fehler
| Status | Bedingung |
|---|---|
404 | gmlid in keinem BL gefunden |
Stolperdrähte
- GML-IDs sind nicht stabil über Snapshots — wenn die Behörde reparst, ändert sich die ID. Persistenz braucht ein eigenes Mapping.
- Nur Geometrie + Klassifikation: Der Slim-Datenbestand enthält keine per-Building-Sachattribute. Die Response trägt
{gmlid, bundesland_code, building_id, geometry, lod}— es gibt keinproperties-Mapping. - Geometrie ist building-aggregiert: die
geometryfasst alle Surfaces (Wall/Ground/Roof) desbuilding_idzusammen. Für Surface-Level-Einzelflächen mitsurface_classist/v1/buildings(bbox) der Pfad.
Verwandte Endpoints
GET /v1/buildings— bbox-Discovery.GET /v1/buildings/3d.glb— Multi-Building-GLB-Export.