module Data.Geo.OSGM02Tab
( (!)
, PTPDD(..)
, gb
) where
import Data.Maybe
import Data.Geo.Type
import Data.Array.Unboxed ((!))
import qualified Codec.Compression.BZip as BZip
import qualified Data.ByteString.Lazy.Char8 as L8
import Data.Binary (decode)
#if EMBEDED_DATA
import Data.FileEmbed
gb :: ArrDD
gb = decodePTPDDFile . L8.fromStrict $ $(embedFile "data/GB.dat")
#else
import System.IO.Unsafe
import Paths_geo_uk
gb :: ArrDD
gb = unsafePerformIO $ do
fn <- getDataFileName "data/GB.dat"
decodePTPDDFile <$> L8.readFile fn
#endif
decodePTPDDFile :: L8.ByteString -> ArrDD
decodePTPDDFile = decode . BZip.decompress