This repository contains libraries and command line tools for working with geospatial data. It aims to streamline vector tile generation and provides tooling for standardized geo data serialization.
Initial work has been funded by the Prototype Fund, powered by Open Knowledge Foundation Germany and the German Ministry for Research and Education.
If you are looking for documentation on the Spaten geo spatial file format, look here. The Go implementation resides inside lib/spaten.
- Go ≥ 1.11, Go 1.14 recommended
- GEOS
- LevelDB
If you have built a Go project before, you probably already know what to do. If not:
- Make sure you have Go installed. Preferably version 1.9 or higher. (If you can, use 1.10 or newer as it allows for some impactful performance improvements)
- Execute
go get -u github.com/thomersch/grandine
. This will checkout a current version of the code into~/go/src/github.com/thomersch/grandine
- Go to the checkout directory. Execute
make build
, this will put all executables into thebin
directory. - All the executables can be called with the
-help
flag which will print out basic usage info.
grandine-converter -in fileA,fileB,fileC -out outfile
Alternatively, if you want to use a pipe:
grandine-converter -in fileA,fileB,fileC | your-app-here
grandine-tiler -in some_geodata.spaten -zoom 9,10,11 -out tiles/
By default, all data will be on the default
layer.
fileformat
contains a draft spec for a new geo data format that aims to be flexible, with a big focus on being very fast to serialize/deserialize.- In
lib
you'll find a few Go libraries that provide a few primitives for handling spatial data:lib/spatial
contains functionality for handling points/lines/polygons and basic transformation operations. If you miss functionality, feel free to send a Pull Request, it would be greatly appreciated.lib/mvt
contains code for serializing Mapbox Vector Tiles.
- There are a few command line tools in
cmd
:converter
is a helper tool for converting and concatenating geo data filesspatialize
converts OpenStreetMap data into a Spaten data file as defined infileformat
tiler
generates vector tiles from spatial data