Open interface (API)

Alle objecten in de Kulturdatenbank kunnen worden opgehaald via een eenvoudige, open interface – als JSON of als GeoJSON voor kaarttoepassingen en GIS.

Basisinformatie

Basis-URL
https://kulturdb.de/api/v1
Toegang
alleen-lezen (HTTP GET), geen aanmelding en geen API-sleutel
Formaten
JSON (RFC 8259), GeoJSON (RFC 7946, application/geo+json), tekenset UTF-8
Taal
Veldnamen, filterwaarden en teksten zijn in het Duits. /objekte/{id}?sprache=nl (of sprache=en, sprache=fr) geeft de classificatietermen in het Nederlands (of Engels, Frans).
Coördinaten
WGS 84 (EPSG:4326), volgorde in GeoJSON [longitude, latitude]
Toegang via de browser
CORS is ingeschakeld (Access-Control-Allow-Origin: *) – direct bruikbaar vanuit webapplicaties
Caching
Antwoorden bevatten Cache-Control-headers (1–60 minuten)
Fouten
juiste HTTP-status (400: ongeldige parameters, 404: niet gevonden) met {"error": "…"}
Versiebeheer
De versie maakt deel uit van het pad (/v1); wijzigingen die bestaande applicaties onbruikbaar maken, verschijnen uitsluitend in een nieuwe versie.
Object-URL’s
De object-ID is permanent: https://kulturdb.de/objekt/{id}, Nederlandse pagina https://kulturdb.de/nl/objekt/{id}

Eindpunten

GET /punkte

Zeer compacte lijst met punten voor clusterkaarten met vele duizenden objecten: {"felder": ["id","lat","lon","titel","bereich","kategorie"], "bereiche": […], "kategorien": […], "daten": [[…], …]} – bereich en kategorie zijn indexen naar de lijsten bereiche en kategorien (-1 = geen). Alle filters zijn mogelijk.

https://kulturdb.de/api/v1/punkte?landkreis=Vulkaneifel

Filters

De filters komen overeen met de zoekfunctie op de website. De waarden zijn de Duitse termen uit de database (zie categorieën; de Duitse term wordt weergegeven in de URL van elke lijst). Ze worden exact vergeleken (hoofdlettergevoelig) en gecombineerd met AND; spaties en speciale tekens moeten in URL’s worden gecodeerd (bijv. Barock%20%2F%20Rokoko).

ParameterWaardeBetekenis
qtextzoekterm in titel, ondertitel, gemeente, kern, straat, veldnaam, maker, Verbandsgemeinde, district of object-ID; meerdere woorden worden met AND gecombineerd (in willekeurige velden), leestekens worden genegeerd, ß/ss en Straße/Str. gelden als gelijk
volltext1ook in de beschrijving zoeken (woordbegin en Duitse woordstammen)
bereichtextbijv. Naturobjekte (zie categorieën)
kategorietextbijv. Sakralbauten
objektarttextbijv. Kapellen
epochetextbijv. Barock / Rokoko
landkreistextdistrict, bijv. Vulkaneifel (zie plaatsen)
vgtextVerbandsgemeinde, bijv. Wittlich-Land
gemeindetextgemeente, bijv. Arzfeld
seitJJJJ-MM-DDalleen objecten die na deze datum zijn bewerkt
bilder1alleen objecten met ten minste één afbeelding

Voorbeelden

QGIS

Kaartlagen › Laag toevoegen › Vectorlaag toevoegen, brontype Protocol: HTTP(S), als URI bijvoorbeeld:

https://kulturdb.de/api/v1/objekte.geojson?landkreis=Trier-Saarburg&limit=50000

JavaScript

const res = await fetch('https://kulturdb.de/api/v1/objekte.geojson?objektart=Burgen');
const geojson = await res.json();
console.log(geojson.features.length + ' burchten');

Leaflet

