conference logo

Playlist "FOSSGIS 2022"

Geoanwendungen und -verarbeitung in Rust: Ein Einstieg in die GeoRust-Community

Dr. Christian Beilschmidt and Johannes Drönner

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.