Git Product home page Git Product logo

kikuomax / imaginary-map Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 12.25 MB

PoC project that renders an imaginary map with Mapbox GL JS library

Home Page: https://kikuomax.github.io/imaginary-map/

License: MIT License

JavaScript 6.36% HTML 0.94% Go 41.83% Shell 0.93% Python 49.94%
mapbox-vector-tiles mapbox-gl-js aws-cloudformation aws-sam aws-api-gateway aws-lambda aws-cloudfront aws-codepipeline

imaginary-map's Introduction

Imaginary Map

A PoC project that renders an imaginary map using a Mapbox GL JS API.

This is a sister project of COVID-19 research.

Prerequisites

You need the following software installed,

Building an application

Please take the following steps,

  1. Install modules.

    npm ci
    
  2. Build the application.

    npm run build
    
  3. You will find the following files in the docs directory updated.

    • index.html
    • main.js

For production, specify a --mode=production option at the step 2.

npm run build -- --mode=production

Making a Mapbox vector tiles

There is a Go program that converts a GeoJSON object into a Mapbox vector tile object. Please refer to tools/geo2html for more information.

Hosting a CDN for map vector tiles

Map vector tiles are delivered through a CDN powered by AWS CloudFront. Please refer to cdn for more information.

Running a test service

The following command starts a test service at http://localhost:3000.

npm start

You have to specify a CDN URL to a tile-api query parameter. Suppose you have a CDN running at https://xyz.cloudfront.net, open the following URL.

http://localhost:3000/?tile-api=https%3A%2F%2Fxyz.cloudfront.net

References

imaginary-map's People

Contributors

dependabot[bot] avatar kikuomax avatar

Watchers

 avatar  avatar  avatar

imaginary-map's Issues

Cleanup unused versions and deployments

During implementing a pipeline, a lot of unused Lambda versions and API Gateway deployments were created. Please delete these unused versions and deployments.

Is it a good idea to run a cleanup process periodically?

API Gateway deployment with CodePipeline

I would like to create the following two stages for the tile delivery API,

  • development
    • always calls the latest Lambda functions
  • production
    • calls the latest approved Lambda functions

And I would like to deploy an API instance in a CodePipeline pipeline. A simple static CloudFormation template does not work for deployment. Because a stage rolls back to the initial deployment every time a template is updated unless the resource name of a deployment is changed.

Maybe I have to introduce a Lambda function that deploys an API instance.

Approval before production stage

It may be a bit overkill for this project but I would like to introduce an approval action before updating the production stage.

Multilayer tile generator

Mapbox's map vector tile specification allows a single map vector tile contain multiple layers. Please support generation of a multilayer tile.

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.