GithubHelp home page GithubHelp logo

pka / awesome-georust Goto Github PK

View Code? Open in Web Editor NEW
267.0 14.0 17.0 107 KB

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

License: Creative Commons Zero v1.0 Universal

awesome-georust's Introduction

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.
  • Rust Geodesy - A geodesy library written in Rust.
  • 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.
  • cheap-ruler-rs - Collection of very fast approximations to common geodesic measurements.

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.
  • RINEX - RINEX analysis & and processing.
  • shapefile-rs - Rust library to read & write shapefiles.
  • TileJSON - Work with TileJSON files.
  • Transit - Work with GTFS files.
  • transit_model - Manage, convert and enrich transit data.
  • FastGtfs - GTFS parsing, navigation, time table creation, and real-time network simulation.
  • gtfs-structures - Read GTFS files into structs, with smart references.
  • 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

  • osmpbfreader-rs - Read OpenStreetMap PBF files.
  • osmpbf - Library for reading the OpenStreetMap PBF file format.
  • osm_boundaries_utils_rs - Read OpenStretMap relations with type=boundary as valid MultiPolygon.
  • osm-transit-extractor - Extract OSM public transport data and write to CSV files.
  • Pbfextractor - Create graph files out of OSM and SRTM data
  • osmflat - OpenStreetMap flatdata format and compiler.
  • osmx - Rust port of OSMExpress, a fast database file format for OpenStreetMap.
  • osm-lump-ways - Group OSM ways based on topology & shared tags

More crates based on osmpbfreader-rs

3D

  • density mesh - Image density/height map to mesh generator.
  • startin - A Delaunay triangulator for processing TINs.
  • geom3d - Data structures and algorithms for 3D geometric modeling.

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.
  • Ferrostar - A FOSS navigation SDK built from the ground up for the future.

Watchlist

  • 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.
  • zarrs - A rust library for the Zarr V3 storage format for multidimensional arrays and metadata.
  • 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
  • Proj4rs - Rust adaptation of Proj4
  • Proj4wkt - Parse WKT to Proj strings
  • Louvre - Computational Geometry Library with Rust
  • gpkg-rs - A Rust crate for reading and writing GeoPackages.
  • georaster - Rust library for accessing geospatial raster images (GeoTIFF).
  • sif-rtree and sif-kdtree - R and K-D trees which can be memory-mapped directly from disk.
  • geo-index - Packed, static, zero-copy spatial indexes (R-tree and k-d tree).
  • jord - Geographical Position Calculations (spherical + ellipsoidal models and local frames).
  • tzf-rs - Get timezone via longitude&latitude in Rust in a fast way
  • geometry-rs - Partial port of tidwall/geometry (efficient 2D geometry library for Go).
  • pasture - Rust library for point cloud processing.
  • rout3serv - H3-grid based Routing server with GRPC-API and dataframe integration.
  • Airmail - Lightweight geocoder in pure Rust.
  • geoserde - Adapter between geographic feature and GIS files.

Resources

crates.io

Community

  • Discord - GeoRust Discord channel

awesome-georust's People

Contributors

adamreichold avatar christianbeilschmidt avatar frewsxcv avatar kylerchin avatar michaelkirk avatar pka avatar ringsaturn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-georust's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.