module TerraHS.Algebras.Spatial.GeoObjects
(
GeoObjects (..),
)
where
import Foreign.C.String
import TerraHS.Algebras.Spatial.Geometries
import TerraHS.Algebras.Spatial.Points
import TerraHS.Algebras.Spatial.Lines
import TerraHS.Algebras.Spatial.Polygons
import TerraHS.Algebras.Base.Ids
import TerraHS.Algebras.Base.Attribute
class (Num n,
Points p n,
Lines l n,
Polygons pg l n,
Geometries g pg l p n,
Ids i,
Values v,
Attributes at v
)
=> GeoObjects a i at v g pg l p n | a -> i at v g pg l p n where
getId :: a -> i
getAttributes :: a -> [at]
getGeometries :: a -> [g]