geo
geo copied to clipboard
Geospatial primitives and algorithms for Rust
Given a `LineString`, starting and ending `Point`s, is it possible to slice the line from the start and end using the points?
- https://docs.rs/geo/0.13.0/geo/algorithm/chamberlain_duquette_area/trait.ChamberlainDuquetteArea.html - https://docs.rs/geo/0.13.0/geo/algorithm/haversine_distance/trait.HaversineDistance.html - https://docs.rs/geo/0.13.0/geo/algorithm/haversine_length/trait.HaversineLength.html - https://docs.rs/geo/0.13.0/geo/algorithm/vincenty_length/trait.VincentyLength.html - https://docs.rs/geo/0.13.0/geo/algorithm/vincenty_distance/trait.VincentyDistance.html
[Periodic boundary conditions](https://en.wikipedia.org/wiki/Periodic_boundary_conditions) could be a valuable extension of the existing `geo::algorithm::euclidean_distance` functionality. I am happy to help if this is within the scope of the crate.
Tried this out in https://github.com/georust/geo/compare/frewsxcv-rayon?expand=1, but didn't see any significant performance improvements?
We could use https://github.com/rustwasm/wasm-bindgen to create a JavaScript library that utilizes rust-geo via wasm. Could be fun to see how performance compares to libraries like Turf.js
In the course of [refactoring rust-postgis](https://github.com/andelf/rust-postgis/pull/9) to use rust-geo geometries, I'm looking at needed conversions between different georust geometries. One goal would be to store a rust-gdal geometry with rust-postgis...
The following code is blocked on https://github.com/rust-lang/rust/issues/51344. Relevant discussion happened in https://github.com/georust/rust-geo/issues/47. ```rust pub struct Line { start: (T, T), end: (T, T), } //////////// pub trait LengthAlgo { fn...
Here's our area trait: ```rust pub trait Area where T: Float, { fn area(&self) -> T; } ``` What are the units of return type `T`? Degrees? Meters? Miles? This...
There's some interesting papers published in the past few years incorporating SIMD into geospatial algorithms: - https://arxiv.org/abs/1802.09488 - https://arxiv.org/abs/1403.0802 - https://gisandscience.com/2009/12/18/strategies-for-real-time-spatial-analysis-using-massively-parallel-simd-computers-an-application-to-urban-traffic-flow-analysis/ And the SIMD story is getting better with Rust....
e.g. if we implement `impl Intersects for LineString`, is it possible to write a generic trait implementation such that we automatically get `impl Intersects for Polygon` implemented?