geojson: A thin GeoJSON Layer above the aeson library

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


A thin GeoJSON Layer above the aeson library.

It currently conforms to version 1.0 of the GeoJSON spec which can be found here:

[Skip to ReadMe]


Versions0.0.1, 0.0.2, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.3, 2.0.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4
Dependenciesaeson (>=0.8), base (==4.*), lens (>=4.11), scientific (>=0.2.0), semigroups (>=0.16), text (>=1.2), transformers (>=0.3), validation (>=1), vector (>=0.10) [details]
CopyrightCopyright (C) 2013-2018
AuthorDom De Re
MaintainerAndrew Newman
Home page
Bug tracker
Source repositoryhead: git clone
this: git clone 1.3.3)
UploadedThu Aug 30 01:21:29 UTC 2018 by newmana




Maintainers' corner

For package maintainers and hackage trustees

Readme for geojson-1.3.3

[back to package description]

geojson Build Status Hackage

A thin GeoJSON Layer above the aeson library

Building the project

Install the dependencies with:

cabal install --only-dependencies

Optionally add --enable-tests if you intend to run the unit tests

The project must be "configured" at least once everytime geojson.cabal changes, this can be done with:

cabal configure

If you wish to run the unit tests you will have to run:

cabal configure --enable-tests

Then finally build it with:

cabal build

See cabal build --help for more build options.

Running Unit Tests

After running cabal build, you can run the unit tests with the command:

cabal test

Adding Unit tests

Currently only files in the src/ directory are searched for tests, it is assumed that the code in main/ is a thin layer of code that uses modules from src/.

Development: Cabal Dependency Hell?

Cabal's great, but when you are developing a few different projects with their own dependency chains, sometimes installing all your libraries to the same place causes problems,

Consider trying cabal-dev. In terms of using it, all thats required is replacing cabal with cabal-dev in all the above command lines.

It will download and install all the dependencies for your project and install them in a cabal-dev/ directory in your project directory, and they will only be used for this project.

Those with newer versions of cabal (>= 1.18 I think) can skip cabal-dev and instead run cabal sandbox init, and just start runnign the above instructions as is from cabal install --only-dependencies