Skip to main content

Welcome to gpx-kml-converter

Github CI Status GitHub release Read the Docs License GitHub issues PyPI

Welcome to the GPX KML Converter application, a versatile tool designed for processing geographical data files (GPX and KML). The application offers both an intuitive Graphical User Interface (GUI) and a robust command line interface for various file manipulation tasks.

Installation

Download from PyPI.

💾 For more installation options see install.

pip install gpx-kml-converter

Run GUI from command line

gpx-kml-converter-gui

Run CLI from command line

gpx-kml-converter --help

2. Main Features 🚀

2.1. Graphical User Interface (GUI) 🖥️

The application features a comprehensive GUI that simplifies the process of managing and processing your geographical data.

  • Dual File Lists: The GUI presents two distinct listboxes:

    • Input Files: Displays the files selected by the user for processing. 📁

    • Generated Files: Shows the output files produced after a successful processing operation. 📊

  • File Information at a Glance: Both listboxes display not only the file names but also their respective file sizes in kilobytes, providing immediate feedback on file changes (e.g., after compression). 📏

  • Interactive File Access: Files listed in both the input and generated file sections are clickable. Double-clicking a file will open it using your operating system's default application or launch the file explorer with the file selected. 🖱️📂

  • Integrated Logging: A dedicated log output area provides real-time feedback on application operations, warnings, and errors. Directory paths mentioned in the logs are clickable, allowing direct navigation to the output folders. 📝🔗

2.2. GPX/KML File Processing Capabilities 🗺️

The core strength of the application lies in its ability to handle GPX and KML files with several powerful processing modes:

  • Compression: Reduce the size of your track files by optimizing the number of track points and cleaning unnecessary metadata. 📉

  • Merging: Combine multiple GPX/KML files into a single, consolidated GPX file, ideal for creating continuous routes from fragmented data. ➕

  • POI Extraction: Automatically identify and extract the starting points of tracks and routes from your files, saving them as Waypoints (Points of Interest) in a new GPX file. 📍

3. Detailed Features 🔍

3.1. File Management 🗃️

  • Adding Input Files: Use the "Open Files" button or the "File -> Open..." menu option to select one or multiple GPX, KML, or even ZIP archives containing GPX/KML files. The application intelligently extracts and lists valid geographical data files. ➕📂

  • Removing Input Files:

    • "Remove Selected" Button: Select one or more files in the "Input Files" listbox and click this button to remove them from the processing queue. 🗑️

    • "Clear Input Files" Button: Remove all files from the "Input Files" list. 🧹

  • Clearing Generated Files: The "Clear Generated Files" button allows you to empty the output list, useful for managing the display after multiple processing runs. ✨

3.2. Processing Logic 🧠

  • Selective Processing: If you have selected specific files in the "Input Files" list, only those files will be processed when a "Compress," "Merge," or "Extract POIs" operation is initiated. If no files are selected, the application will process all files currently in the input list. ✅

  • Output Directory Management: Generated files are saved into a new directory, automatically named with a timestamp (e.g., gpx_processed_YYYY-MM-DD_HHMMSS), ensuring clean organization of your outputs. This directory path is explicitly logged and made clickable. 📁📅

3.3. Data Optimization ⚙️

The underlying processing engine includes sophisticated optimization techniques:

  • Douglas–Peucker Simplification: Compression and merging simplify each track segment with a configurable tolerance in meters (10 m by default), preserving segment boundaries and endpoints while limiting the geometric deviation. 🤏

  • Metadata Cleaning: Compression strips irrelevant metadata (e.g., time, extensions, comments, descriptions, symbols) from points, tracks, and routes to further reduce file size; merging preserves descriptions. 🧼

  • Elevation Adjustment:

    • The application attempts to integrate SRTM (Shuttle Radar Topography Mission) elevation data to correct or enhance elevation values in your tracks and waypoints. ⛰️

    • If SRTM data cannot be initialized (e.g., due to network issues or library unavailability), the application gracefully falls back to using the original elevation data present in the GPX/KML files or defaults to zero, ensuring continued functionality. Warnings are logged if SRTM is unavailable. ⚠️

3.4. Logging and Configuration 🚦

  • Real-time Logging: The "Log Output" pane provides detailed information about every operation, helping you monitor progress and troubleshoot issues. 🪵

  • Configurable Log Level: Adjust the verbosity of the log output (DEBUG, INFO, WARNING, ERROR, CRITICAL) directly from the GUI, allowing you to control the level of detail displayed. 🎚️

  • Settings Dialog: Access a comprehensive settings dialog from the "Options -> Settings" menu. Here, you can configure various application parameters, including the simplification tolerance, date formats, and other internal settings. Changes made here are saved to config.yaml for persistence across sessions. 🔧💾

4. Usage ▶️

To run the GUI application, execute the following command in your project's root directory:

Run with CLI from source

python -m gpx_kml_converter [OPTIONS] path/to/file.gpx path/to/file.kml

Run with GUI from source

python -m gpx_kml_converter.gui

Once the GUI is launched, you can:

  1. Open Files: Click "Open Files" to add GPX/KML files to the input list. ➕📁

  2. Select Files (Optional): Click on files in the input list to select them for specific processing. If no files are selected, all loaded input files will be processed. ✅

  3. Choose a Processing Mode: Click one of the processing buttons ("Compress," "Merge," "Extract POIs") to start the operation. ▶️

  4. Monitor Progress: Observe the log output and the progress bar. ⏳

  5. View Results: Check the "Generated Files" list for your processed outputs. Double-click an output file to open it or navigate to its containing directory. 🌟

Metadata

Release files for gpx-kml-converter 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gpx-kml-converter 1.1.2
File Size Uploaded
gpx_kml_converter-1.1.2.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gpx-kml-converter 1.1.2
File Interpreter ABI Platform
gpx_kml_converter-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / gpx_kml_converter-1.1.2.tar.gz

Download URL gpx_kml_converter-1.1.2.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
65e6233518becbbfd1ef87a1d94229566c65f9f6b377190a9c00c6b200cc070a
BLAKE2b-256 checksum
How to use checksums
83bfb8caf4884cc24f7a63ddf20d2aea3bb695f29e7f8d448f973bafbfd412ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / gpx_kml_converter-1.1.2-py3-none-any.whl

Download URL gpx_kml_converter-1.1.2-py3-none-any.whl
Size 40.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42742b0b9894b93c909d0909ac54127d23450aefc20206e328dfc88c4d9701cb
BLAKE2b-256 checksum
How to use checksums
4370ed1fa45468ddaac1ce7cfb067700876015ecbac96e27fe40ad8f3a172156
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.3

2 release files

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page