interior-point 0.2.0

JTS InteriorPoint algorithm ported to Rust
Documentation

interior-point

Compute an interior point (representative point) of a geometry.

Ported from the JTS Topology Suite InteriorPoint algorithm. Uses geo / geo-types crates.

Usage

Add to Cargo.toml:

[dependencies]
interior-point = "0.1"
geo-types = "0.7"

or using cargo add:

cargo add interior-point
cargo add geo-types
use geo_types::{polygon, Geometry};
use interior_point::interior_point;

let poly = polygon![
    (x: 0.0, y: 0.0),
    (x: 6.0, y: 0.0),
    (x: 6.0, y: 2.0),
    (x: 2.0, y: 2.0),
    (x: 2.0, y: 8.0),
    (x: 0.0, y: 8.0),
    (x: 0.0, y: 0.0),
];

let pt = interior_point(&Geometry::Polygon(poly));
assert!(pt.is_some());

API

interior_point(geometry: &Geometry<f64>) -> Option<Coord<f64>>

Returns a coordinate guaranteed to lie inside area geometries, or on linear/point geometries. Returns None for empty geometries.

License

MIT

This crate contains algorithms ported from JTS (EPL 2.0 / EDL 1.0).