hgeos-0.1.2.0: src/app/HighLevelAPI.hs
module HighLevelAPI (demo) where
import Data.Geolocation.GEOS
-- Demonstrates use of high-level API
-- Lifetimes of GEOS objects are automatically managed by the context objects
-- which guarantees that they are released when the context goes out of scope
demo :: IO ()
demo = do
withGEOS $ \ctx -> do
reader <- mkReader ctx
g0 <- readGeometry reader "POLYGON (( 10 10, 10 20, 20 20, 20 10, 10 10 ))"
g1 <- readGeometry reader "POLYGON (( 11 11, 11 12, 12 12, 12 11, 11 11 ))"
g2 <- intersection g0 g1
writer <- mkWriter ctx
str <- writeGeometry writer g2
putStrLn str
putStrLn "HighLevelAPI.demo done"