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-cli --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:

  • min_dist Parameter: During compression and merging, the application uses a configurable minimum distance parameter (min_dist). Track points closer than this distance are removed, reducing file size without significant loss of detail. 🤏

  • Metadata Cleaning: Irrelevant metadata (e.g., time, extensions, comments, descriptions, symbols) is stripped from points, tracks, and routes to further reduce file size and declutter the data. 🧼

  • 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 min_dist, 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.cli [OPTIONS] path/to/file

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.0.6

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.0.6
File Size Uploaded
gpx_kml_converter-1.0.6.tar.gz 1.3 MB Details

Built distribution (wheel)

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

Total release size: 1.3 MB

Release files / gpx_kml_converter-1.0.6.tar.gz

Download URL gpx_kml_converter-1.0.6.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ef7f3b97d5a2baa852db773a705500ee32c2668cf54efee8e4b06eefa306b509
BLAKE2b-256 checksum
How to use checksums
5806d51f66d584f1925aba86a1e838124404a70bf6b49106d4ec08d7341ed72d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

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

Download URL gpx_kml_converter-1.0.6-py3-none-any.whl
Size 39.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a94771a128ded8f6af903302e1d95de321a0dcfcd0ac5fe345010223993d7c95
BLAKE2b-256 checksum
How to use checksums
6cfac7d88ce588be1c53747fb719cd896a20a62f698cdd443ee84731c8c90150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.3

2 release files

1.1.2

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

This release

1.0.6 This release

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