[Qgis-user] Labelling expressions: how to select the 'last' row in a csv dataset

Brent Wood pcreso at pcreso.com
Mon Mar 10 21:35:38 PDT 2014


Hi Gavin,

Can you have the row written to two files concurrently? One as an append & one overwrite.
Both watched in QGIS & have the overwrite as the upper layer on the map with a different symbol, thus overwriting the trackline point in the append csv file.

Not as elegant as an SQL solution, but csv's are not really reknowned for their elegance in data management :-)


I haven't really thought this through, but you might try using a named pipe (see mkfifo on Linux, Windows has something along these lines too), & run "tail -n 1 -f myfile.csv" into the named pipe, then open this in QGIS. This is such a horrible solution it's almost certain not to work, but you never know :-) 



Cheers,

   Brent


________________________________
 From: Gavin Macaulay <gavin at macaulay.co.nz>
To: qgis-user at lists.osgeo.org 
Sent: Tuesday, March 11, 2014 9:18 AM
Subject: [Qgis-user] Labelling expressions: how to select the 'last' row in	a csv dataset
 

Hi,

I have a csv file that looks like this:

datetime, latitude, longitude, speed
2014-03-07T06:11:56.794000, 69.6930, 19.0321, 0.0
2014-03-07T06:12:56.791000, 69.6904, 19.0291, 10.0
2014-03-07T06:13:56.787000, 69.6879, 19.0257, 10.0

A new row gets added to the file every second or so. I load this file 
into QGIS as a csv file with the watch option turned on so that every 
time the map is refreshed, the map plots any new points that have been 
added to the file.

I would like to have the most recent line in the file plotted with a 
different symbol to the rest (the data represents realtime data from a 
moving ship so it's good to highlight the latest position). I can almost 
do this using the expression based labelling, but not quite (I can get a 
row number, but not the total number of rows, so can't do something 
obvious like: $rownum == $numrows, or $id == max($id)).

Any suggestions on how I can achieve this? I could move the data into a 
SQL-based layer and choose the last row using an SQL statement, but the 
simplicity of generating the csv files is attractive.

Thanks

Gavin
_______________________________________________
Qgis-user mailing list
Qgis-user at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20140310/301e69a2/attachment.html>


More information about the Qgis-user mailing list