#!/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