Verwenden der API

Eine Progammierschnittstelle, Application Programming Interface, kurz API, ist eine Schnittstelle für den Datenaustausch von Programmen. Die OpenDataSoft-API bietet eine vereinheitlichte Methode, um auf alle beliebigen Daten zuzugreifen, die auf die Plattform gepusht wurden, unabhängig von Ihrer Quelle oder ihrem Format. Dabei werden die vom Datenbesitzer festgelegten Sicherheitsregeln berücksichtigt.

Die gesamte OpenDataSoft-Plattform beruht ausschließlich auf diesen bestimmten APIs für den Datenzugriff. Sie werden von unserer Widget-Bibliothek <http://opendatasoft.github.io/ods-widgets/docs/#/api>`_ umfassend genutzt. Dabei handelt es sich lediglich um eine Präsentationsschicht für die Daten, die von den APIs zur Verfügung gestellt werden.

Diese APIs ermöglichen Ihnen die Suche nach Datensätzen und Daten sowie die Erstellung von Analysen, die Durchführung von geografischen Aggregationen uvm.

Klicken Sie auf die folgenden Links, um auf die Entwickler-API-Dokumentationen zuzugreifen:

Schlüsselkonzepte

Sämtliche APIs bieten Ihnen Zugang zu den selben Daten, jedoch auf verschiedene Weise. Es ist sehr wichtig, mit den Eigenschaften dieser Daten vertraut zu sein, bevor Sie die gesamte Spezifikation jeder API näher betrachten.

Alle Plattformelemente sind in einer Baumstruktur miteinander verbunden. Sie können OpenDataSoft also folgendermaßen verstehen:

  • Die OpenDataSoft-Plattform ist ein Netzwerk aus mehreren OpenDataSoft-Portalen.

  • Ein Portal bietet einen Katalog bestehend aus all seinen Datensätzen.

  • Jeder Datensatz wird durch ein Metadaten-Wörterbuch, ein Datenschema (das Feldnamen und -typen angibt) und eine Sammlung an Einträgen definiert.

  • Jeder Eintrag bietet Werte für jedes einzelne Datensatzfeld.

Natürlich enthält die Plattform noch weit mehr Datentypen, doch diese sind nur in spezifischem Kontext relevant.

Die OpenDataSoft-Plattform bietet ihre eigene API (ODS API v1 und v2) sowie einige Standard-API-Implementierungen wie ODATA , WFS oder CSW.

ODS-API

Die OpenDataSoft-Plattform und die Widgets nutzen intern diese Plattform. Wenn Sie Ihre eigene Anwendung entwickeln möchten, können Sie dies natürlich auch tun.

Unterschiede zwischen ODS API v1 und API v2

Bemerkung

Diese API ist momentan in der Entwicklungsphase und wird bald offiziell zur Verfügung stehen.

Dies sind die wichtigsten Unterschiede und Änderungen von API v1 im Vergleich zu API v2.

  • APIv2 bietet eine bessere Implementierung für REST-Prinzipien. Jeder API-Einstiegspunkt bietet Links zum einfachen Navigieren zwischen verlinkten Ressourcen (HATEOAS).

  • Diese API bietet eine umfassendere Anfragesprache mit neuen Funktionen und arithmetischen Ausdrücken.

  • Stattdessen werden spezielle Filter (Geofilter oder Facet-Filter) in die Anfragesprache verschoben. Beispielsweise wird geofilter.distance='42,1,100' durch q=distance(geo_field,geom'Point(42 1)',100) ersetzt

  • Die Aggregations-API (früher Analyse-API) besitzt eine neue “SQL”-ähnliche Sprache und ist im Katalog zusätzlich zu den Datensatzeinträgen erhältlich.

  • Die Exporter haben ihren eigenen Einstiegspunkt unter /api/catalog/exports` und /api/catalog/datasets/<dataset_id>/exports

  • Die Navigationssuche (früher Facet-Suche) und die Standardsuche sind vollständig getrennt.

Was ist mit OData, WFS und CSW?

Diese 3 Akronyme beziehen sich auf weitere Standards, die die Plattform implementiert. Falls Sie mit diesen Standards nicht vertraut sind, sollten Sie bei der ODS-API bleiben, da Sie den umfassendsten Zugang zu den Daten bietet.

OData

OData ist ein Standard für REST-APIs, die eine gemeinsame, API-übergreifende Sprache zur Durchführung von Anfragen bieten. Der Vorteil des generischen Ansatzes dieser Norm ist seine höhere Komplexität im Vergleich zu herkömmlichen REST-APIs.

OpenDataSoft implementiert diese Norm für einfache Vorgänge (Suche nach Datensätzen und Einträgen), komplexere Vorgänge (wie Analysen, Aggregationen, geografische Berechnungen...) sind nur mit V1- und V2-APIs verfügbar.

WFS und CSW

Beide sind Standards, die sich auf geografische Daten konzentrieren. Sie sind daher besonders wichtig, falls Sie die Plattform mit weiterer GIS-Software koppeln möchten.