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

Gavin Macaulay gavin at macaulay.co.nz
Tue Mar 11 01:34:41 PDT 2014


Bob,

Thanks for the suggestion. How does one get the csv provider to read 
just the first line?

Gavin

On 10/03/2014 10:25 p.m., Basques, Bob (CI-StPaul) wrote:
> Gavin,
>
> Set up the CSV file creation to append to the top of the file instead of the bottom, then just read the first line for the special cartography.
>
> If you are running on Linux, there are a whole bunch of options with AWK/GREP, etc to get the data outputting in a more favorable fashion for reading.
>
> My first thought was to suggest the SQL path though, this gives you lots of options for archiving and looking at the path/trail over time . . .
>
> I've just completed doing something similar for a AVL tracking system.
>
> Bobb
>
>
>
> -----Original Message-----
> From: qgis-user-bounces at lists.osgeo.org [mailto:qgis-user-bounces at lists.osgeo.org] On Behalf Of Gavin Macaulay
> Sent: Monday, March 10, 2014 3:18 PM
> To: qgis-user at lists.osgeo.org
> 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
>
>




More information about the Qgis-user mailing list