package
0.11.1
Repository: https://github.com/paulmach/orb.git
Documentation: pkg.go.dev

# README

orb/planar Godoc Reference

The geometries defined in the orb package are generic 2d geometries. Depending on what projection they're in, e.g. lon/lat or flat on the plane, area and distance calculations are different. This package implements methods that assume the planar or Euclidean context.

Examples

Area of 3-4-5 triangle:

r := orb.Ring{{0, 0}, {3, 0}, {0, 4}, {0, 0}}
a := planar.Area(r)

fmt.Println(a)
// Output:
// 6

Distance between two points:

d := planar.Distance(orb.Point{0, 0}, orb.Point{3, 4})

fmt.Println(d)
// Output:
// 5

Length/circumference of a 3-4-5 triangle:

r := orb.Ring{{0, 0}, {3, 0}, {0, 4}, {0, 0}}
l := planar.Length(r)

fmt.Println(l)
// Output:
// 12

# Functions

Area returns the area of the geometry in the 2d plane.
CentroidArea returns both the centroid and the area in the 2d plane.
Distance returns the distance between two points in 2d euclidean geometry.
DistanceFrom returns the distance from the boundary of the geometry in the units of the geometry.
DistanceFromSegment returns the point's distance from the segment [a, b].
DistanceFromSegmentSquared returns point's squared distance from the segement [a, b].
DistanceFromWithIndex returns the minimum euclidean distance from the boundary of the geometry plus the index of the sub-geometry that was the match.
DistanceSquared returns the square of the distance between two points in 2d euclidean geometry.
Length returns the length of the boundary of the geometry using 2d euclidean geometry.
MultiPolygonContains checks if the point is within the multi-polygon.
PolygonContains checks if the point is within the polygon.
RingContains returns true if the point is inside the ring.