Geoanwendungen und -verarbeitung in Rust: Ein Einstieg in die GeoRust-Community
10.03.2022 , Bühne 3

Rust mittlerweile eine der beliebtesten Programmiersprachen, wenn es um Datenverarbeitung und Systementwicklung geht. Es vereint die Mächtigkeit und Effizienz von C++ mit einer modernen Syntax und einem robusten Typsystem. Doch die Einsetzbarkeit steht und fällt mit den verfügbaren Bibliotheken, die von der Community entwickelt werden. In diesem Vortrag zeigen wir einen Überblick über die GeoRust-Community, die dort entwickelten Bibliotheken und Anwendungen und zeigen einige Beispiele.


Rust mittlerweile eine der beliebtesten Programmiersprachen, wenn es um Datenverarbeitung und Systementwicklung geht. Es vereint die Mächtigkeit und Effizienz von C++ mit einer modernen Syntax und einem robusten Typsystem. Auf StackOverflow wurde Rust zum sechsten Jahr in Folge zur beliebtesten Programmiersprache gewählt. Doch die Einsetzbarkeit steht und fällt mit den verfügbaren Bibliotheken, die von der Community entwickelt und bereitgestellt werden.

Die GeoRust-Community stellt hierbei eine Vielzahl von Bibliotheken, die in Rust Crates genannt werden, bereit. Dazu gehören Simple-Feature-Primitive aus dem Geo-Crate, das zudem viele Vektor-Operationen nativ bereitstellt. Für den Datenzugriff gibt es Implementierungen auf der Vektorseite für z. B. GeoJSON, Shapefiles und FlatGeoBuffers und auf der Rasterseite unter anderem GeoTiff und NetCDF. Daneben gibt es auch Bindings, um mit wichtigen Bibliotheken wie GDAL, PROJ oder GEOS arbeiten zu können. Es gibt auch Implementierungen von räumlichen Datenstrukturen, z. B. R-Bäume und Triangulierungen. Zu guter Letzt gibt es spannenden Anwendungen wie den Vector-Tile-Server T-Rex, Simulationen wie den Verkehrssimulator A/B Street und auch Datenanalyse-Plattformen wie die Geo Engine. Somit hat man in der Regel alle Werkzeuge beisammen, um in Rust produktiv Geoanwendungen zu entwickeln.

In diesem Vortrag zeigen wir einen Überblick über die GeoRust-Community, die dort entwickelten Bibliotheken und Anwendungen und zeigen einige Beispiele. Zu Beginn geben wir eine sehr kurze Einführung zu Rust und fokussieren uns dann auf Beispiele aus den verschiedenen Bibliotheken. Unser Ziel ist es, die Geo-Community neugierig auf den Einstieg in Rust zu machen.

Siehe auch: Vortragsfolien (1,9 MB)

Christian Beilschmidt ist Informatiker und forschte während seiner Promotionszeit an der Philipps-Universität Marburg im Bereich Geo-Datenprozessierung und Machine Learning-Verfahren für die Aggregation raum-zeitlicher Daten. Er war zudem innerhalb von Projekten zu Biodiversitäts- und Umweltmonitoring maßgeblich an der Entwicklung einer web-basiertes Plattform zur raum-zeitlichen Verarbeitung, explorativen Analyse und Visualisierung von Big Spatial Data beteiligt. Derzeit arbeitet er im EXIST-Forschungstransfer-Projekt Geo Engine an einem Start-up, das diese Plattform zu einem cloud-ready Dienst weiterentwickelt, der die Integration und die effiziente Verarbeitung raum-zeitlicher Daten bündelt und neueste Visualisierungs- und Analysemethoden, wie Deep-Learning, intuitiv erschließt.

Diese(r) Vortragende hält außerdem:

Johannes Drönner hat Geographie und Informatik an der Philipps-Universität Marburg studiert und zum Thema Geo-Datenprozessierung und Deep-Learning auf Satellitendaten in Informatik promoviert. Er war zudem innerhalb von Projekten zu Biodiversitäts- und Umweltmonitoring maßgeblich an der Entwicklung einer web-basiertes Plattform zur raum-zeitlichen Verarbeitung, explorativen Analyse und Visualisierung von Big Spatial Data beteiligt. Derzeit arbeitet er im EXIST-Forschungstransfer-Projekt Geo Engine an einem Start-up, das diese Plattform zu einem cloud-ready Dienst weiterentwickelt, der die Integration und die effiziente Verarbeitung raum-zeitlicher Daten bündelt und neueste Visualisierungs- und Analysemethoden, wie Deep-Learning, intuitiv erschließt.

Diese(r) Vortragende hält außerdem: