You can achieve this in many ways. This one will use PowerShell, ExifTool and ImageMagick.
GPS extraction is very easy and has bunch of options when using ExifTool. For instance, this:
$coordinates = exiftool C:\Path\To\Photo.jpg -GPSPosition -n -S -s
will store the coordinates in a PowerShell variable in this format:
51.5041055555556 -0.074575
-S -s
option makes it only output the value, while -n
formats it as decimals. You can instead use e.g. -c
(-coordFormat
) switch to have more control about it - see documentation.
You can then add the variable content onto the image with e.g. ImageMagick. For example, this:
magick C:\Path\To\Photo.jpg -gravity Center -pointSize 100 -annotate 0 "$coordinates" -append C:\Path\To\Output.jpg
will add centered coordinates with font size 100 and output Output.jpg
. -gravity
defines how it's centered horizontally and -annotate
the vertical offset from center. You can add the caption in a similar way. Check the documentation for many more possibilities.