Intro

I'm doing first steps to create high precision GNSS tracks with a u-blox ZED-F9P multiband receiver. Currently I use gpspipe (from gpsd). Here is an example of real NMEA track:

{"class":"VERSION","release":"3.20","rev":"3.20","proto_major":3,"proto_minor":14} {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyACM0","driver":"u-blox","subtype":"SW EXT CORE 1.00 (f10c36),HW 00190000","subtype1":",ROM BASE 0x118B2060,FWVER=HPG 1.13,PROTVER=27.12,MOD=ZED-F9P,GPS;GLO;GAL;BDS,SBAS;QZSS","activated":"2021-04-01T11:50:12.016Z","flags":1,"native":1,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00,"mincycle":0.25}]} {"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false} $GPZDA,115012.00,01,04,2021,00,00*64 $GPGGA,115012.00,5103.5795,N,01703.3372,E,2,25,0.55,126.10,M,17.230,M,,*64 $GPRMC,115012.00,A,5103.5795,N,01703.3372,E,13.6069,164.911,010421,-4.8,W*63 $GPGSA,A,3,2,6,12,24,25,29,32,,,,,,1.0,0.6,0.9*30 $GPGBS,115012.00,25.105,44.195,0.968,,,,*4E $GPZDA,115013.00,01,04,2021,00,00*65 $GPGGA,115013.00,5103.5760,N,01703.3387,E,2,25,0.55,126.08,M,17.230,M,,*6C $GPRMC,115013.00,A,5103.5760,N,01703.3387,E,13.1715,164.703,010421,-4.8,W*64 $GPGSA,A,3,2,6,12,24,25,29,32,,,,,,1.0,0.6,0.9*30 $GPGBS,115013.00,25.105,44.195,0.967,,,,*40 $GPZDA,115014.00,01,04,2021,00,00*62 $GPGGA,115014.00,5103.5725,N,01703.3402,E,2,25,0.51,126.04,M,17.230,M,,*68 $GPRMC,115014.00,A,5103.5725,N,01703.3402,E,12.8877,165.760,010421,-4.8,W*6F

Then I filter points by minimal HDOP and by number of satellites and save file in GPX format: gpsbabel -t -i nmea -f gpspipe_2021-04-01.nmea -x discard,hdop=2 -x discard,sat=12 -o gpx -F gpspipe_2021-04-01_hdop2_sat12.gpx

Task

I want to remove some "noise" in the radius of 100 meters from my start point. I tried such command: gpsbabel -t -i gpx -f gpspipe_2021-04-01_hdop2_sat12.gpx -x radius,distance=0.1K,lat=51.XXXX,lon=17.XXXX,nosort,exclude -o gpx -F gpspipe_2021-04-01_filtered.gpx

Problem

But this command doesn't filter anything.

As I understand, I have to use this chain of filters:

gpsbabel -i gpx -f in.gpx \ -x transform,wpt=trk,del \ -x radius,distance=1.1K,lat=40.01,lon=10.001,nosort,exclude \ -x transform,trk=wpt,del \ -o gpx -F out.gpx

But this creates a lot of useless information for almost every trackpoint:

<name>WPT612</name> <cmt>WPT612</cmt> <desc>WPT612</desc>

Of course I can remove them by sed or some other tools.

Question

Maybe there is a better way to filter out trackpoints and do not lose information and do not generate useless tags?

asked 03 Apr, 13:45

Vazhnov%20Alexey's gravatar image

Vazhnov Alexey
2115
accept rate: 0%

edited 03 Apr, 16:38

No solution with current GPSBabel code: https://github.com/gpsbabel/gpsbabel/issues/378

(03 Apr, 18:19) Vazhnov Alexey

Temporary solution:

sed -i -E -- '/\<name\>|\<cmt\>|\<desc\>/d' gpspipe_2021-04-01_filtered.gpx

permanent link

answered 03 Apr, 22:42

Vazhnov%20Alexey's gravatar image

Vazhnov Alexey
2115
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×7
×3
×2
×1

question asked: 03 Apr, 13:45

question was seen: 160 times

last updated: 03 Apr, 22:42

powered by OSQA