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/DEHE06200001chAX | jq
Python — Felder lesen
# pip install lodapi
from lodapi import Client
with Client() as c:
b = c.buildings.get("DEHE06200001chAX")
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/ — Schema #/.
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/(bbox) der Pfad.buildings
Verwandte Endpoints
GET /— bbox-Discovery.v1/ buildings GET /— Multi-Building-GLB-Export.v1/ buildings/ 3d.glb