Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Oslandia/postile
Project migrated to: https://gitlab.com/Oslandia/postile
https://github.com/Oslandia/postile
asyncpg gis mapbox openmaptiles openmaptiles-schema postgis postgresql sanic vector vector-tiles
Last synced: 3 months ago
JSON representation
Project migrated to: https://gitlab.com/Oslandia/postile
- Host: GitHub
- URL: https://github.com/Oslandia/postile
- Owner: Oslandia
- License: bsd-3-clause
- Archived: true
- Created: 2018-02-07T16:40:49.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T12:44:43.000Z (over 4 years ago)
- Last Synced: 2024-07-13T15:45:52.486Z (4 months ago)
- Topics: asyncpg, gis, mapbox, openmaptiles, openmaptiles-schema, postgis, postgresql, sanic, vector, vector-tiles
- Language: Python
- Homepage: https://gitlab.com/Oslandia/postile
- Size: 39.1 KB
- Stars: 72
- Watchers: 9
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
Fast Mapbox Vector Tile Server mainly suited for the [openmaptiles vector tile schema](https://github.com/openmaptiles/openmaptiles)
## Features
- Support for PostGIS backend through a tm2source (as generated by [OpenMapTiles](https://github.com/openmaptiles/openmaptiles))
- Support for PostGIS single layers
- Support for reading MBTiles
- On-the-fly reprojection to web mercator EPSG:3857 (only for single layers)
- Connection pooling and asynchronous requests thanks to [asyncpg](https://github.com/MagicStack/asyncpg)## Requirements
- Python `>= 3.6`
- for PostGIS backend, recent `ST_AsMVT` function. At least PostGIS >= 2.4.0.## Installation
pip install cython
pip install -e .
postile --help## Using a Docker container
Start Postile with:
docker run --network host oslandia/postile postile --help
## Example of serving postgis layers individually
postile --pguser **** --pgpassword **** --pgdatabase mydb --pghost localhost --listen-port 8080 --cors
Then layer `boundaries` can be served with:
http://localhost:8080/boundaries/z/x/y.pbf?fields=id,name
`fields` is optional, and when absent only geometries are encoded in the vector tile.
## Preview
The root endpoint will display a built-in viewer with `mapbox-gl-js`.
In `DEBUG` mode the same page will also add some checkboxes to show tile boundaries and collision boxes (for labels).---
*For a concrete example using OpenMapTiles schema see [this tutorial](https://github.com/ldgeo/postile-openmaptiles)*