Safe Haskell | None |
---|---|
Language | Haskell2010 |
Light wrappers around Geos functions. Must be run within the Geos monad.
- newtype Geometry = Geometry {}
- withGeometry :: Geometry -> (Ptr GEOSGeometry -> IO a) -> IO a
- getSRID :: Geometry -> Geos (Maybe Int)
- setSRID :: Maybe Int -> Geometry -> Geos Geometry
- getTypeName :: Geometry -> Geos String
- getTypeId :: Geometry -> Geos Int
- getCoordinateSequence :: Geometry -> Geos CoordSeq
- getNumCoordinates :: Geometry -> Geos Int
- getNumInteriorRings :: Geometry -> Geos Int
- getNumGeometries :: Geometry -> Geos Int
- getInteriorRingN :: Geometry -> Int -> Geos Geometry
- getGeometryN :: Geometry -> Int -> Geos Geometry
- getExteriorRing :: Geometry -> Geos Geometry
- createPoint :: CoordinateSequence a => a -> Geos Geometry
- createLinearRing :: CoordinateSequence a => a -> Geos Geometry
- createLineString :: CoordinateSequence a => a -> Geos Geometry
- createPolygon :: Geometry -> [Geometry] -> Geos Geometry
- createMultiPoint :: [Geometry] -> Geos Geometry
- createMultiLineString :: [Geometry] -> Geos Geometry
- createMultiPolygon :: [Geometry] -> Geos Geometry
- createCollection :: [Geometry] -> Geos Geometry
- project :: Geometry -> Geometry -> Geos Double
- projectNormalized :: Geometry -> Geometry -> Geos Double
- interpolate :: Geometry -> Double -> Geos Geometry
- interpolateNormalized :: Geometry -> Double -> Geos Geometry
- disjoint :: Geometry -> Geometry -> Geos Bool
- touches :: Geometry -> Geometry -> Geos Bool
- intersects :: Geometry -> Geometry -> Geos Bool
- crosses :: Geometry -> Geometry -> Geos Bool
- within :: Geometry -> Geometry -> Geos Bool
- contains :: Geometry -> Geometry -> Geos Bool
- overlaps :: Geometry -> Geometry -> Geos Bool
- equals :: Geometry -> Geometry -> Geos Bool
- equalsExact :: Geometry -> Geometry -> Double -> Geos Bool
- covers :: Geometry -> Geometry -> Geos Bool
- coveredBy :: Geometry -> Geometry -> Geos Bool
- area :: Geometry -> Geos Double
- geometryLength :: Geometry -> Geos Double
- distance :: Geometry -> Geometry -> Geos Double
- hausdorffDistance :: Geometry -> Geometry -> Geos Double
- nearestPoints :: Geometry -> Geometry -> Geos CoordSeq
- normalize :: Geometry -> Geos Geometry
Documentation
withGeometry :: Geometry -> (Ptr GEOSGeometry -> IO a) -> IO a
getTypeName :: Geometry -> Geos String
getNumCoordinates :: Geometry -> Geos Int
getNumInteriorRings :: Geometry -> Geos Int
getNumGeometries :: Geometry -> Geos Int
getInteriorRingN :: Geometry -> Int -> Geos Geometry
getGeometryN :: Geometry -> Int -> Geos Geometry
getExteriorRing :: Geometry -> Geos Geometry
createPoint :: CoordinateSequence a => a -> Geos Geometry
createLinearRing :: CoordinateSequence a => a -> Geos Geometry
createLineString :: CoordinateSequence a => a -> Geos Geometry
createPolygon :: Geometry -> [Geometry] -> Geos Geometry
The second argument is a list of geometries, | NOTE. geometries become owned by caller.
createMultiPoint :: [Geometry] -> Geos Geometry
createMultiLineString :: [Geometry] -> Geos Geometry
createMultiPolygon :: [Geometry] -> Geos Geometry
createCollection :: [Geometry] -> Geos Geometry
project :: Geometry -> Geometry -> Geos Double
project p g
returns the distance of point p
projected on g
from origin of g
. Geometry g
must be a lineal geometry
projectNormalized :: Geometry -> Geometry -> Geos Double
interpolate :: Geometry -> Double -> Geos Geometry
Return the closest point to given distance within geometry. Geometry must be a LineString
interpolateNormalized :: Geometry -> Double -> Geos Geometry
intersects :: Geometry -> Geometry -> Geos Bool
geometryLength :: Geometry -> Geos Double
hausdorffDistance :: Geometry -> Geometry -> Geos Double
nearestPoints :: Geometry -> Geometry -> Geos CoordSeq