Find your photos with Go and Fyne

Programming Snapshot – Go Geolocation

Article from Issue 298/2025
Author(s):

To help track down a particular photo, Mike Schilli often turns to his cellphone's geosearch function. Replicating this functionality with Go and Fyne turned out to be a trouble-free experience.

If your photo collection is not well organized, it can be quicker to find the snapshot you are looking for on a map than in a timeline. The cellphone's photo app displays photo clusters on the map (Figure 1) and shows you a list of all photos taken in the vicinity at the tap of a finger. In other words, if you know where a photo was taken, you can often quickly find what you are looking for.

I decided to build a Go program that performs similar geosearches. But where should I start? Given that I have thousands of photos in a deep directory hierarchy, it makes little sense to go through them each time the application is called up and extract the Exif data for each individual photo again. Instead, it would save a massive amount of time if all the photos' metadata was already stored in a database. Listing 1 uses an SQLite database to do this. Thanks to the public domain status of this eighth wonder of the open source world, the go-slite3 Go package on GitHub can provide all the code you need directly in your application.

[...]

Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Free Selection

    The photogrep GUI tool, built using Go and Fyne, is designed to filter photos just like the grep tool filters file names from a pipe.

  • Wheat and Chaff

    If you want to keep only the good photos from your digital collection, you have to find and delete the fails. Mike Schilli writes a graphical application with Go and the Fyne framework to help you cull your photo library.

  • Treasure Hunt

    A geolocation guessing game based on the popular Wordle evaluates a player's guesses based on the distance from and direction to the target location. Mike Schilli turns this concept into a desktop game in Go using the photos from his private collection.

  • GUI Apps with Fyne

    The Fyne toolkit offers a simple way to build native apps that work across multiple platforms. We show you how to build a to-do list app to demonstrate Fyne's power.

  • Straight to the Point

    With the Fyne framework, Go offers an easy-to-use graphical interface for all popular platforms. As a sample application, Mike uses an algorithm to draw arrows onto images.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News