Popularity
3.0
Declining
Activity
0.0
Stable
3
1
2

Monthly Downloads: 19
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Database    

mbtiles alternatives and similar packages

Based on the "Database" category.
Alternatively, view mbtiles alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of mbtiles or a related project?

Add another 'Database' Package

README

mbtiles

Haskell library for interfacing with MapBox MBTiles files.

Documentation available on Hackage.

Functionality

  • Getting tiles by zoom, x, and y.
  • Writing new tiles by zoom, x, and y.
  • Updating existing tiles by zoom, x, and y.
  • Accessing metadata from the mbtiles file.

Basic Usage

Reading, writing, and updating tiles:

{-# LANGUAGE OverloadedStrings #-}

import qualified Data.ByteString.Lazy as BL
import           Database.Mbtiles

main = do
  let myData = "myTileData" :: BL.ByteString
  let tile   = Tile (Z 0, X 0, Y 0)
  runMbtiles "my/path/to/file.mbtiles" $ do
    maybeTileData <- getTile tile
    case maybeTileData of
      Nothing  -> writeTile tile myData
      (Just d) -> updateTile tile $ BL.init d

Getting metadata:


import Control.Monad.IO.Class
import Database.Mbtiles

main = do
  runMbtiles "my/path/to/file.mbtiles" $ do
    liftIO . print =<< getName
    liftIO . print =<< getType
    liftIO . print =<< getFormat

Future Work

  • Improve database error handling.
  • Investigate usage as a performant tile server.
  • Add tests.