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

# README

orb/geo 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 lon/lat or WGS84 projection.

Examples

Area of the San Francisco Main Library:

poly := orb.Polygon{
    {
        { -122.4163816, 37.7792782 },
        { -122.4162786, 37.7787626 },
        { -122.4151027, 37.7789118 },
        { -122.4152143, 37.7794274 },
        { -122.4163816, 37.7792782 },
    },
}

a := geo.Area(poly)

fmt.Printf("%f m^2", a)
// Output:
// 6073.368008 m^2

Distance between two points:

oakland := orb.Point{-122.270833, 37.804444}
sf := orb.Point{-122.416667, 37.783333}

d := geo.Distance(oakland, sf)

fmt.Printf("%0.3f meters", d)
// Output:
// 13042.047 meters

Circumference of the San Francisco Main Library:

poly := orb.Polygon{
    {
        { -122.4163816, 37.7792782 },
        { -122.4162786, 37.7787626 },
        { -122.4151027, 37.7789118 },
        { -122.4152143, 37.7794274 },
        { -122.4163816, 37.7792782 },
    },
}
l := geo.Length(poly)

fmt.Printf("%0.0f meters", l)
// Output:
// 325 meters

# Functions

Area returns the area of the geometry on the earth.
Bearing computes the direction one must start traveling on earth to be heading from, to the given points.
BoundHeight returns the approximate height in meters.
BoundPad expands the bound in all directions by the given amount of meters.
BoundWidth returns the approximate width in meters of the center of the bound.
Distance returns the distance between two points on the earth.
DistanceHaversine computes the distance on the earth using the more accurate haversine formula.
Length returns the length of the boundary of the geometry using the geo distance function.
LengthHaversign returns the length of the boundary of the geometry using the geo haversine formula Deprecated: misspelled, use correctly spelled `LengthHaversine` instead.
LengthHaversine returns the length of the boundary of the geometry using the geo haversine formula.
Midpoint returns the half-way point along a great circle path between the two points.
NewBoundAroundPoint creates a new bound given a center point, and a distance from the center point in meters.
PointAtBearingAndDistance returns the point at the given bearing and distance in meters from the point.
SignedArea will return the signed area of the ring.