fetch('https://kulturdb.de/api/v1/objekte.geojson?gemeinde=Arzfeld')
  .then((r) => r.json())
  .then((data) => L.geoJSON(data, {
    onEachFeature: (f, layer) => layer.bindPopup(
      `<a href="${f.properties.url}">${f.properties.titel}</a>`)
  }).addTo(map));

OpenLayers / NETGIS Client Suite

new ol.layer.Vector({
  source: new ol.source.Vector({
    url: (extent) => 'https://kulturdb.de/api/v1/objekte.geojson?bbox=' +
      ol.proj.transformExtent(extent, 'EPSG:3857', 'EPSG:4326').join(','),
    format: new ol.format.GeoJSON(),
    strategy: ol.loadingstrategy.bbox
  })
});

Voorbeeld van een antwoord /objekte/99

{
    "id": 99,
    "titel": "Porta Nigra (1)",
    "untertitel": null,
    "ort": "Trier, Mitte-Gartenfeld",
    "gemeinde": "Trier",
    "ortsteil": "Mitte-Gartenfeld",
    "landkreis": "Kreisfreie Stadt Trier",
    "bereich": "Bau- und Kunstdenkmale",
    "kategorie": "Wehrbauten und militärische Anlagen",
    "objektart": "Stadtbefestigungen",
    "epoche": "Kelten- / Römerzeit",
    "zeit": "170 nach Chr.",
    "url": "https://kulturdb.de/nl/objekt/99-trier-porta-nigra-1",
    "bild": "https://kulturdb.de/media/thumbs/480/lazarus_porta-nigra_1912.jpg",
    "lat": 49.759634,
    "lon": 6.644084,
    "beschreibung": "Am Nordende der Fußgängerzone. Beschreibung: Die sogenannte Porta Nigra gehört zu den am besten erhaltenen Stadttoren des römischen Reiches. Das mächtige Tor im Norden der Stadt wurde zusammen mit der Stadtmauer und weiteren Toren gleicher Art wohl im letzten Drittel des 2. Jahrhunderts n. Chr …",
    "bilder": [
        {
            "url": "https://kulturdb.de/bilder/lazarus_porta-nigra_1912.jpg",
            "quelle": "Max Lazarus: Die Porta Nigra in Trier, 1912. © Stadtmuseum Simeonstift Trier."
        },
        {
            "url": "https://kulturdb.de/bilder/lazarus_porta-nigra2_1926.jpg",
            "quelle": "Max Lazarus: Blick durch ein Fenster der Porta Nigra auf St. Gangolf, 1926. © Stadtmuseum Simeonstift Trier."
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta_nigra_1.jpg",
            "quelle": "Internet"
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta-nigra_eby.jpg",
            "quelle": "© David W. Eby, Homepage"
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta_nigra_02_iduhr.jpg",
            "quelle": "© Inge Duhr, Trier, 2020."
        }
    ],
    "stand": "2020-07-06"
}

Gebruiksvoorwaarden en bronvermelding

De interface is vrij beschikbaar voor niet-commerciële doeleinden, onderzoek, lokale geschiedenis en kaarttoepassingen. Gelieve “Kulturdatenbank Region Trier – kulturdb.de/” als bron te vermelden en, waar mogelijk, een link naar het betreffende object (veld url) op te nemen.

De rechten op de afbeeldingen blijven berusten bij de respectieve auteurs (veld bilder[].quelle). Voor elk verder gebruik van de afbeeldingen, anders dan in een verwijzing naar de Kulturdatenbank, is hun toestemming vereist.

Gelieve niet herhaaldelijk grote hoeveelheden gegevens met korte tussenpozen op te vragen; maak in plaats daarvan gebruik van bbox, filters en caching. Voor vragen of grotere projecten: kulturdatenbank@gmx.de.

Er zijn ook gestandaardiseerde OGC-geodatadiensten (WMS, WFS) beschikbaar – zie kaartdiensten.