#offset #padding #margin #polygon #geo

geo-offset

Add margin and padding to geometric shapes

4 releases (breaking)

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

#1478 in Algorithms

Download history 5/week @ 2024-11-06 3/week @ 2024-12-04 13/week @ 2024-12-11 5/week @ 2024-12-18 123/week @ 2025-02-05

123 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