Interface ouverte (API)

Tous les objets de la Kulturdatenbank peuvent être récupérés via une interface simple et ouverte, au format JSON ou GeoJSON, pour les applications cartographiques et les SIG.

Notions de base

URL de base
https://kulturdb.de/api/v1
Accès
en lecture seule (HTTP GET), sans identifiant ni clé API
Formats
JSON (RFC 8259), GeoJSON (RFC 7946, application/geo+json), jeu de caractères UTF-8
Langue
Les noms de champs, les valeurs de filtre et les textes sont en allemand. /objekte/{id}?sprache=fr (ou sprache=en, sprache=nl) renvoie les termes de classification en français (ou en anglais, en néerlandais).
Coordonnées
WGS 84 (EPSG:4326), ordre dans GeoJSON [longitude, latitude]
Accès via un navigateur
CORS activé (Access-Control-Allow-Origin: *) – utilisable directement depuis des applications web
Mise en cache
Les réponses contiennent des en-têtes Cache-Control (1 à 60 minutes)
Erreurs
statut HTTP approprié (400 paramètres invalides, 404 introuvable) avec {"error": "…"}
Gestion des versions
La version fait partie du chemin d’accès (/v1) ; les modifications susceptibles de perturber le fonctionnement des applications existantes n’apparaissent que dans une nouvelle version.
URL des objets
L’identifiant de l’objet est permanent : https://kulturdb.de/objekt/{id}, page en français https://kulturdb.de/fr/objekt/{id}

Points de terminaison

GET /objekte.geojson

Objets sous forme de FeatureCollection GeoJSON – idéal pour les clients cartographiques (NETGIS, OpenLayers, Leaflet, QGIS). Tous les filtres peuvent être combinés.

ParamètreValeurSignification
bboxminLon,minLat,maxLon,maxLatuniquement les objets situés dans les limites de la carte (WGS 84)
limit1 – 50 000nombre maximal (valeur par défaut : 5 000)
+ tous les filtres

https://kulturdb.de/api/v1/objekte.geojson?bbox=6.62,49.74,6.66,49.77&limit=100
https://kulturdb.de/api/v1/objekte.geojson?objektart=Burgen

GET /punkte

Liste très compacte de points pour les cartes de regroupement comportant plusieurs milliers d’objets : {"felder": ["id","lat","lon","titel","bereich","kategorie"], "bereiche": […], "kategorien": […], "daten": [[…], …]} – bereich et kategorie correspondent aux index dans les listes bereiche et kategorien (-1 = aucun). Tous les filtres sont possibles.

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

Filtres

Les filtres correspondent à la recherche sur le site web. Les valeurs sont les termes allemands de la base de données (voir les catégories ; le terme allemand apparaît dans l’URL de chaque liste). Elles sont comparées à l’identique (sensible à la casse) et combinées avec « AND » ; les espaces et les caractères spéciaux doivent être encodés dans les URL (par exemple : Barock%20%2F%20Rokoko).

ParamètreValeurSignification
qtexteterme recherché dans le titre, le sous-titre, la commune, la localité, la rue, le lieu-dit, l’auteur, la communauté de communes, l’arrondissement ou l’identifiant ; plusieurs mots sont combinés par ET (dans n’importe quel champ), la ponctuation est ignorée, ß/ss et Straße/Str. sont équivalents
volltext1rechercher aussi dans la description (débuts de mots et radicaux allemands)
bereichtextethème, p. ex. Naturobjekte (voir catégories)
kategorietextep. ex. Sakralbauten
objektarttextep. ex. Kapellen
epochetextep. ex. Barock / Rokoko
landkreistextearrondissement, p. ex. Vulkaneifel (voir lieux)
vgtextecommunauté de communes (Verbandsgemeinde), p. ex. Wittlich-Land
gemeindetextecommune, p. ex. Arzfeld
seitAAAA-MM-JJuniquement les objets modifiés après cette date
bilder1uniquement les objets avec au moins une image

Exemples

QGIS

Couche › Ajouter une couche › Ajouter une couche vectorielle, type de source Protocole : HTTP(S), sous forme d’URI par exemple :

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 + ' castles');

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
  })
});

Exemple de réponse /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/fr/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"
}

Conditions d’utilisation et mention de source

L'interface est accessible gratuitement à des fins non commerciales, de recherche, d'histoire locale et d'applications cartographiques. Veuillez citer « Kulturdatenbank Region Trier – kulturdb.de/ » comme source et, dans la mesure du possible, insérer un lien vers l'objet concerné (champ url).

Les droits sur les images restent la propriété de leurs auteurs respectifs (champ bilder[].quelle). Toute utilisation des images autre qu'en référence à la Kulturdatenbank nécessite leur consentement.

Veuillez ne pas récupérer de manière répétée de grandes quantités de données à intervalles rapprochés ; utilisez plutôt le champ bbox, les filtres et la mise en cache. Pour toute question ou tout projet d’envergure : kulturdatenbank@gmx.de.

Des services de géodonnées OGC normalisés (WMS, WFS) sont également disponibles – voir les services cartographiques.