[Qgis-user] Query cross-table "similar" time stamps?
Bernd Vogelgesang
bernd.vogelgesang at gmx.de
Sat May 18 11:17:07 PDT 2019
Hi Harrisou,
this looks a lot what I imagined (in the sense of some wicked nested
expression stuff i never would get to myself).
Am 18.05.19 um 11:42 schrieb DelazJ:
> Hi Bernd,
> Hum.. interesting. Assuming you have two layers: *tracks (id_track,
> date_track)* and *birds(id_bird, date_bird)*, the idea is to get the
> id of the highest among the date_track(s) lower than the date_bird for
> each bird. Am I right?
Well, erm, yes.
> I gave it a shot and i think i have some working expression. Here I
> display the matching track id in birds labels
>
> attribute(
> get_feature ( 'tracks',
> 'date_track',
> aggregate( layer:='tracks',
> aggregate:='max',
> expression:="date_track",
> filter:="date_track"<
> attribute(@parent, 'date_bird')
> )
> ),
> 'id_track'
> )
>
> I used temporary layers with datetime field.
> Now, without sample of dataset to actually see the date formatting
> issue you were afraid of...
The layers derive from ordinary gpx-files from the phone generated with
Locus.
I labeled the point and the track points with the date format in the
screenshot https://i.stack.imgur.com/MqPhK.jpg QGIS sais the Type is
*QDateTime* and the Typename is *DateTime*. Indeed, date formats are a
pain in the arse and its no fun fumbling around with them most of the time.
Will give it a try tomorrow evening. Have to work all weekend in the
field, so already got as sunburn and tomorrow I will get washed away.
Thanx a lot so far, I will report back!
Cheers,
Bernd
>
> Hope that helps,
> Harrissou
>
> Le ven. 17 mai 2019 à 20:34, Bernd Vogelgesang
> <bernd.vogelgesang at gmx.de <mailto:bernd.vogelgesang at gmx.de>> a écrit :
>
> Hi Mike,
>
> thank you for your hint, but the distance between the point and the
> track is of no relevance for me.
>
> It seems that the screenshot I posted is a bit misleading
> (https://i.stack.imgur.com/MqPhK.jpg). Seems I picked a point
> where the
> associated trackpoints are also the closest ones. But the
> information we
> need is the time, where the observer was when taking the observation.
> And this might also be on a more distant location.
>
> Furthermore, I do not intend to create a new layer. I'm just
> looking for
> a way to highlight the track point(s) which compare best by time with
> the selected observation point.
>
> So, still coulnd't find out how to query points in another layer
> through
> an expression/ function, and in case I'll find out, how to compare it
> with datetime values.
>
> Cheers,
>
> Bernd
>
> Am 16.05.19 um 13:28 schrieb Mike Flannigan:
> >
> > Hi,
> >
> > I'm thinking this is easier done outside of QGIS, but if you
> > want to do in within QGIS this is one way:
> > https://www.qgistutorials.com/en/docs/nearest_neighbor_analysis.html
> >
> >
> > Mike
> >
> >
> > On 5/15/2019 1:17 PM, qgis-user-request at lists.osgeo.org
> <mailto:qgis-user-request at lists.osgeo.org> wrote:
> >> Hi folks,
> >> I'm sure there must be some "easy" solution, but hours of searching
> >> provided no examples I could learn from to develop a solution:
> >>
> >> I have a point layer of bird observations and a GPS-track
> recorded while
> >> observing the birds in an area.
> >> For the interpretation of the findings it would be good to
> easily find
> >> out, from which position the recorded observation was taken.
> >>
> >> My idea was to compare the timestamp of the bird point with the
> >> timestamps of the track points, but I run into huge obstacles
> right at
> >> start:
> >> I know that I "could" query across layers by the expression
> aggregate().
> >> Unfortunately, the docs on that is so sparse, that I have not the
> >> slightest idea how to even start with that
> >>
> (https://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/expression.html?highlight=expression#aggregates-functions)
> >>
> >>
> >> Ok, in case I could find out how to properly use aggregate, how
> do I
> >> best compare those time stamps?
> >> The layers derive from gpx-files and QGIS identifies the time
> tag as
> >> QDateTime.
> >>
> >> As it is not very likely that a bird observation was recorded
> at the
> >> exact same time as a track point was generated, there is no way to
> >> actually compare the values, cause the bird time value will
> always lie
> >> in between two track point values.
> >> What kind of query can be used to identify those two trackpoints ?
> >>
> >> In short: How can I identify/highligt/mark track points that have a
> >> timestamp close the selected point in another layer?
> >>
> >> I already created a question on this on gis stackexchange with a
> >> screenshot,but no reactions so far.
> >>
> >>
> >> Thankful for any hint
> >> Bernd
> >
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org <mailto:Qgis-user at lists.osgeo.org>
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20190518/f8ea15c3/attachment.html>
More information about the Qgis-user
mailing list