Git Product home page Git Product logo

watergis / vt-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 120 KB

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.

Home Page: https://github.com/watergis/vt-boilerplate

License: MIT License

Dockerfile 8.63% JavaScript 88.56% Batchfile 1.31% Shell 1.49%
vectortiles mbtiles postgis tippecanoe docker

vt-boilerplate's Introduction

vt-boilerplate

GitHub Docker Cloud Automated build Docker Image Size (latest by date)

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.

Configuration

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

Create mbtiles

Usage (Docker)

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.

Usage (Nodejs)

Requirements

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

Deployment from local computer

Extract pbf (mvt) tiles from mbtiles file

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.

Deploy

npm run deploy

It will publish all the files under public directory to Github Pages.

Deployment by using Github Action

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 master

Then, 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 "[email protected]"
        git remote set-url origin https://x-access-token:${NODE_AUTH_TOKEN}@github.com/{your organization name}/vt.git
        npm run deploy

License

This 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

vt-boilerplate's People

Contributors

jinigarashi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.