Investigate GPSBabel integration for import/export (GDB support and Garmin device-recognition fixes)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
This is an investigation into wrapping the GPSBabel CLI as a subprocess for importing GDB files, so start with the existing GPX/LOC importer and check whether it can accept a converted GPX file unchanged. Confirm how the subprocess call, installation detection and missing-tool message would fit the current import flow. Done means a written recommendation on the approach, plus a decision on whether the optional export path is in scope, agreed in the comment thread.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Current State
OpenSAK has its own native GPX/GGZ import and export implementation, covering two distinct areas:
Export: Garmin device-recognition issues (caches showing as plain waypoints instead of geocaches) were tracked in #656 and are now fully fixed in stable v1.16.0 — GPX format now matches GSAK's exactly (GPX 1.0, correct namespace/element order), and previously missing attributes/description/full log history are now exported correctly across GPSMAP 64s/66s/66sr and Montana 700.
Import: OpenSAK still cannot import GDB files (Garmin's legacy binary database format) or other formats GSAK supports, since we only parse GPX/LOC ourselves.
GSAK avoids reimplementing format-specific logic by shelling out to GPSBabel (gpsbabel.org, GPL-licensed CLI tool) for both import and export.
Proposed Improvement
Add optional GPSBabel integration:
Import (primary motivation): support GDB and potentially other legacy/proprietary formats by converting to GPX via GPSBabel as a pre-processing step, then feeding the result into our existing GPX importer unchanged. GDB in particular is a poorly-documented binary format — GPSBabel already carries years of reverse-engineered edge-case handling for it that would be costly to redo ourselves.
Export (secondary/optional): since our native export now matches GSAK's format and passes device-recognition testing across multiple models (#656), a GPSBabel export path is no longer needed as a bug fix. It could still be offered as an alternative path for any device/firmware combination that turns out to be pickier than what we've tested — worth keeping in scope but not the priority.
Implementation approach: call gpsbabel as a subprocess (not linked against its code — same GPL-compatible model GSAK and tools like ffmpeg-wrappers use). Detect whether GPSBabel is installed on the system and show a clear message/instructions if not, rather than bundling the ~3 platform binaries in our PyInstaller builds from day one.
Expected Benefits
Opens up GDB and other legacy/proprietary format imports "for free"
Low implementation complexity (one subprocess wrapper + format detection) for a meaningful format coverage gain
Optional safety net for export edge cases beyond what #656 already tested and fixed
References
#656 (Garmin GPX export not recognized — closed/fixed in v1.16.0)
Forum feedback on geocaching.com (GDB support request, referencing prior GDB/WinGDB3 reverse-engineering experience)
- Lenguaje dominante
- Python
- Estrellas
- 37
- Forks
- 17
- Merge medio
- 16 h 7 min
- PR fusionados (30 d)
- 128
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenSAK-Org/OpenSAK
-
Make it clear that the Windows ZIP download is portable (no installer, not in Apps & Features)Abiertoarea: documentation documentation good first issue OS: windows
Dificultad 2/5 Medio día Aptitud para principiantes 78/100
OpenSAK-Org/OpenSAK#1289 ·
Los mantenedores suelen responder en 1 día
-
area: geo-data improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
OpenSAK-Org/OpenSAK#1285 ·
Los mantenedores suelen responder en 1 día
-
area: geo-data good first issue improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
OpenSAK-Org/OpenSAK#789 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area: UI improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
OpenSAK-Org/OpenSAK#729 ·
Los mantenedores suelen responder en 1 día
-
area: import improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OpenSAK-Org/OpenSAK#648 ·
Los mantenedores suelen responder en 1 día
Todos los issues de OpenSAK-Org/OpenSAK
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
navikt/tiltakspenger#129 ·
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
FinanceFlash/unvibecode#652 ·
Los mantenedores suelen responder en 1 día
-
netbox status: needs triage type: documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
netbox-community/netbox#23655 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
MCDReforged/MCDReforged#442 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bytedance/agentkit-samples#277 ·