Modify

Opened 3 years ago

Closed 3 years ago

#20677 closed defect (fixed)

Wrong deviation circle size with .pos files

Reported by: StephaneP Owned by: Don-vip
Priority: normal Milestone: 21.07
Component: Core Version:
Keywords: template_report, RTKlib, Positioning Solution File, pos Cc:

Description

Hi!

What steps will reproduce the problem?

  1. Load the attached .pos file
  2. In tracks drawing options, choose Quality RTKLib and draw a circle from HDOP value

What is the expected result?

The circle radius should be the max of east and north deviation (sde, sdn)

What happens instead?

The circle radius is an unknown value, and when I convert the track to a data layer, the gpx:sde value is the vertical deviation value (gpx:sdu)

More informations on .pos file: #17829

Please provide any additional information below. Attach a screenshot if possible.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-03-18 08:29:22 +0100 (Thu, 18 Mar 2021)
Revision:17589
Build-Date:2021-03-18 13:40:05
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17589 en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 2009 (19042)
Memory Usage: 948 MB / 16384 MB (482 MB allocated, but free)
Java version: 14.0.1+7, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
Dataset consistency test: No problems found

Plugins:
+ Mapillary (1.5.37.3)
+ OpeningHoursEditor (35640)
+ PicLayer (2a9aa7a)
+ apache-commons (35524)
+ apache-http (35589)
+ areaselector (368)
+ austriaaddresshelper (1597341117)
+ cadastre-fr (35727)
+ continuosDownload (91)
+ contourmerge (v0.1.6)
+ ejml (35458)
+ geotools (35458)
+ javafx-windows (35655)
+ jaxb (35543)
+ jna (35662)
+ jts (35458)
+ log4j (35458)
+ opendata (35640)
+ photo_geotagging (35715)
+ photoadjust (35640)
+ reverter (35688)
+ tageditor (35640)
+ todo (30306)
+ turnlanes-tagging (288)
+ turnrestrictions (35640)
+ undelete (35640)
+ utilsplugin2 (35691)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
+ %UserProfile%\Documents\GitHub\MapCSS-JOSM-Bicycle\cycleway.mapcss

Last errors/warnings:
- 00043.607 E: Failed to locate image 'object--wire-group'
- 00043.695 E: Failed to locate image 'regulatory--dual-lanes-cyclists-and-pedestrians--g1'
- 00044.286 E: Failed to locate image 'regulatory--texts--g1'
- 00044.288 E: Failed to locate image 'regulatory--texts--g2'
- 00044.407 E: Failed to locate image 'void--car-mount'
- 00044.408 E: Failed to locate image 'void--dynamic'
- 00044.409 E: Failed to locate image 'void--ego-vehicle'
- 00044.410 E: Failed to locate image 'void--ground'
- 00044.412 E: Failed to locate image 'void--static'
- 00044.552 E: Failed to locate image 'warning--kangaroo-crossing--g1'

Attachments (1)

pos_bug.pos (431 bytes ) - added by StephaneP 3 years ago.

Download all attachments as: .zip

Change History (5)

by StephaneP, 3 years ago

Attachment: pos_bug.pos added

comment:1 by Don-vip, 3 years ago

Owner: changed from Don-vip to team
Status: assignednew

comment:2 by simon04, 3 years ago

HDOP already should be computed as Math.sqrt(sdn*sdn + sde*sde), but due to a typo in the code (?) it is simply Math.sqrt(2*sdn*sdn) – Source: https://github.com/openstreetmap/josm/blob/c8c8d9fdb921fb17f325dbbde715d29b98f22c3c/src/org/openstreetmap/josm/io/rtklib/RtkLibPosReader.java#L106


@Vincent, I think there are two typos in the parsing code:

  • src/org/openstreetmap/josm/io/rtklib/RtkLibPosReader.java

    diff --git a/src/org/openstreetmap/josm/io/rtklib/RtkLibPosReader.java b/src/org/openstreetmap/josm/io/rtklib/RtkLibPosReader.java
    index a3ad693f9..907b855bd 100644
    a b public class RtkLibPosReader implements IGpxReader {  
    9595                            currentwp.put(GpxConstants.PT_SAT, fields[IDX_NS]);
    9696                            currentwp.put(GpxConstants.RTKLIB_SDN, fields[IDX_SDN]);
    9797                            currentwp.put(GpxConstants.RTKLIB_SDE, fields[IDX_SDE]);
    98                             currentwp.put(GpxConstants.RTKLIB_SDE, fields[IDX_SDU]);
     98                            currentwp.put(GpxConstants.RTKLIB_SDU, fields[IDX_SDU]);
    9999                            currentwp.put(GpxConstants.RTKLIB_SDNE, fields[IDX_SDNE]);
    100100                            currentwp.put(GpxConstants.RTKLIB_SDEU, fields[IDX_SDEU]);
    101101                            currentwp.put(GpxConstants.RTKLIB_SDUN, fields[IDX_SDUN]);
    102102                            currentwp.put(GpxConstants.RTKLIB_AGE, fields[IDX_AGE]);
    103103                            currentwp.put(GpxConstants.RTKLIB_RATIO, fields[IDX_RATIO]);
    104104                            double sdn = Double.parseDouble(fields[IDX_SDN]);
    105                             double sde = Double.parseDouble(fields[IDX_SDN]);
     105                            double sde = Double.parseDouble(fields[IDX_SDE]);
    106106                            currentwp.put(GpxConstants.PT_HDOP, (float) Math.sqrt(sdn*sdn + sde*sde));
    107107                            waypoints.add(currentwp);
    108108                            success++;

comment:3 by Don-vip, 3 years ago

Milestone: 21.07
Owner: changed from team to Don-vip
Status: newassigned

comment:4 by Don-vip, 3 years ago

Resolution: fixed
Status: assignedclosed

In 18048/josm:

fix #20677 - fix wrong parsing of RTKLIB .pos files

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Don-vip.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.