Sie sind hier

Beschreibung der Programmierschnittstelle (API)

Das OpenData-Portal des Landkreises Diepholz stellt mit der URL http://daten.diepholz.de alle Daten im anwenderfreundlichen CSV-Format (Excel) zum Download zur Verfügung. Das Feldtrennzeichen ist standardmäßig ein Semikolon. Bei jeder Ressource finden Sie den Download-Button, um die Daten als Datei herunterzuladen.

Im OpenData-Portal können alle vorhandenen Ressourcen (Informationen) weiterhin als Tabelle, Diagramm, Cluster oder Karte direkt visuell angezeigt und ausgewertet werden, die Benutzung ist selbsterklärend. Bei jeder Ressource finden Sie den Button „Anzeigen“.

Soll Ihrerseits die elektronische Weiterverarbeitung von Daten realisiert werden, sind neben dem CSV-Format (Excel) üblicherweise die Formate JSON, JSPONP oder XML gewünscht. Auch diese Formate stellt das OpenData-Portal bereit. Um vorhandene Ressourcen in diesen Formaten abzugreifen, kommt die DKAN-API zum Einsatz. Eine vollständige Dokumentation der DKAN-API ist unter docs.getdkan.com zu finden. Möchten Sie die Programmierschnittstelle (API) einsetzen, ist es nötigt, zunächst die ID einer Ressource zu ermitteln. Diese ID finden Sie heraus, indem Sie innerhalb einer Ressource den Button „Anzeigen“ betätigen und dort den Button „Data API“ anklicken. Die „Ressource ID“ ist im gesamten System eindeutig und muss in der URL bei jedem Datenabruf als Parameter angegeben werden.


Nachfolgend einige Beispiele, mit welchen Kommandos die Schnittstelle (Data-API) bedient werden kann.

Anzahl Einträge

Wird die Programmierschnittstelle ohne Angabe der beiden Parameter „limit“ und „offset“ benutzt, so werden standardmäßig stets die ersten 100 Einträge aus der Datenbank ausgelesen und im gewünschten Format ausgeliefert. Soll die Schnittstelle pauschal alle Einträge ausgeben, kann bei dem Parameter „limit“ der Wert „-1“ angegeben werden.

Verschiedene Formate abrufen

Abfragebeispiel: (JSON), um die ersten 10 Treffer anzuzeigen (Parameter &limit=10):
search.json?resource_id=743c9debd508c6234773cbb9d22b529b&limit=10

Abfragebeispiel: (JSON), um die nächsten 10 Treffer zu bekommen (Parameter limit=10&offset=10):
search.json?resource_id=743c9debd508c6234773cbb9d22b529b&limit=10&offset=10

Abfragebeispiel: (XML), um die ersten 10 Treffer anzuzeigen (Parameter &limit=10):
search.xml?resource_id=743c9debd508c6234773cbb9d22b529b&limit=10

Abfragebeispiel: (CSV), Liefert immer ALLE Daten
download/743c9debd508c6234773cbb9d22b529b

Quellcodebeispiele

Beispiel Java-Script:

var data = {
resource_id: '743c9debd508c6234773cbb9d22b529b', // the resource id
limit: 5, // get 5 results
};
$.ajax({
url: 'http://daten.diepholz.de/api/action/datastore/search.json',
data: data,
dataType: 'json',
success: function(data) {
alert('Total results found: ' + data.result.total)
}
});

Beispiel PHP:

$content = file_get_contents("http://daten.diepholz.de/api/action/datastore/search.json?resource_id=743c9debd508c6234773cbb9d22b529b");
$daten = json_decode($content);
print_r($daten);

Beispiel Python:

import urllib
url = 'http://daten.diepholz.de/api/action/datastore/search.json?resource_id=743c9debd508c6234773cbb9d22b529b'
fileobj = urllib.urlopen(url)
print fileobj.read()