Is there any PC software (hopefully Open Source) that will plot a geotagged picture's location (drop a pin with a label of some sort) on a custom geotiff file?
It would be nice if it directly loaded the geotagged pictures and the geotiff file.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
there's two tasks here
From the wording, it sounds like you want to render this directly into a geotiff. This is a bit tricky. If you really do want to go down this route you'll probably need to code. I'd recommend the simpler approach of keeping the geotiff and photo points in separate layers.
Getting EXIF data
If you use QGIS there's a plugin that will create a point layer from many photos and read the EXIF tags - it's called Geotag and Import Photos. Each point will then have lots of fields with things like date, aperture, shutter time and the position will be taken from the camera's GPS settings on each photo.
Keeping them seperate
If you're happy to keep the geotiff and points layer as seperate layers, you could then render them
These will offer more interactivity (in the case of web maps) and better cartographic control than if you decide to write the data onto the geotiff yourself.
Writing to the GeoTiff
I'd recommend using RasterIO (on that blog page you'll see an example where they've rendered onto a geotiff). This is a python wrapper around the GDAL raster utilities, and will make things much easier.
You could then write some code to go through the point layer generated by the exif step, and write labels onto the geotiff. As the data is held in a big numpy array, you could use PIL or Pillow to write label text or thumbnails into the geotiff. See this answer for an example where someone wanted to write watermarks based on exif tags.