Welcome to gpx-kml-converter#
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_distParameter: 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 toconfig.yamlfor 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:
-
Open Files: Click "Open Files" to add GPX/KML files to the input list. βπ
-
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. β
-
Choose a Processing Mode: Click one of the processing buttons ("Compress," "Merge," "Extract POIs") to start the operation. βΆοΈ
-
Monitor Progress: Observe the log output and the progress bar. β³
-
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. π ```