This is a template to manage vectortiles for water services providers in Github pages. You can create your own vt repository by using this template repository.
Please also refer to watergis/awesome-vector-tiles. There is some instruction guide how to use tools and host your vectortiles in Github pages as open data.
All the settings are in config.js and config-search.js, so please make sure your own settings on this file before producing vector tile.
Please put environment variable for database settings.
db_user=$db_user
db_password=$db_password
db_host=host.docker.internal
db_port=5432
db_user=your user db_password=your password docker-compose up
Your mbtiles will be generated under data directory. Your GeoJSON for searching window will also be generated under public directory.
This module uses tippecanoe to convert geojson files to mbtiles. Please make sure to install it before running.
for MacOS
$ brew install tippecanoe
for Ubuntu
$ git clone https://github.com/mapbox/tippecanoe.git
$ cd tippecanoe
$ make -j
$ make install
Then,
$ npm install
$ db_user=$db_user \
db_password=$db_password \
db_host=localhost \
db_port=5432 \
npm run create
There will be two files as follows.
- ./data/rwss.mbtile
- ./public/wss.geojson
please configure config-extact.js file to adjust output directory path and input mbtiles path.
npm run extract
There will be vectortiles under ./public/tiles directory.
npm run deploy
It will publish all the files under public directory to Github Pages.
First, you can just generate and push both data/data.mbtiles and public/meter.geojson to master repository.
# the below commands are the same with create_vt.bat (create_vt.sh)
# generate data.mbtiles and meter.geojson
docker-compose up
# push data.mbtiles and meter.geojson to Github
git add .
git commit -m "update vectortiles"
git push origin masterThen, you can use Github Action for npm run extract and npm run deploy process.
Here is the example of .github/workflows/node.js.yml. If you want to automate, please create it in your repository.
name: Node.js CI
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- run: npm ci
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- run: npm run extract
- name: configure git and deploy
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: |
git config --global user.name "watergis+githubci"
git config --global user.email "watergis+githubci@users.noreply.github.com"
git remote set-url origin https://x-access-token:${NODE_AUTH_TOKEN}@github.com/{your organization name}/vt.git
npm run deployThis source code under the repository is licensed by
MIT license. You can use it freely for your purposes.
However, these data under data and gh-pages branch are owned and maintained by {your organization name} in Kenya. It is under a Creative Commons Attribution 4.0 International
License, which is different from main repository. You can use this data freely, but please mention our credit ©{your organization name} on attribution of your web application.
Copyright (c) 2020 Jin IGARASHI