3

I'm using a tracking system that exports positions as NMEA strings output by a single COM port. Each string has a unique identifier ("001", "002", "003") that represents each of the three items I am tracking. The NMEA strings are output via single COM port.

I can add this COM port to QGIS using the GPS Information panel, but it seems I can only view the position of one item at a time, is there a way I can view all three?

So here is a sample of the NMEA Strings being put out by my tracking system (it's a Micro-Ranger 2 made by Sonardyne):

$GPGGA,143254.112,5246.76462,N,00407.63889,W,0,00,0.9,0.000,M,0.0,M,0.0,0000*54 
$GPGGA,143254.249,5246.75438,N,00407.64097,W,2,00,2.0,-7.595,M,0.0,M,0.0,0001*7E 
$GPGGA,143255.096,5246.76464,N,00407.63887,W,0,00,0.9,0.000,M,0.0,M,0.0,0000*50 
$GPGGA,143255.006,5246.75449,N,00407.64144,W,2,00,2.3,-8.845,M,0.0,M,0.0,0002*70 
$GPGGA,143256.104,5246.76467,N,00407.63886,W,0,00,0.9,0.000,M,0.0,M,0.0,0000*5B – 

The part of the string that has the unique identifier is the four characters before the * symbol (0000, 0001, 0002). At the moment, I'm only tracking one item at a time, but using the software from Sonardyne I can track as many things as I want, but I can only track one in QGIS using the GPS Information Panel. I'd really like to be able to track more than one item as they represent scuba divers on the seabed so tracking each diver would be much better than one diver at a time!

Spacedman
  • 63,755
  • 5
  • 81
  • 115
Phoebe
  • 317
  • 2
  • 13
  • 1
    I don't know anything about QGIS, but I suggest that giving samples of the NMEA sentence (maybe one sample NMEA sentence for each item) would make it easier for people to answer. – Trams Sep 13 '21 at 01:41
  • 1
    Which NMEA words are we talking about?http://aprs.gids.nl/nmea/ Where's the ID of the tracked identifier within the NMEA message? Is this tracking system something we could look up, or is it homegrown? Who made it? All this info will be very useful if there's some custom QGIS programming needed, which would seem to be the case... – Spacedman Sep 13 '21 at 11:50
  • Please provide more details, in particular it would be helpful if you wrote an example string and a more detailed description about how you visualize/save the data (how do you choose which "identifier" you are seing?). – RafDouglas C. Tommasi Sep 13 '21 at 12:25
  • So here is a sample of the NMEA Strings being put out by my tracking system (it's a Micro-Ranger 2 made by Sonardyne): $GPGGA,143254.112,5246.76462,N,00407.63889,W,0,00,0.9,0.000,M,0.0,M,0.0,000054 $GPGGA,143254.249,5246.75438,N,00407.64097,W,2,00,2.0,-7.595,M,0.0,M,0.0,00017E $GPGGA,143255.096,5246.76464,N,00407.63887,W,0,00,0.9,0.000,M,0.0,M,0.0,000050 $GPGGA,143255.006,5246.75449,N,00407.64144,W,2,00,2.3,-8.845,M,0.0,M,0.0,000270 $GPGGA,143256.104,5246.76467,N,00407.63886,W,0,00,0.9,0.000,M,0.0,M,0.0,0000*5B – Phoebe Sep 14 '21 at 14:38
  • The part of the string that has the unique identifier is the four characters before the * symbol (0000, 0001, 0002). At the moment, I'm only tracking one item at a time, but using the software from Sonardyne I can track as many things as I want, but I can only track one in QGIS using the GPS Information Panel. I'd really like to be able to track more than one item as they represent scuba divers on the seabed so tracking each diver would be much better than one diver at a time! – Phoebe Sep 14 '21 at 14:43
  • Technically those sentences are no longer standard NMEA since they have non-standard parameters added, so I would not expect any standard applications to be able to sort out your 3 rovers. Have you asked Sonardyne what applications they suggest? From a custom programming POV, it would be easy to split the stream of NMEA into 3 separate streams, but then you'd need an application which accepted 3 position streams. Interesting project. – Trams Sep 14 '21 at 22:56
  • Ah okay, thank you! Sonardyne suggest using EIVA which is considerably out of our budget, it also doesn't do everything else we'd want it to from a post-processing perspective. Would a tool to accept 3 position streams be something that could feasibly be created for QGIS with some custom programming? The project is for marine archaeological investigations (proper funded research, not treasure hunting!!). – Phoebe Sep 15 '21 at 09:11
  • Would using Linux an option for you? if so, I could have a suggestion or two, but on Windows I wouldn't know. Also, how are these fields pulled in into QGIS? can you please add a screenshot of the table associated with the layer / list of fields? – RafDouglas C. Tommasi Sep 15 '21 at 14:04
  • It's not the operating system as it's a limitation of the program (QGIS).. essentially I'm using the GPS Information panel in QGIS to connect to a virtual COM Port that my other program that is creating the NMEA strings (Ranger2). The issue I'm having is that I can only get QGIS to pick up the data as one string- there is no way currently for me to split the strings using their uIDs, and there is also no way for me to get QGIS to accept more than one NMEA string. – Phoebe Sep 15 '21 at 18:29
  • I see, that's what I understood, and on Linux I would use a script (in awk maybe, or even in sed) to listen to the serial port via socat, filter/mangle/edit the data, and pipe it to a virtual serial. QGIS could then read from that virtual serial and think there is a standard GPS, but the data would be actually formatted/filtered as you need. – RafDouglas C. Tommasi Sep 15 '21 at 20:12
  • Linux is not really an option for us unfortunately! – Phoebe Sep 20 '21 at 08:42
  • 1
    I think maybe a QGIS plugin with specific python package like pypi.org/project/pynmeagps to catch NMEA flows and create on the fly points in QGIS, or a triple multipoint for this case (or 3 different GPS layers), or just begin with a QgsGpsConnection class to see the data received. – J. Monticolo Oct 05 '21 at 09:54

0 Answers0