• Stars
    star
    258
  • Rank 158,189 (Top 4 %)
  • Language
  • License
    Creative Commons ...
  • Created almost 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated list of awesome geospatial software, libraries, tools and resources, written in Rust

Awesome Geo Rust awesome

A curated list of awesome geospatial software, libraries, tools and resources, written in Rust

Rust, a language empowering everyone to build reliable and efficient software.

Contributions welcome. Add links through pull requests or create an issue to start a discussion. Please take a look at the contribution guidelines.

Contents

Geospatial primitives and algorithms

  • Geo - Geospatial primitives such as Point & LineString, and algorithms such as distance, convex hull, centroidcalculations.
  • GEOS - Bindings for the Geometry Engine - Open Source (GEOS) library.
  • Robust - Robust primitives for computational geometry.
  • PROJ - Bindings for the PROJ library for coordinate transformation and projections.
  • geographiclib-rs - A port of geographiclib (geodesic calculations).
  • S2 - S2 spherical geometry library in Rust.
  • rust-geo-booleanop - Rust implementation of the Martinez-Rueda Polygon Clipping Algorithm.
  • intersect2d - Line intersection sweep-line algorithm.
  • spatial-join - Perform streaming geospatial-joins on geographic data.
  • tile-grid - Library for map tile grid calculations.
  • zonebuilder - Build zones for large geographic regions.
  • Polylabel-rs - A Rust implementation of the Polylabel algorithm, with FFI.

Spatial index / Partioning

  • rstar - R*-tree library for the rust ecosystem.
  • kdbush - A Rust port of kdbush, a fast static spatial index for 2D points.
  • spade - Delaunay Triangulations for the Rust ecosystem.
  • delaunator-rs - A very fast static 2D Delaunay triangulation library for Rust.
  • earcutr - Port of MapBox's earcut triangulation code to Rust language.
  • boostvoronoi - Segmented Voronoi for Rust.

Handling GIS data formats

  • GDAL - Bindings for the Geographic Data Abstraction Library (GDAL) for reading and writing raster and vector GIS files.
  • GeoZero - Zero-Copy reading and writing of geospatial data.
  • GeoJSON - Work with GeoJSON files.
  • GPX - Work with GPS files.
  • kml - Rust support for reading and writing KML.
  • GeoTIFF - Work with GeoTIFF raster files.
  • image-tiff - TIFF decoding and encoding library in pure Rust.
  • netCDF - Bindings for Network Common Data Form (netCDF) library. Can read and write HDF5 files.
  • hdf5-rust - Thread-safe Rust bindings and high-level wrappers for the HDF5 library API.
  • N5 - N5 "Not HDF5" tensor file system format.
  • shapefile-rs - Rust library to read & write shapefiles.
  • TileJSON - Work with TileJSON files.
  • Transit - Work with GTFS files.
  • FastGtfs - GTFS parsing, navigation, time table creation, and real-time network simulation.
  • WKT - Work with Well-Known Text (WKT) files.
  • World file - Work with World-files.
  • FlatGeobuf - A performant binary encoding for geographic data based on flatbuffers.
  • las-rs - Read and write ASPRS las files.
  • stac-rs - Rust implementation of the SpatioTemporal Asset Catalog (STAC) specification.
  • pgstac-rs - Rust interface for pgstac.

Raster and image processing

  • rasters.rs - Raster processing library and tools written in rust.
  • geo-rasterize - A pure-rust 2D rasterizer for geospatial applications.

OSM data handling

More crates based on osmpbfreader-rs

3D

  • density mesh - Image density/height map to mesh generator.
  • startin - A Delaunay triangulator for processing TINs.

Geocoding

  • GeoHash - Compute geohash of locations.
  • Geocoding - Enrich addresses, cities, countries with geographic coordinates through third-party geocoding web services.
  • Mimirsbrunn - Geocoding and reverse-geocoding (with OSM data).

Routing

  • Fast Paths - Fast shortest path calculations for Rust.
  • osm_ch - OSM-Contraction-Hierarchies.

Web Services

  • t-rex - Vector tile server specialized on publishing MVT tiles from your own data.
  • Martin - Blazing fast and lightweight PostGIS vector tiles server.
  • Hecate - Fast Geospatial Feature Storage API.

Map rendering

Applications

  • A/B Street - A traffic simulation game exploring how small changes to roads affect cyclists, transit users, pedestrians, and drivers.
  • Geo Engine - Cloud-ready geospatial data processing platform with workflows, raster and vector support and OGC-compliant interfaces.
  • rgis - Performant, cross-platform (web, desktop) GIS app written in Rust
  • sst - streaming startin.
  • WhiteboxTools - Geospatial data analysis platform with more than 465 tools for processing various types of geospatial data.

