geos-0.3.0: Bindings for GEOS.

Safe HaskellNone
LanguageHaskell2010

Data.Geometry.Geos.Topology

Synopsis

Documentation

envelope :: Geometry a -> Maybe (Some Geometry) Source #

Returns a Polygon that represents the bounding envelope of this geometry. Note that it can also return a Point if the input geometry is a point.

intersection :: Geometry a -> Geometry b -> Maybe (Some Geometry) Source #

Returns a Geometry representing the points shared by both geometries.

convexHull :: Geometry a -> Maybe (Geometry Polygon) Source #

Returns the smallest Polygon that contains all the points in the geometry.

difference :: Geometry a -> Geometry b -> Maybe (Some Geometry) Source #

Returns a Geometry representing the points making up this geometry that do not make up other.

symmetricDifference :: Geometry a -> Geometry b -> Maybe (Some Geometry) Source #

Returns a Geometry combining the points in this geometry not in other, and the points in other not in this geometry.

union :: Geometry a -> Geometry b -> Maybe (Some Geometry) Source #

Returns a Geometry representing all the points in both geometries.

Computes the union of all the elements of this geometry. Heterogeneous GeometryCollections are fully supported.

The result obeys the following contract:

Unioning a set of LineStrings has the effect of fully noding and dissolving the linework. Unioning a set of Polygons will always return a Polygonal geometry (unlike {link #union(Geometry)}, which may return geometrys of lower dimension if a topology collapse occurred.

pointOnSurface :: Geometry a -> Maybe (Geometry Point) Source #

Computes and returns a Point guaranteed to be on the interior of this geometry.

centroid :: Geometry a -> Maybe (Geometry Point) Source #

Returns a Point object representing the geometric center of the geometry. The point is not guaranteed to be on the interior of the geometry.

delaunayTriangulation :: Geometry a -> Double -> Bool -> Maybe (Some Geometry) Source #

Return a Delaunay triangulation of the vertex of the given geometry g, where tol is the snapping tolerance to use.

voronoiDiagram Source #

Arguments

:: Geometry a

the input geometry whose vertex will be used as sites

-> Maybe (Geometry b)

clipping envelope for the returned diagram, automatically determined if Nothing. The diagram will be clipped to the larger of this envelope or an envelope surrounding the sites

-> Double

snapping tolerance to use for improved robustness

-> Bool

whether to return only edges of the Voronoi cells

-> Some Geometry 

Returns the Voronoi polygons of a set of Vertices given as input

minimumWidth :: Geometry a -> Maybe (Geometry LineString) Source #

Returns a LINESTRING geometry which represents the minimum diameter of the geometry. The minimum diameter is defined to be the width of the smallest band that contains the geometry, where a band is a strip of the plane defined by two parallel lines. This can be thought of as the smallest hole that the geometry can be moved through, with a single rotation.