Arbeiten mit großen Datenmengen

Learnings

VORBEREITUNGEN 

In diesem Beispiel wollen wir die Grundlagen der deeeper.API zum Arbeiten mit großen Datenmengen erkunden. Dieses Tutorial nutzt Python 3.9. In unserem öffentlich verfügbaren Gitlab-Repository finden sich auch Beispiele in Bash. Um ein Grundverständnis der API zu bekommen, empfehlen wir das Tutorial Getting Started.

Zur schnelleren Verarbeitung von Anfragen nutzt die API Paginierung (im englischen Sprachraum als Paging oder Pagination bekannt). Die Ergebnisse sind dementsprechend beim Überschreiten einer gewissen Anzahl von Objekten in "Seiten" aufgetrennt, die einzeln abgefragt werden können. In diesem Beispiel soll kurz und bündig erklärt werden wie einzelne Seiten aus der API abgefragt werden können. Eine tiefgreifende, technische Dokumentation kann der API Dokumentation entnommen werden.

Die Antwort auf beliebige Anfragen wird prinzipiell im JSON-Format ausgegeben und sieht aus wie im folgenden Codebeispiel:

ANWENDUNG VON PAGINATION 

Im obigen Beispiel zeigt sich das Paging der API. Ist die Anzahl der gefundenen Features zu groß, teilt die API die Antworten in mehrere Teile auf, sogenannte Pages. Den Parametern "numberMatched" und "numberReturned" in der oben gezeigten Antwort können wir entnehmen, dass in der Anfrage nicht alle der Anfrage entsprechenden Objekte zurückgegeben wurden. 

In diesem Falle wurden 123 Objekte gefunden, die die Abfrage erfüllen, jedoch zunächst nur 2 Objekte zurück gegeben. Um alle  zu erhalten, müssen wir iterativ mit verschiedenem Offset abfragen (uns also alle Features vom n-ten Objekt an zurückgeben lassen). Dazu wählen wir einen "startIndex" wie im folgenden Codebeispiel beschrieben, welcher sukzessive erhöht wird.

Außerdem fragen wir von der API alle Ackerflächen in der Bounding-Box ab, welche eine Größe von über 50.000 m² haben. Diese können, wie schon im Eingangsbeispiel gezeigt, mittels Folium in Form einer Webkarte dargestellt werden.

DARSTELLUNG IN EINER WEBKARTE

Das folgende Snippet stellt dann ähnlich wie in den anderen Tutorials die Möglichkeit dar, die Ergebnisse in einer interaktiven Webkarte zu veranschaulichen. Das Ergebnis befindet sich darunter.

ZUSAMMENFASSUNG

In diesem Tutorial haben wir die Grundlagen der Pagination kennengelernt. Die Pagination erlaubt es uns mit größeren Datenmengen zu arbeiten. In der Praxis bietet es sich an, die Page Size an das Problem anzupassen. Per default ist eine Page Size von 1000 eingestellt.