Increasingly spatial data will contain a column that has URL's pointing to images hosted on Flickr, Dropbox or some other cloud based storage system.

What's the most common/efficient way to join photos with geographic data? Are there any fast ways to do it in bulk, or do most people just enter them manually?

  • Could you explain what you mean by "joining", or some example you have in mind?
    – blah238
    Nov 3, 2014 at 22:03
  • As in add a column to the data called "images" which contains url's that point to photos in the cloud. Nov 4, 2014 at 2:28
  • What's the cardinality? One to one, one to many, etc? Also, what properties of the photo relate them to the geographic data, if any? Are they geotagged?
    – blah238
    Nov 4, 2014 at 2:36

3 Answers 3


Personally I use FME to do stuff like this (but then - disclaimer - I do work for the company that creates it). The Data Interop extension in ArcGIS will also do this for you if you don't have the full FME.

So... there is a great example of reading photos and making them into Geodatabase attachments on our knowledgebase, FMEpedia.

Basically you need some form of ID to match the image to the feature (presumably the value of an attribute in the data). Then you can read a list of image files with the PATH format reader, like so:

enter image description here

...merge the data together (with the FeatureMerger) and simply write out the full filename using the attribute path_windows (or unix, or whatever).

The alternative method is to actually read the files, convert the raster data to a blob field, and write that to your output (i.e. instead of a link to the image, you store the image as a blob)

enter image description here

If the images are geotagged, then you could instead use a SpatialRelator transformer to be able to match them to the spatial feature using a spatial predicate like "INSIDE" or "WITHIN". You could use either of the above techniques (write a link, or write a blob field) in this way.

But I think that - whatever software you use - you must have some form of attribute or spatial relationship in order to be able to automatically match the photo to the feature. If not, then I think you are stuck with a manual process.


I did a project for a trip to Peru where I went through the photos I had and linked them to points in ArcGIS. I created a feature in the database that appeared as points, but had a Raster field, so I would create the point feature and then the raster column had a drop-down menu I believe, where I could attach the related picture. Not sure if it's the best way or not, but was the only thing I found that worked at the time and was fairly simple to do. If I remember correctly the photos had to be located on your system, vs web, but I could be wrong, so might be worth checking out at least.


if your getting the images from a generic webpage such as wikipedia you can build a sql string in an attribute table such as http://en.wikipedia.org/wiki/[NAME].

[NAME] being the name of your geographic feature.

You can also use the BLOB data type to store images.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.