Skip to content

FEATURE: Add Raymarine GPX depth importer - #92

Open
Krillle wants to merge 1 commit into
openwatersio:mainfrom
Krillle:main
Open

FEATURE: Add Raymarine GPX depth importer#92
Krillle wants to merge 1 commit into
openwatersio:mainfrom
Krillle:main

Conversation

@Krillle

@Krillle Krillle commented Jul 16, 2026

Copy link
Copy Markdown

Summary

Adds a CLI importer for Raymarine GPX tracks containing depth measurements.

Changes

  • Parses Raymarine WaterDepth extensions namespace-independently
  • Validates coordinates, depths, XML, and timestamps
  • Requires --started-at and --interval when GPX timestamps are missing
  • Requires an explicit depth reference and converts measurements to waterline reference
  • Reuses the existing bathymetry types, GeoJSON generation, metadata, identity, and upload reporter
  • Defaults to preview mode; uploads only with explicit --upload
  • Supports local GeoJSON output, distance deduplication, and point limits
  • Prevents duplicate uploads with a local hash-based import ledger
  • Ignores WaterTemp for now
  • Adds fixtures, tests, CLI registration, and documentation

Example

npm run crowd-depth-import -- ./track.gpx \
  --depth-reference belowTransducer \
  --transducer-depth 0.45 \
  --started-at 2025-07-12T08:30:00+02:00 \
  --interval 1s \
  --dry-run \
  --out ./track.geojson

Notes

Imported GPX data is not written to the plugin’s SQLite database. Preview data remains local; with --upload, it is submitted directly through the existing API path.

No tidal or vertical-datum correction is applied. Missing heading is supported, so sensor-position correction is skipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant