GithubHelp home page GithubHelp logo

gps_visualizer's Introduction

GPS Visualizer

This tool is used for modifying GPS data to match image data. GPS data collection can contain flaws or errors, so this tool helps the user fix the GPS errors interactively.

Installation

Since this tool uses Google Maps Api, you must first get an access key at https://developers.google.com/maps/documentation/javascript/get-api-key. Then rename the .env-example file as .env and fill the value with your key.

This tool is implemented with React and Flask. You must clone thie repo and then run pip install flask and npm install.

Build

cd static and run npm run build or npm run watch to build the React frontend.

Data Structure

You must construct a data directory with subdirectories gps/ and images/. Refer to sample_data/ for examples of what the data should be like.

gps/

This directory must contain gpx files (one track per gpx file).

images/

This directory must contain the images you want to display, with the time of the image as file name.

Running the Server

cd server and run python run.py <path to data directory>.

Using the Server

  • Different colored dots on lines represent different gps tracks
  • Can drag dots to move the gps
  • The pin represents the location of the current image (interpolated from the gpx according to the image time).
  • Can drag on an image to create a new GPX pin at the image's time
  • Can click a gps dot to select the dot. Ctrl-click selects additional dots, and shift-click selects all dots between the previously select dot and the current dot
  • Can delete selected dots by double-clicking on any of the selected dots

Issues

Currently there's no way to save the locations associated with the images. Delete for multiple dots is buggy because the single-click triggers first (before the double-click), this needs to be fixed by changing the UI to something that does not conflict with selection.

gps_visualizer's People

Contributors

zhongxiayan avatar

Watchers

James Cloos 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.