Download useful tools and utilities for your sailing adventures. All downloads are free and open source.

Spots

A collection of anchorage and waypoint data for cruising. Organized by region so you can plan passages and find reliable spots.

We've compiled GPX and related data from our own cruising to share with fellow sailors. Use these spots in your charting software or trip planning.

View on GitHub:

Spots on GitHub

GPX Creator

A Python GUI application to create GPX (GPS Exchange Format) files with a simple interface. Perfect for creating waypoints for your navigation systems.

The Problem:

When reading Local Notice to Mariners and passage planning, I found numerous waypoints and navigation points that I wanted to add to multiple charting applications. Manually entering coordinates into each application was time-consuming and error-prone. I needed a simple way to create GPX files that could be imported into any charting application, making it easy to share waypoints across different navigation systems.

Video Tutorial:

Watch a video demonstration of how to use GPX Creator:

Features:

  • User-friendly GUI built with tkinter
  • Input fields for time, waypoint (latitude/longitude), and name
  • Automatic bounds calculation from waypoint coordinates
  • Default symbol set to "WayPoint"
  • Generates GPX files matching standard format

Tested Navigation Software:

The generated GPX files have been successfully tested with the following navigation applications:

  • Orca (macOS)
  • Orca (iOS)
  • Boating (iOS)
  • AquaMap (iOS)

Requirements:

  • Python 3.6 or higher
  • tkinter (GUI library - usually included with Python)

Installation:

Download from GitHub:

Download GPX Creator

Installation Steps:

  1. Download or clone the repository from GitHub
  2. Ensure Python 3.6+ is installed on your system
  3. Verify tkinter is available (usually included with Python)

Usage:

Run the application:

python3 gpx_creator.py

Or on Windows:

python gpx_creator.py

Fill in the required fields:

  • Time: UTC timestamp (defaults to current time, click "Now" to update)
  • Waypoint: Latitude and longitude for the waypoint
  • Name: Name of the waypoint

Bounds are automatically calculated from the waypoint coordinates, and the symbol defaults to "WayPoint". Click "Create GPX File" to save your GPX file.

Platform-Specific Notes:

macOS: Python and tkinter are usually pre-installed. If not, install via Homebrew or download from python.org.

Windows: Download Python from python.org and ensure "Add Python to PATH" is checked during installation.

Linux: Install Python 3 and python3-tk via your package manager.

For detailed installation instructions and troubleshooting, visit the GPX Creator GitHub repository.

GPX Splitter

A standalone Python web application for splitting GPX track files. Split tracks by track tags or by time/distance criteria, visualize tracks on an interactive map, and download individual track files.

The Problem:

I often have large GPX track files that contain multiple routes or segments. I needed a way to break these down into individual GPX files that I could use as separate routes in my navigation software. Manually splitting large track files was tedious and time-consuming.

Features:

  • Split by Track Tags: Split a GPX file into separate files based on individual track tags
  • Split by Time/Distance: Split tracks based on maximum time gaps and distance thresholds
  • Interactive Map: Visualize tracks on a map using Leaflet.js with start/end markers
  • Track Statistics: View distance, duration, point count, and timestamps for each track
  • Download Individual Tracks: Download each split track as a separate GPX file
  • Edit Track Names: Click on track names to edit them inline
  • Place Name Lookup: Automatically looks up geographic place names for start and end coordinates
  • Editable Place Names: Edit place names for each track's start and end locations
  • Flexible Naming: Choose to use place names or coordinates in track names via checkboxes

Requirements:

  • Python 3.6 or higher
  • Flask (web framework)
  • Werkzeug (WSGI utilities)
  • requests (HTTP library for reverse geocoding)

Installation:

Download from GitHub:

Download GPX Splitter

Installation Steps:

  1. Download or clone the repository from GitHub
  2. Ensure Python 3.6+ is installed on your system
  3. Install dependencies: pip3 install -r requirements.txt (or pip install -r requirements.txt on Windows)

Usage:

Run the web application:

python3 app.py

Or on Windows:

python app.py

Once the server starts, open your web browser and navigate to:

http://localhost:5003

Then:

  • Upload a GPX file using the file upload area
  • Choose your splitting method (by track tags or by time/distance)
  • Click "Split GPX File"
  • View track statistics and visualize tracks on the interactive map
  • Edit track names and place names as needed
  • Download individual track files

Platform-Specific Notes:

macOS: Python is usually pre-installed. Install dependencies via pip3. If you encounter permission errors, use pip3 install --user -r requirements.txt.

Windows: Download Python from python.org and ensure "Add Python to PATH" is checked during installation. Use pip install -r requirements.txt or python -m pip install -r requirements.txt.

Linux: Install Python 3 and pip via your package manager. Use pip3 install -r requirements.txt or pip3 install --user -r requirements.txt for user-only installation.

For detailed installation instructions and troubleshooting, visit the GPX Splitter GitHub repository.