Documentation ¶
Overview ¶
Package planar computes properties on geometries assuming they are in 2d euclidean space.
Index ¶
- func Area(g orb.Geometry) float64
- func CentroidArea(g orb.Geometry) (orb.Point, float64)
- func Distance(p1, p2 orb.Point) float64
- func DistanceFrom(g orb.Geometry, p orb.Point) float64
- func DistanceFromSegment(a, b, point orb.Point) float64
- func DistanceFromSegmentSquared(a, b, point orb.Point) float64
- func DistanceFromWithIndex(g orb.Geometry, p orb.Point) (float64, int)
- func DistanceSquared(p1, p2 orb.Point) float64
- func Length(g orb.Geometry) float64
- func MultiPolygonContains(mp orb.MultiPolygon, point orb.Point) bool
- func PolygonContains(p orb.Polygon, point orb.Point) bool
- func RingContains(r orb.Ring, point orb.Point) bool
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Area ¶
Area returns the area of the geometry in the 2d plane.
Example ¶
package main import ( "fmt" "github.com/Smadarl/orb" "github.com/Smadarl/orb/planar" ) func main() { // + // |\ // | \ // | \ // +---+ r := orb.Ring{{0, 0}, {3, 0}, {0, 4}, {0, 0}} a := planar.Area(r) fmt.Println(a) }
Output: 6
func CentroidArea ¶
CentroidArea returns both the centroid and the area in the 2d plane. Since the area is need for the centroid, return both. Polygon area will always be >= zero. Ring area my be negative if it has a clockwise winding orider.
func Distance ¶
Distance returns the distance between two points in 2d euclidean geometry.
Example ¶
package main import ( "fmt" "github.com/Smadarl/orb" "github.com/Smadarl/orb/planar" ) func main() { d := planar.Distance(orb.Point{0, 0}, orb.Point{3, 4}) fmt.Println(d) }
Output: 5
func DistanceFrom ¶
DistanceFrom returns the distance from the boundary of the geometry in the units of the geometry.
func DistanceFromSegment ¶
DistanceFromSegment returns the point's distance from the segment [a, b].
func DistanceFromSegmentSquared ¶
DistanceFromSegmentSquared returns point's squared distance from the segement [a, b].
func DistanceFromWithIndex ¶
DistanceFromWithIndex returns the minimum euclidean distance from the boundary of the geometry plus the index of the sub-geometry that was the match.
func DistanceSquared ¶
DistanceSquared returns the square of the distance between two points in 2d euclidean geometry.
func Length ¶
Length returns the length of the boundary of the geometry using 2d euclidean geometry.
Example ¶
package main import ( "fmt" "github.com/Smadarl/orb" "github.com/Smadarl/orb/planar" ) func main() { // + // |\ // | \ // | \ // +---+ r := orb.Ring{{0, 0}, {3, 0}, {0, 4}, {0, 0}} l := planar.Length(r) fmt.Println(l) }
Output: 12
func MultiPolygonContains ¶
func MultiPolygonContains(mp orb.MultiPolygon, point orb.Point) bool
MultiPolygonContains checks if the point is within the multi-polygon. Points on the boundary are considered in.
func PolygonContains ¶
PolygonContains checks if the point is within the polygon. Points on the boundary are considered in.
Types ¶
This section is empty.