Watchlist

  • Rust Geodesy - A platform for experiments with geodetic software, transformations, and standards.
  • Miniproj - Geographic transformations between different coordinate systems defined by the European Petroleum Survey Group.
  • coord_transforms - Rust crate for performing coordinate transforms.
  • maplibre-rs - Native Maps for Web, Mobile and Desktop.
  • RGeometry - Computational Geometry library written in Rust.
  • offset-polygon - A Rust crate for offsetting (shrinking/expanding) polygons.
  • map-engine - A rust library to work with tiled geospatial (raster) data.
  • rust_road_router - Rust routing framework and toolkit.
  • Sailor - A sailing navigation application.
  • OGC API - OGC API building blocks.
  • copc-rs - COPC reader.
  • Zarr - Rust implementation of the Zarr N-dimensional array format.
  • pasture - A Rust library for working with point cloud data.
  • h3o - Rust implementation of the H3 geospatial indexing system.
  • bevy-potree
  • cogbuilder
  • vrt-file
  • PlanetVectorTile - A map engine enabling you to have the entire map of the OSM planet on your own computer.
  • GeoPolars - Geospatial extensions for Polars.
  • country-geocoder - Reverse geocode WGS84 coordinates to an ISO country-code.
  • Skeleton Tracing - A new algorithm for retrieving topological skeleton as a set of polylines from binary images.
  • poly2tri-rs - Calculate CDT (Constrained Delaunay Triangulation) on a polygon.
  • PMTiles (for Rust) - Rust implementation of PMTiles
  • PMTiles (for Rust) - Low level implementation of the PMTiles format

Resources

crates.io

Community

  • Discord - GeoRust Discord channel

More Repositories

1

awesome-3d-tiles

Awesome 3D Tiles
132
star
2

ol3-react-example

Basic OpenLayers 3 + React example
JavaScript
63
star
3

acts_as_tsearch

Ruby on Rails plugin for the Full Text Search engine of PostgreSQL
Ruby
56
star
4

actix-web-oauth2

Actix web Oauth2 examples
Rust
54
star
5

map_layers

MapLayers plugin for Rails
JavaScript
48
star
6

qgpkg

GeoPackage extension to store QGIS mapping information in a GeoPackage database file
Python
23
star
7

georaster

Rust library for accessing geospatial raster images
Rust
22
star
8

mvt-benchmark

Benchmark for creating and serving MVT vector tiles
Makefile
18
star
9

flatgeobuf-bevy

FlatGeobuf rendering with Bevy engine
Rust
15
star
10

tile-grid

Map tile grid calculations V2
Rust
12
star
11

copc-rs

COPC reader
Rust
11
star
12

rust-kdbush

A Rust port of kdbush, a fast static spatial index for 2D points.
Rust
11
star
13

mapfish-rails-sample-app

Mapfish sample application with the Ruby on Rails plugin
JavaScript
10
star
14

http-range-client

HTTP client for HTTP Range requests with a buffer optimized for sequential requests
Rust
9
star
15

rack-monitor

Rack middleware for collecting run-time information for monitoring tools like Munin
Ruby
8
star
16

popen4

POpen4 without native libraries
Ruby
7
star
17

flatgeobuf-gpu

FlatGeobuf GPU experiments
Rust
7
star
18

flatgeobuf-wasm

FlatGeobuf Wasm experiments
Rust
7
star
19

3d-tiles

Rust
4
star
20

wasm-2d-experiments

WASM 2D experiments
Rust
4
star
21

tilecache

TileCache with Sourcepole enhancements
Python
3
star
22

farewell-web-mercator

Farewell Web Mercator - State of the Map Europe 2024 ลรณdลบ
Makefile
3
star
23

godot-geo-tile-loader

Rust
2
star
24

legeo

LEGeo is a geoprocessing framework inspired by Tilelive
Rust
2
star
25

docker-postgis-svn-build-env

Build environment for PostGIS dev packages
1
star
26

parquet-http

Parquet access via HTTP
1
star
27

ical2json

Fetch events from iCalendar, including recurring events.
Python
1
star
28

raspi-playground

Collection of Raspberry Pi projects
Shell
1
star
29

actix-web-oidc-auth

OpenID Connect authentication with Actix Web
Rust
1
star
30

scavento

A low cost weather station based on open source hardware
Ruby
1
star
31

doctags

Doctags is a simple document management system based on tags
Rust
1
star