Digital Geography

29. September 2015

Show your Photos in QGIS and ArcGIS: a small example

Hi guys. Once again I found an interesting question in our Geoscientists group on facebook. One user wanted to show her photos in QGIS as she is it used from Google Maps: See a point, click on it and see the great image you’ve taken on your journey. Unfortunately the most obvious plugins failed to do it in QGIS. So check out our “at least” two usage scenarios for QGIS and ArcGIS where we will handle geotagged photos…

Geo-Tagged Photos

So first let’s start with so-coalled geo-tagged photos where the location of your photo is stored in the photo itself. In the following examples I am using photos from my Iphone which where geo-tagged as I’ve taken them near Stuttgart at the INTERGEO 2015:

This slideshow requires JavaScript.

So we will start with the easy task: creating this map with clickable photos using geo-tagged ones. [Spoiler-alert: non-geotagged will be presented in a follow up!)


ArcGIS has a great script for dealing with this task. It is called GeoTagged Photos To Points and is found in the Data Management Tools in the -you name it- Photo folder. It works quite easy: select the folder of your photos, better leave the output as default as the photos are stored in the default DB as attachments and after a short time of geoprocessing you have a valid point shapefile with the attributes of the photos like path and time:


images as mouse over in QGIS

The same procedure is a bit more complicated in QGIS (tried in version 2.10.1) as there seems to be no standard support for adding your geotagged photos to your QGIS project. So let’s check the possibilities. My search in the plugin-tool in QGIS revealed the following suitable plugins:
  • Geotag and import photos (needs exiftools installed 🙁 )
  • photo2kmz
  • Photo2Shape (needs exiftools installed 🙁 )
  • ???
One might say: “Com’on install exiftools and you’ll be fine”. But let’s be honest: This might be the right choose for a off-the-top user but most of the GIS-users are happy with an easy to use, not install any dependency solution. So I’ll follow the path with photo2kmz which is easy to use and creates a kmz on one hand and an easy txt file with coordinates and pathes to the images.  In the following video I demonstrate not only the import of these images as point shapefile but also two ways of showing images in QGIS interactively. One is using the “Action” commando and the other will show images when you just hover the mouse over one feature using the Map Tips tool in QGIS:

  • Cameron Wallace

    Good summary… but still no way to add them to your layout in ArcGIS. Though I kind of think it’s possible in QGIS using HTML display options.

  • P P Choudhari

    q gis video is now working properly

  • P P Choudhari

    q gis video is not working properly

    • updated the video-link!

      • P P Choudhari

        thank you sir

        *With Regards,*

        *Mr. P P Choudhari*
        *Assistant Professor*
        *Department of Geography*
        *University of Mumbai, Mumbai*
        *Mobile No – 09975374561*

  • maliheh

    Unfortunately q gis video is not working properly

  • nice! thanks. There is another option to visualize in windows (can’t make it work under ubuntu), with EVIS. Pretty easy to use.

  • Jean-François Godeau

    Works perfectly in QGIS! We are using such a layer of ca. 5700 georeferenced pictures shared on dropbox with my colleagues. Layer was built with photo2shape. I made the html code as follows to show date (year and month) above the picture. I also used the CONCAT() trick inside of html expression so that my colleagues can adapt it for their own comp, all of us using the same source layer. here is what we use:

    Année: [% left( “img_date” ,4)%] ; Mois: [% substr( “img_date” ,6,2)%]

    Thanks for that Riccardo!

    • Jean-François Godeau

      Result looks like that

  • Gcmae Gorgonio

    how to display html code stored in the table as attribute?

  • Martin

    hi riccardo, any progess on the mentioned follow up about adding non-geotagged photos to qgis?

  • suman naik

    Hello , New to qgis application, When we insert the photos captured images into qgis application how can we plot hospitals, schools of that image ? And how we write the details of the hospital ??. Sorry For My English

  • ninovillari

    I have tried to install photo2kmz 2.10 in QGIS 2.16.3 but it reports a message of error:
    can someone help me, please? Mac OS 10.12.1
    Thank you
    Nino Villari

  • Davood

    Hi Riccardo
    the Map Tips doesn’t show the preview at all even not a empty one? (QGIS 2.18.7)
    Any idea?
    Thank you

  • Lm Vlado

    I would like ask for html map tip- not working when mouse over:
    HTML code:

    My question:
    Have I use exact path and jpg name like in my Html code above or have I use columns of atribute table?:

    Second question – do I need geotaged images, or can I use any image?

  • Mark Scheper

    You can use it like this:

    [% CONCAT (” )%]

    @project_folder = variable in qgis. It is the folder where your project is.
    photos = the folder in that qgis folder where all your photos are
    name = the variable from the attribute table, generated by photo2kmz

    So, if you store all your photos in the photos folder and add this line then you should be good.