Newer
Older
tools / geotag-from-geojson.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

# Usage:
# $0 GeoJSONfile | sh -x
# in jpeg files directory

require 'json'
require 'uri'

json = JSON::parse(open(ARGV[0]){|f|f.read})
json["features"].each do |f|
  if (desc = f["properties"]["description"])
    desc = URI.unescape(desc)
    if %r,([^/]+\.jpg), =~ desc then
      jpeg = $1
      lon, lat = f["geometry"]["coordinates"]	# == [139.948611, 38.96725]
      if test(?f, jpeg)
        printf("exiftool -gpslatitude=%f -gpslatitudeRef=N -gpslongitude=%f -gpslongitudeRef=E %s\n", lat, lon, jpeg)
      end
    end
  end
end