GPSBabel / gpsbabel

GPSBabel: convert, manipulate, and transfer data from GPS programs or GPS receivers. Open Source and supported on MacOS, Windows, Linux, and more. Pointy clicky GUI or a command line version...
https://www.gpsbabel.org
GNU General Public License v2.0
452 stars 125 forks source link

bring back See You support #1280

Open tsteven4 opened 2 months ago

tsteven4 commented 2 months ago

OK, I will bite on this one. cup is a style based format which requires minimal support. Just as that came out of my mouth the cup documentation bit me on the docbook 4 -> 5 conversion we did some time ago, nothing is free.

What we never had was any testing of the cup format. @Plantain can you supply some small files representative of this format and verify the results of a conversion to and from that format? If so perhaps we can bring this one back.

codacy-production[bot] commented 2 months ago

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
:white_check_mark: +0.01% :white_check_mark:
Coverage variation details | | Coverable lines | Covered lines | Coverage | | ------------- | ------------- | ------------- | ------------- | | Common ancestor commit (15d3d22d85faf595e4ae05e34dc6b598c6637277) | 27614 | 17205 | 62.31% | | | Head commit (91282f885c4e1efed3e99ea571181b56df4f253a) | 55237 (+27623) | 34419 (+17214) | 62.31% (**+0.01%**) | **Coverage variation** is the difference between the coverage for the head and common ancestor commits of the pull request branch: ` - `
Diff coverage details | | Coverable lines | Covered lines | Diff coverage | | ------------- | ------------- | ------------- | ------------- | | Pull request (#1280) | 0 | 0 | **∅ (not applicable)** | **Diff coverage** is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: `/ * 100%`

See your quality gate settings    Change summary preferences

Codacy will stop sending the deprecated coverage status from June 5th, 2024. Learn more

tsteven4 commented 2 months ago

I also note these files were deleted, not moved to deprecated, so I had to resurrect this from git.

tsteven4 commented 2 months ago

@Plantain I will also point out that with style based formats like cup, you can very likely use a version of gpsbabel that had this format deleted if you have the style file (cup.style) e.g. gpsbabel -i xcsv,style=/path/to/cup.style -f cupfile -o gpx -F gpxfile

PacketFiend commented 2 months ago

I might be able to get my hands on some SeeYou files, it's used by many glider pilots. I don't use it myself but I can certainly ask around.

Plantain commented 2 months ago

Can do - the spec was historically vague and later tidied up so there's a lot of pseudo-compliant files out there, would you like only strictly valid files or dubious ones too?

On Thu, 16 May 2024, 11:35 pm tsteven4, @.***> wrote:

OK, I will bite on this one. cup is a style based format which requires minimal support. Just as that came out of my mouth the cup documentation bit me on the docbook 4 -> 5 conversion we did some time ago, nothing is free.

What we never had was any testing of the cup format. @Plantain https://github.com/Plantain can you supply some small files representative of this format and verify the results of a conversion to and from that format? If so perhaps we can bring this one back.

You can view, comment on, or merge this pull request online at:

https://github.com/GPSBabel/gpsbabel/pull/1280 Commit Summary

File Changes

(8 files https://github.com/GPSBabel/gpsbabel/pull/1280/files)

Patch Links:

— Reply to this email directly, view it on GitHub https://github.com/GPSBabel/gpsbabel/pull/1280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACODF35NO4QUXXS2ZY3IQTZCURDVAVCNFSM6AAAAABH3AANVGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYDCMZYHE2TIMA . You are receiving this because you were mentioned.Message ID: @.***>

Plantain commented 2 months ago

CUP files collected just from my computer, not guaranteed to be technically valid, but all "real" files being actually used. cup.tgz Spec: https://downloads.naviter.com/docs/SeeYou_CUP_file_format.pdf

CUPX files (an extended format of cup, suspect this was not previously supported and not necessarily proposing it needs to be - https://downloads.naviter.com/docs/SeeYou_CUPX_file_format.pdf ): cupx.tgz

Plantain commented 2 months ago

For the strictest validation, there is a python library aerofiles that checks very rigidly (https://aerofiles.readthedocs.io/en/latest/api/seeyou.html)

For more 'general-purpose' validation, I can manually test files across broadly used software (SeeYou Desktop/Cloud/Navigator, and various other devices)

tsteven4 commented 2 months ago

Our support for seeyou assumes a few things that are not guaranteed by the latest cup format spec I could find. https://github.com/naviter/seeyou_file_formats/blob/main/CUP_file_format.md i) we assume a fixed order of the columns. specifically: name,code,country,lat,lon,elev,style,rwdir,rwlen,freq,desc ii) we assume elevation is designated by m for meters. we do not support ft for feet. We read the following fields: code, lat, lon, elev, desc.

These assumptions allow us to use our generic xscv format with a style file to designate the fields. With this approach we don't have to write any c++ code, just the style file (cup.style). If you have been happy with the support for seeyou that gpsbabel has offered in the past which had these assumptions then we can go ahead. Alternatively, if you desire support that allows for the variability allowed in the latest spec then a custom format would be required. This would be much more work to develop and maintain, and I am not willing to volunteer for that. My willingness to bring this format back is predicated on being able to support it with a style file as we have always done.

Plantain commented 2 months ago

As it was worked well for many people. I think the only reason no one else noticed yet is distros stable releases lagging behind.

On Fri, May 17, 2024 at 4:17 PM tsteven4 @.***> wrote:

Our support for seeyou assumes a few things that are not guaranteed by the latest cup format spec I could find. https://github.com/naviter/seeyou_file_formats/blob/main/CUP_file_format.md i) we assume a fixed order of the columns. specifically: name,code,country,lat,lon,elev,style,rwdir,rwlen,freq,desc ii) we assume elevation is designated by m for meters. we do not support ft for feet. We read the following fields: code, lat, lon, elev, desc.

These assumptions allow us to use our generic xscv format with a style file to designate the fields. With this approach we don't have to write any c++ code, just the style file (cup.style). If you have been happy with the support for seeyou that gpsbabel has offered in the past which had these assumptions then we can go ahead. Alternatively, if you desire support that allows for the variability allowed in the latest spec then a custom format would be required. This would be much more work to develop and maintain, and I am not willing to volunteer for that. My willingness to bring this format back is predicated on being able to support it with a style file as we have always done.

— Reply to this email directly, view it on GitHub https://github.com/GPSBabel/gpsbabel/pull/1280#issuecomment-2117713711, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACODFZGVBYG3KCVHZNGKVTZCYGPZAVCNFSM6AAAAABH3AANVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJXG4YTGNZRGE . You are receiving this because you were mentioned.Message ID: @.***>