Modify

Opened 14 months ago

Closed 2 months ago

#20601 closed enhancement (duplicate)

Customise GPX track drawing by Fix

Reported by: pyrog Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: gpx color Cc:

Description

Colouring a GPX track by fix type would be great feature too 😀
See ticket #20600

Example track exported by JOSM from a NMEA track:

      <trkpt lat="45.55609628" lon="5.951905333333333">
        <ele>289.268</ele>
        <time>2000-01-01T16:50:25Z</time>
        <fix>rtk</fix>
        <sat>12</sat>
        <hdop>0.91</hdop>
      </trkpt>

Source: https://www.topografix.com/GPX/1/1/gpx.xsd

<!--  Accuracy info  -->
<xsd:element name="fix" type="fixType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Type of GPX fix.</xsd:documentation>
</xsd:annotation>
</xsd:element>


<xsd:simpleType name="fixType">
<xsd:annotation>
<xsd:documentation>
Type of GPS fix. none means GPS had no fix. To signify "the fix info is unknown, leave out fixType entirely. pps = military signal used
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="none"/>
<xsd:enumeration value="2d"/>
<xsd:enumeration value="3d"/>
<xsd:enumeration value="dgps"/>
<xsd:enumeration value="pps"/>
</xsd:restriction>
</xsd:simpleType>

Attachments (1)

Chambéry - Grenoble.gpx (997.0 KB) - added by pyrog 14 months ago.

Download all attachments as: .zip

Change History (6)

Changed 14 months ago by pyrog

Attachment: Chambéry - Grenoble.gpx added

comment:1 Changed 14 months ago by Don-vip

Keywords: gpx color added

comment:2 Changed 14 months ago by StephaneP

If we follow the gpx documentation, and contrary to .pos and .nmea files there is no value for float and fix. A good solution would be to create a private extension inside the gpx, so we could store all the value we could find in a .pos file.

comment:3 Changed 14 months ago by simon04

Related/duplicate: #13484?

comment:4 Changed 2 months ago by grinapo

I am not sure which bug to pick from this and #21810, #21007, #20600 or #13484, all of them covering the same problem, like this one.

Right now NMEA is parsed in detail, but the result is a (simulated) GPX which has no FIX info, the HDOP unfortunately isn't strongly correlating with the preceived precision rendering the fix/precision info basically lost.

The suggestion was to convert the GPX created from NMEA to a DataLayer then use MapCSS styles to color it: it does not work since inactive data layers cannot have MapCSS style (indeed, it would be nice to have it, probably it's for another ticket), and they become gray and thus generally unuseable. Also conversion is messy and require considerable resources.

GPX already have its coloring/style dialog, but it is very simple. Since fix isn't easily equal to a given precision there is no predefined way to, say, convert it into HDOP circles. A table with fix values and connecting node shape/size/color would be neat (probably would be a better place in the JOSM settings).

There would be a temporary but easy to implement fix: convert fix type into RtkLib quality number, like

  • rtk=6
  • float rtk=5
  • dgps=4
  • 3d=3
  • 2d=2
  • all the rest=1

which would make it possible to color them right away. The data is there and parsed.

It would be even neater to be able to MapCSS the GPX tracks, without converting them into DataLayer, but I am not sure how unholy this suggestion would be.

So, summarized, working with high precision GPS would be nice if the tracks weren't all gray (so converting into DataLayer isn't an option unless we can color inactive layers), and gpx node symbols/size/color could reflect fix quality. Right now there is no way to achieve that.

comment:5 Changed 2 months ago by Bjoeni

Resolution: duplicate
Status: newclosed

Closed as duplicate of #20600.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.