How best to geotag images from a smartphone

I use a Xiaomi Mi 11 Lite 5G for my nature observations. I chose it specifically for the camera, which is great, but the GPS accuracy is woeful. Occasionally it is quite close to where I took the images, most of the time it’s hundreds of yards off and sometimes it’s miles away. The phone uses Google precise location – which is anything but precise – but if I turn this off the phone doesn’t record location at all. I’ve tried every combination of settings I can think of and just can’t get it to work. Apparently location worked fine until Xiaomi did an update that screwed it up and then they just moved on to a newer phone and abandoned this model so it’s unlikely to ever be fixed. Just another example of the enshitification of products I guess.

So at the moment I’m having to carry two phones, the Xiaomi to take images and a twelve year old Motorola to record the correct location (I kid you not). This is inconvenient so I want to download a GPS trail recording app so I only have to carry one phone.

So some questions:

  1. has anybody used this model of phone and had a similar experience… just so I know mine’s not faulty.
  2. can anyone recommend a good Android app to track your field trips so you can geotag your images later
  3. can anyone recommend a good (Windows) program for using the GPX file from the app to geotag images

I’ve checked the forum for this topic and while there are some threads they are quite old now so I’m looking for some up-to-date suggestions.

I currently use ACDSee Photo Studio Professional to correct the GPS coordinates of images which is an OK solution as you can batch write GPS coordinates to the EXIF data of a group of images in one click but I have to do it manually as it can’t use GPX files. I’m always looking for ways to streamline my workflow for mundane tasks like this so I can concentrate on the fun part of nature recording.

1 Like

I have a Xiaomi and for some reason begin of 2025 the accuracy of the location in Geotagged photo’s dropped… I still do not know why.

https://forum.inaturalist.org/t/is-the-inat-app-on-android-too-trusting-of-gps-stored-in-a-photo/73344/11

1 Like

I want to download a GPS trail recording app

If the GPS in the phone itself is wonky (because of whatever the manufacturer did to it), then I doubt any trail-recording app would be any more reliable. I would think the app has to read what the phone hardware or firmware tells it, after all.

Many years ago, I had a phone that would take forever to lock onto a GPS signal, but it does eventually happen. Maybe you just have to wait for the phone to settle down?

1 Like

I should amend what I said. If you have a smartwatch with a built-in GPS, then trail-recording apps would read from that instead of the phone. The watch manufacturer may itself have an app that records your activity coordinates.

Have you tried a gps averager app, has that helped?

I shoot with a DSLR while recording a GPS track with my phone. I have had good results using ExifTool (exiftool.org) to extract GPS coordinates from a .gpx file and write them to the DSLR images (matching up location with the timestamp of when the photo was taken). It’s relatively easy to implement in a batch fashion, if you have basic experience with scripting in your operating system of choice.

The basic command line is:

exiftool -geotag track.gpx imagefile.jpg

During daylight savings time, I need to correct thus:

exiftool -geosync=-1:00:00 -geotag track.gpx imagefile.jpg

Naturally, it is essential to make sure that the DSLR’s internal clock is accurate.

2 Likes

These days I still carry a Garmin GPS unit to make a GPX track and use darktable to geotag the day’s photos with the gpx. I find it much better than what my iPhone can do.

2 Likes

My procedure for Android. Its a 3 step process.

  1. Upload the GPS connector app - allows you to select alternate GPS devices.

  2. Enable ‘mock location’. just Google it - you have to get into developers mode. There are youtube videos as well. It takes a few steps, but you only have to do it once.

  3. Purchase a USB-C GPS. Reasonably priced.

I think its worth the bother. It takes awhile to engage. I also run the GPS status app simultaneously. Much improved accuracy & consistency.

1 Like

Don’t have a Xiaomi phone, but I do have a OnePlus 12 and have had similar issues with geotagging. I also use the CalTopo app (IOS previously, Android currently), and discovered that even though the built-in camera app often got the gps location wildly wrong, caltopo recorded good tracks. So, now I record tracks using CalTopo, download the GPX file, and tag the photos en masse using darktable. You can also use exiftool from the command line, as above.

Since you can try out caltopo for free, I’d do that and see if it’s just your camera app that’s horked.

1 Like

I use maverick app to record tracks, and it is the most accurate app which I tried (Sometimes I have 3 or even 4 different locations on different apps on my phone simultaneously and Maverick is the only correct). Unfortunately it was banned from gplay, so next phone I will find the apk and install it manually.

Next I use geoSetter to match photos from my dlsr and track. It works for me since 2019 and I hope I don’t need to change it soon)

CalTopo? I have to check it, thank you for the tip/

I suspect the GPS is fundamentally fine. I’ve tested the GPS in diagnostics and it’s locking onto multiple satellites and getting a strong signal. From what I can gather from the internet the camera app worked fine until Xiaomi did an update and that screwed up the location accuracy… then they abandoned the phone.

That’s a viable option but it just seems a bit silly having to buy another gadget when there is GPS already in the phone. My old Motorola Moto E 2nd gen phone has very good GPS accuracy, even though it was a budget smartphone when it was new, while the Xiaomi is just terrible.

1 Like

Many things can go wrong from input data to what an app does with it. Even if the GPS reports a good signal, the data can get stuck in internal queues or not show up there. And, even if there is good data in system queues, an individual app can mishandle it. In my case, it was clearly the camera app getting stuck, not the system data buffer. That’s what you need to figure out with some second consumer of GPS data.

Wow, CalTopo looks amazing. Its feature set is way beyond what I need but it looks very well designed. It’s also got comprehensive documentation/user guide which is always a good sign. Thanks.

1 Like

… there’s also ExifTolls GUI - for those who fear the command line…

2 Likes

To save on cost, I suspect that many of these ‘cheaper’ smartphones skimp on the GPS chipset and related hardware. I have never had any problem collecting good GPS location data on iPhones or Google Pixel smartphones - it is usually extremely accurate. Obviously things like dense trees or buildings can affect the GPS signal. You do need to check that GPS is enabled on these smartphones, otherwise the location data can be way off as the phone falls back to using cell tower signal interpolation to determine a current geo location which can be way off (as I have discovered)! I use the application ‘GPS Logger’ App (available for Android and iOS) to collect tracks of GPS location data which can be saved (and later downloaded) as a GPX formatted data file. As a backup, when I am doing critical field work, I also use an older stand-alone Garmen eTrex 10 data logger, which still works pretty well (it also collects tracks of GPS coordinates that are saved in GPX format).

Hm. So perhaps the issues isn’t that Xiaomi messed up their GPS, but just their camera app? Maybe try a third-party camera app to see if that works better?

I’ve had similar problems with GPS accuracy when using that “Google” setting that uses cell tower or wifi triangulation when the GPS location is “stale”, like if I haven’t taken a photo in a while, especially if my phone is in “battery saving mode” which has turned off the gps radio. I’ve found that if I have the forethought to turn on a gps track logging app with reasonably frequent sampling rate when i start my walk, the GPS will not be “stale” and the camera will likely be using the gps signal even if the “Google precise” setting was on (but I always keep it off.)

By the way, I think the iNat phone camera apps ought to have gps logging capability, and have it on by default, and doublecheck the photo’s location by interpolating against that log automatically before uploading.

1 Like

Yes I’ve discovered this too @muddyknees. I downloaded a GPS logging app and had that running in the background while I made eight records at various locations in an urban area on the 5th – with Google location accuracy turned on – and in only one case was the GPS location wildly inaccurate. I’ve done some more testing today and I’m about to post the results.