<div dir="ltr">Thanks Adam! I am glad it worked out for you.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 23 Aug 2023 at 18:55, Adam Nielsen via QGIS-User <<a href="mailto:qgis-user@lists.osgeo.org">qgis-user@lists.osgeo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
This isn't a request for help, I just wanted to give a big thanks to<br>
everyone involved in the development of QGIS.  I have never used a<br>
program that seems to be able to cater to everything I might want to do.<br>
<br>
I recently purchased an Insta360 camera, with the goal of going walking<br>
and having it collect a bunch of 360 degree photos, that I could turn<br>
into my own private Google Street View.<br>
<br>
Unfortunately having just loaded the photos in using the "import<br>
geotagged photos" tool, it turns out that in their infinite wisdom, the<br>
Insta360 developers thought it would be sufficient to just use the GPS<br>
coordinates of the first photo taken.  So now I have 400 photos at the<br>
exact same GPS coordinate, making the camera entirely unsuitable for<br>
Street View photography!  (Funny how you find all the complaints on<br>
Google only AFTER you've bought a product.)<br>
<br>
However I was also recording my track using the GPS Logger app on my<br>
phone.  I wondered whether perhaps there was a way to somehow apply<br>
that GPS track against the photos.<br>
<br>
As it turned out, the .gpx export from the app includes a track_points<br>
table, which has one row every second with the current GPS coordinates.<br>
This means there is a timestamp in that table, with GPS coordinates,<br>
for every timestamp in the photo table!  Unfortunately one is UTC and<br>
the other is local time, but a little maths should be able to solve<br>
that.<br>
<br>
In the end I worked out that I could create a virtual layer, which uses<br>
an SQL query to join the two tables together and pick the GPS<br>
coordinates out of the GPS track but the rest of the data from the<br>
photos table.  This worked perfectly and now I have a proper layer with<br>
each of the 400 photos at the correct location!<br>
<br>
This was another feature I never thought I would need but QGIS provided<br>
the means to get it done.<br>
<br>
In case anyone else ever needs to do something similar, here is the<br>
query I used:<br>
<br>
  SELECT<br>
    "photos"."fid",<br>
    "photo",<br>
    "filename",<br>
    "directory",<br>
    "ele" AS "altitude",<br>
    "direction",<br>
    "rotation",<br>
    X("track_points"."geometry") AS "longitude",<br>
    Y("track_points"."geometry") AS "latitude",<br>
    "timestamp",<br>
    "track_points"."geometry" AS "geometry"<br>
  FROM "photos"<br>
  JOIN "track_points"<br>
    ON unixepoch("track_points"."time") = unixepoch("photos"."timestamp") - 36000;<br>
    -- (36000 converts UTC+10 into UTC)<br>
<br>
To use it, create a new virtual layer, import the geotagged photos<br>
layer (and call it "photos") then add the "track_points" layer from the<br>
.gpx file (and call it "track_points") then click the Test button and<br>
it should come back as OK.  Then you can add the layer.<br>
<br>
Just be aware that it's quite slow and makes QGIS freeze for a few<br>
minutes - you just have to leave it alone and it will eventually come<br>
back to life.  The first thing I did was to quickly hide the new virtual<br>
layer seconds after I added it (to stop it from rendering and freezing<br>
QGIS), then I exported the virtual layer to a new layer in a temporary<br>
.gpkg file.  This way I could remove the slow virtual layer and continue<br>
working with the faster temporary .gpkg file.<br>
<br>
Anyway, I just wanted to say thanks for all the effort everyone has put<br>
into such a fantastic program!<br>
<br>
Cheers,<br>
Adam.<br>
_______________________________________________<br>
QGIS-User mailing list<br>
<a href="mailto:QGIS-User@lists.osgeo.org" target="_blank">QGIS-User@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="margin-bottom:20px;font-family:verdana,sans-serif;color:rgb(68,68,68)">Emma Hain — Product Manager/Senior GIS Analyst<br>
<a href="mailto:emma@north-road.com" style="color:rgb(78,141,175);text-decoration:none" target="_blank">emma@north-road.com</a> / 0414 512 782</div>

<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><table>
<tbody>
<tr>
<td><img alt="https://north-road.com" src="https://ci3.googleusercontent.com/mail-sig/AIorK4z-QyPD9kQRyEtpg0YHp_bVoq466HfPMkJXDWxnwTf1qCIBS8c19W29po6b7akLq2btEedEMKg"><br></td>
<td><font color="#444444"><font face="verdana, sans-serif"><b>North Road</b><br>Cartography • Development • Spatial Analysis</font><br><hr style="height:1px;background-color:rgb(219,210,143);color:rgb(219,210,143);border:medium">
<span><font face="verdana, sans-serif"><a href="http://north-road.com" style="color:rgb(78,141,175);text-decoration:none" target="_blank"><b>north-road.com</b></a><span></span><br><a href="https://twitter.com/northroadgeo" target="_blank"><img src="https://ci3.googleusercontent.com/mail-sig/AIorK4xbsQ72BNIM2cWMZcuEKVer1Bwaq_gqYkdbtrjK2ifrqv-4o7aWjcvilgYXtNGpXLNgD00xgmQ"></a></font></span></font><a href="https://www.linkedin.com/company/north-road-studios" target="_blank"><img src="https://ci3.googleusercontent.com/mail-sig/AIorK4zEBWGJKio8gqmFT0h_51t4ZnmoGgbmV7SeL-4FKvwWApFWDWyK7p-c0-cSskUe7pjQzjEZj9Q"></a><a href="https://www.facebook.com/North-Road-997236690392419/home" target="_blank"><img src="https://ci3.googleusercontent.com/mail-sig/AIorK4wlMciFPm8hqQZB_Qi57PUCv1dJqUC1A2i9qEMzWRFLcJ7Jil30YnULdJLxT6-qMfI6J4kcac4"></a><font color="#444444"><span><font face="verdana, sans-serif"><br><img src="https://womenindigital.org/wp-content/uploads/2023/03/WID-Membership-Badge.jpg" width="96" height="48"><br></font></span></font></td> </tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>