#offset #padding #margin #polygon #geo

geo-offset

Add margin and padding to geometric shapes

4 releases (breaking)

0.4.0 Feb 8, 2025
0.3.0 Apr 25, 2021
0.2.0 Apr 6, 2021
0.1.0 Jul 3, 2019

#1496 in Algorithms

Download history 5/week @ 2024-11-05 14/week @ 2024-12-10 7/week @ 2024-12-17 120/week @ 2025-02-04 23/week @ 2025-02-11

143 downloads per month
Used in aoer-plotty-rs

ISC license

28KB
685 lines

geo-offset

This crate contains algorithms to shrink and dilate various geometric shapes.

crate.io docs.rs

This code is a Rust port of the JS lib polygon-offset.

Example

The following example shows how to compute an inflated line. The offset method is provided by the Offset trait which is implemented for most geo-types.

use geo_types::{Coord, Line};
use geo_offset::Offset;

let line = Line::new(
    Coord { x: 0.0, y: 0.0 },
    Coord { x: 1.0, y: 8.0 },
);

let line_with_offset = line.offset(2.0)?;

lib.rs:

This crate contains algorithms to shrink and dilate various geometric shapes.

This code is a Rust port of the JS lib polygon-offset.

Example

The following example shows how to compute an inflated line.
The offset method is provided by the Offset trait which is implemented for most geo-types.

use geo_types::{Coord, Line};
use geo_offset::Offset;

let line = Line::new(
    Coord { x: 0.0, y: 0.0 },
    Coord { x: 1.0, y: 8.0 },
);

let line_with_offset = line.offset(2.0)?;

Dependencies

~1.5MB
~36K SLoC