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.
If you have built a Go project before, you probably already know what to do. If not:
go get -u github.com/thomersch/grandine
. This will checkout a current version of the code into ~/go/src/github.com/thomersch/grandine
make build
, this will put all executables into the bin
directory.-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.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.cmd
:
converter
is a helper tool for converting and concatenating geo data filesspatialize
converts OpenStreetMap data into a Spaten data file as defined in fileformat
tiler
generates vector tiles from spatial data