Using iNaturalist with non-geotagged photos: approximate bulk geotagging
While hiking, I like to take photos of nature things to figure out later and post to iNaturalist. But most non-phone cameras don’t add geotags (geographic location info) to images, and uploading these to iNat is a pain.
One way to solve this is by logging your own position with a smartwatch or app, but my smartwatch was stolen and I often don’t have the cellphone battery for Strava.
However, I do remember where I was, and have photos that tie those locations to times. I made a tool, Linetime (source), for adding timestamps to a GPX file, which I can use for bulk geotagging photos in Lightroom.
My iNaturalist geotagging method
Using a tool like CalTopo, I trace out the route that I explored. In the case of a day hiking, I usually know exactly what trails I took, and they often exist in OpenStreetMap data.
Export the route from CalTopo and import into Linetime.
Find images with known locations and grab the timestamps.
Set keypoints in Linetime. After doing this, other points will have their time interpolated by distance along the line.
It’s important to have a keypoint at the beginning and end.
I normally add around 8 keypoints.
The interpolation is often surprisingly accurate from a small number of points. This picture was taken on top of a ridge at 4:41 PM, and the interpolated time in the route is 4:39 PM.
Download the GPX trace from Linetime, then import into Lightroom and geotag the photos.
The positions might not always be 100% accurate, but they will be within a few hundred meters. Arguably this is a better default for certain sensitive organisms.
I usually flag all of the photos with organisms in Lightroom, export, and then use the web interface in iNaturalist to bulk upload. No more manually locating each image from memory!
The observations from this hike
Using an iNaturalist Hugo shortcode I wrote, including all of the observations below is just {{< inatday 16 11 2025 >}}.