/gpx-animator

GPX Animator

Primary LanguageJavaOtherNOASSERTION

GPX Animator

Introduction

GPX Animator generates a top-down view map video from one or more GPX files generated by most standard GPS tracking devices.

GPX Animator has a graphical user interface that works on most operating systems, but works with a pure command-line interface as well.

More information and downloadable executables can be found at https://gpx-animator.app.

Basic usage

# help
java -jar gpx-animator-x.y.z.jar --help

# create movie with default settings
java -jar gpx-animator-x.y.z.jar --input track.gpx

(where x.y.z refers to the version of the jar you built or downloaded)

Advanced command line example

This example takes GPX file input.gpx as input, uses Google Maps as background map, makes the background non-transparent, makes the map movable by placing a 640x640 viewport over the map, forces the video to be 120000ms (2 minutes) long, makes the dot trail 10000ms (10 seconds) long, pre-draws the full track in grey (RGB color code #808080), hides the attribution overlay, and places the default information (lat/lng, speed, time) overlay at the bottom left. Output is stored in movie.mp4.

java -jar ./build/libs/gpx-animator-1.6.0-SNAPSHOT-all.jar
	  --tms-url-template 'https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={zoom}'
	  --background-map-visibility 1.0
	  --viewport-height 640 --viewport-width 640
	  --total-time 120000
	  --tail-duration 10000
	  --pre-draw-track --pre-draw-track-color '#808080'
	  --attribution-position hidden
	  --information-position 'bottom left'
	  --input input.gpx
	  --output movie.mp4

Contributors

Special thanks for all the people who had helped this project so far! Please take a look at the CONTRIBUTORS file for a complete list of all contributors.

Contributing

Good First Issues

For your first contribution to this repository, you can take a look at the issues listed here: Good first issue.

Gitpod Online IDE

You can open this project in a preconfigured Gitpod online IDE based on Theia (Visual Studio Code) and edit, run, test, debug and commit directly from your browser.

Open in Gitpod

Slack Channel

There is a public Slack channel for GPX Animator available, which is hosted by the Java User Group Switzerland. If you are not already a member of this workspace, you can request a free invitation link with your email address (and nothing more) here: Join Slack Workspace.

After you have entered the Slack Workspace, join the #gpx-animator channel.

Build

GPX Animator uses the Gradle build system to build a JAR file. You do not need Gradle installed on your system. This project uses the Gradle Wrapper.

./gradlew assemble
# successful build puts .jar file in build/libs/

After a successful build, the JAR file can be found in the build/libs/ directory.

Tests can be temporarily skipped by running

./gradlew assemble -x test

Run

To run GPX Animator from source:

./gradlew run

To run GPX Animator from source with command line parameters:

./gradlew run --args="--input ./src/test/resources/gpx/bikeride.gpx --output test.mp4"

If necessary, the project will be (re)compiled.

Test

To run tests in src/test/:

./gradlew test

Features

  • supports multiple GPX tracks with multiple track segments
  • skipping idle parts
  • configurable color, label, width and time offset per track
  • configurable video size, fps and speedup or total video time
  • background map from any public TMS server
  • optional attribution and/or information block overlay
  • moving map

Tutorials

Related projects

  • gopro-map-sync: uses GPX Animator to synchronize a moving map video with GoPro footage.

Credits

Icons included in application and their source:

Sounds included in application and their source:

To create the installers, we use a free license of Install4J for open-source projects.

Install4J multi-platform installer builder