{"id":977,"date":"2008-10-28T20:59:23","date_gmt":"2008-10-28T11:59:23","guid":{"rendered":"https:\/\/regex.info\/blog\/lightroom-goodies\/gps"},"modified":"2012-03-31T02:20:03","modified_gmt":"2012-03-30T17:20:03","slug":"gps","status":"publish","type":"page","link":"https:\/\/regex.info\/blog\/lightroom-goodies\/gps","title":{"rendered":"Jeffrey&#8217;s &#8220;Geoencoding Support&#8221; Plugin for Lightroom"},"content":{"rendered":"\n\n<style>\n  .with_lhs li { margin-left: 212px }\n\n  div.post_header { margin-left: 216px }\n  #navtab-holder {\n        color: #84F;\n        float:left;\n        position: relative;\n        background-color: black;\n        border-right: solid 2px #888888;\n        top: -44px;\n\n        width: 250px;\n        right: 60px;\n        margin-right: -30px; \/* the main page layout is based upon the unshifted width of the navtab-holder, so this compensates for the right:60px shift *\/\n\n  }\n  #navtab-holder a[href]:visited { color: #84F; text-decoration:none  }\n  #navtab-holder a[href]:link    { color: #84F; text-decoration:none }\n  div.navtab-topbottom {\n       width: 207px;\n       margin-left: 43px;\n       height: 10px;\n  }\n  #navtab-bottom {\n      border-bottom: solid 2px #888888;\n  }\n  div.navtab-list {\n    border: 3px solid #0B0;\n    background-color: #040;\n    padding-left: 10px;\n    margin-right: 10px;\n    -moz-border-radius:    15px;\n    -webkit-border-radius: 15px;\n  }\n\n  div.nav-header {\n      color:white;\n      padding-top: 15px;\n      padding-bottom: 3px;\n      text-align: left;\n      font-weight: bold;\n  }\n  div.sel {\n      margin: 0;\n      padding: 1px;\n  }\n  div.N {\n  }\n  div.post_container {\n    background-color: #181818;\n  }\n\n  div.Y {\n      border: solid 2px #888888;\n      border-right: none;\n      background-color: #181818;\n      font-weight: bold;\n      color: red;\n      overflow:visible;\n      position: relative;\n      z-index: 3;\n      width: 235px;\n      -moz-border-radius:    15px 0 0 15px;\n      -webkit-border-radius: 15px 0 0 15px;\n  }\n  div.sel + div.I { padding-top: 20px }\n  div.sel > div {\n      -moz-border-radius:    15px 0 0 15px;\n      -webkit-border-radius: 15px 0 0 15px;\n      padding: 2px 0 2px 10px;\n      margin: 0 0 5px 0;\n  }\n  div.N > div {\n      border: 2px solid black;\n  }\n  div.N > div {\n      margin-right: 20px;\n      background-color: #222;\n  }\n\n  div.Y + div.N > div { margin-top: 10px }\n\n  div.logo { width: 30px; display: inline-block }\n\n  #arrow {\n    display: inline-block;\n    width: 0px;\n    position:relative;\n    top:5px;\n    left:10px\n  }\n\n<\/style>\n\n\n<div id='navtab-holder'>\n<div class='navtab-topbottom' id='navtab-top'><\/div>\n\n<div class='nav-header' style='text-align:center; color:white'>My Lightroom Plugin for Adobe Photoshop Lightrooms&nbsp;<\/div>\n<div class='navtab-list'>\n<div class='nav-header'>Export &amp; Publish<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/zenfolio'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/zenfolio'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_zenfolio.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/zenfolio'>Zenfolio<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smugmug'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/smugmug'><img noindex='1' width='14' height='15' style='margin-left: 5px' class='raw' src='\/i\/lr\/sm\/small_smugmug.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/smugmug'>SmugMug<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/flickr'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/flickr'><img noindex='1' width='24' height='12' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_flickr.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/flickr'>Flickr<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/google-drive'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/google-drive'><img noindex='1' width='19' height='19' style='margin-left: 3px' class='raw' src='\/i\/lr\/sm\/small_googledrive.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/google-drive'>Google Drive<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/ipernity'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/ipernity'><img noindex='1' width='14' height='18' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_ipernity.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/ipernity'>ipernity<\/a><\/div><\/div>\n<div class='nav-header'>Export Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/google-photos'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/google-photos'><img noindex='1' width='18' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_gphotos.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/google-photos'>Google Photos<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/tumblr'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/tumblr'><img noindex='1' width='19' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_tumblr.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/tumblr'>Tumblr<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/twitter'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/twitter'><img noindex='1' width='23' height='16' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/twitter_small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/twitter'>Twitter<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/photobucket'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/photobucket'><img noindex='1' width='20' height='15' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/small_photobucket.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/photobucket'>Photobucket<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/order-prints-locally'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/order-prints-locally'>Order Prints Locally<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/expono'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/expono'>Expono<\/a><\/div><\/div>\n<div class='nav-header'>Other Publish Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-publisher'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/collection-publisher'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/collection_publisher_small_icon.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/collection-publisher'>Collection Publisher<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-publisher'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/folder-publisher'><img noindex='1' width='24' height='19' style='margin-left: 0' class='raw' src='\/i\/lr\/sm\/folder-publisher-icon-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/folder-publisher'>Folder Publisher<\/a><\/div><\/div>\n<div class='nav-header'>Export Add-Ons<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-wrangler'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-wrangler'>Metadata Wrangler<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/creative-commons'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/creative-commons'>Creative Commons<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/run-any-command'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/run-any-command'>Run Any Command<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/snapshot-on-export'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/snapshot-on-export'>Snapshot on Export<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smart-preview-support'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/smart-preview-support'>Smart-Preview Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/crop-for-ipad'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/crop-for-ipad'>Crop for iPad and other Devices<\/a><\/div><\/div>\n<div class='nav-header'>Geoencoding Plugins<\/div>\n<div class='sel Y' onmouseover=\"this.style.borderColor=document.getElementById('post_guts').style.borderColor=document.getElementById('navtab-holder').style.borderColor=document.getElementById('navtab-top').style.borderColor=document.getElementById('navtab-bottom').style.borderColor= 'red'; this.style.backgroundColor = document.getElementById('post_guts').style.backgroundColor = '#333'\" onmouseout =\"this.style.borderColor=document.getElementById('post_guts').style.borderColor=document.getElementById('navtab-holder').style.borderColor=document.getElementById('navtab-top').style.borderColor=document.getElementById('navtab-bottom').style.borderColor= '#888888'; this.style.backgroundColor = document.getElementById('post_guts').style.backgroundColor = '#181818';\"><div>Geoencoding Support <div id='arrow'><img noindex='1' class='raw'  src='\/i\/s\/red-arrow-right.png' width='48' height='25'\/><\/div><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/gps-proximity'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/gps-proximity'>Proximity Search<\/a><\/div><\/div>\n<div class='nav-header'>Utility Plugins<\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/data-explorer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/data-explorer'>Data Explorer<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/smart-collection-sync'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/smart-collection-sync'>Smart Collection Sync<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/people-support'>People Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-status'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/folder-status'>Folder Status<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/photosafe'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/photosafe'><img noindex='1' width='18' height='19' style='margin-left: 6px' class='raw' src='\/i\/lr\/sm\/photosafe-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/photosafe'>PhotoSafe<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-mechanic'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/collection-mechanic'>Collection Mechanic<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/bag-o-goodies'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/bag-o-goodies'>Bag-o-Goodies<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/timelapse-support'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/timelapse-support'>Timelapse Support<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/workflow-delete-options'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><div class='logo'><a href='\/blog\/lightroom-goodies\/workflow-delete-options'><img noindex='1' width='15' height='19' style='margin-left: 6px' class='raw' src='\/i\/lr\/sm\/workflow-delete-options-small.png'\/><\/a><\/div> <a href='\/blog\/lightroom-goodies\/workflow-delete-options'>Workflow Delete Options<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-viewer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-viewer'>Metadata Viewer<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/bulk-develop'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/bulk-develop'>Bulk Develop Settings<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-presets'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/metadata-presets'>Metadata-Viewer Preset Builder<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/layers'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/layers'>Photoshop Layers<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/export-quality-tester'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/export-quality-tester'>JPEG Quality Tester<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/folder-watch'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/folder-watch'>Folder Watch<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/megapixel-sort'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/megapixel-sort'>Megapixel Sort<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/focal-length-sort'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/focal-length-sort'>Focal-length Sort<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/data-plot'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/data-plot'>Data Plot<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/extended-search'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/extended-search'>Extended Search<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/video-assets'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/video-assets'>Video-Asset Management<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/preview-extraction'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/preview-extraction'>Preview-Cache Image Extraction<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/sysinfo'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/sysinfo'>System Info<\/a><\/div><\/div>\n<div class='sel N'><div onclick=\"document.location='https:\/\/regex.info\/blog\/lightroom-goodies\/iphoto-collection-fixer'\" onmouseover=\"this.style.borderColor='white'\" onmouseout=\"this.style.borderColor='black'\"><a href='\/blog\/lightroom-goodies\/iphoto-collection-fixer'>iPhoto Collection Fixer<\/a><\/div><\/div>\n<\/div>\n<div style='margin-top:20px; margin-left:15px; margin-bottom:10px'>\n<b>Other Plugin Sources:<\/b>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.photographers-toolbox.com\/products\/'>Photographer's Toolbox<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/alloyphoto.com\/plugins\/'>alloy photo<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.beardsworth.co.uk\/lightroom\/'>John Beardsworth<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.capturemonkey.com\/'>Capture Monkey<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='http:\/\/www.lightroom-plugins.com\/'>lightroom-plugins.com<\/a>\n<br\/>&nbsp;&middot;&nbsp;<a href='https:\/\/creative.adobe.com\/addons?pp=PSLR'>Adobe Addons<\/a>\n\n<\/div>\n\n<div class='navtab-topbottom' id='navtab-bottom'><\/div>\n<\/div>\n\n<div itemscope itemtype='http:\/\/schema.org\/SoftwareApplication'>\n<meta itemprop='creator' content='Jeffrey Friedl'\/>\n<meta itemprop='copyrightHolder' content='Jeffrey Friedl'\/>\n<meta itemprop='applicationCategory' content='Photography'\/>\n<meta itemprop='applicationSubCategory' content='Plugin for Adobe Photoshop Lightroom'\/>\n<meta itemprop='applicationSuite' content='Adobe Creative Cloud'\/>\n<meta itemprop='operatingSystem' content='Apple Mac OS X, Microsoft Windows'\/>\n<meta itemprop='about' content=\"Plugin for Adobe Photoshop Lightroom that greatly surpasses the geoencoding and reverse-geoencoding support provided by Lightroom.\"\/>\n\n\n\n<div style='float:right; position:relative; border: solid 1px #444; margin: 0 auto; margin-left:2em; padding:20px; padding-top:5px; background-color: #000'>\n<center style='font-weight:bold; font-size:120%'>Quick Links<\/center>\n     &middot; <b>Latest Download<\/b>:\n<br\/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/releases\/gps-20250725.362.zip'><span style='padding:1px 3px; border:solid 1px orange; color:#888'>gps-<span style='color:orange; font-weight:bold'>20250725.362<\/span>.zip<\/span><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/faq'>FAQ<\/a>\n<br\/>&middot; <a class='quiet' href='#history'>Version History<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/gps.rss'>Update Log via RSS <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/plugin-installation\/'>Installation instructions<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/register'>&#8220;Donationware&#8221; Registration Info<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/lightroom-goodies\/' style='color:#F55'>More Lightroom Goodies<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/all.rss'>All-Plugin Update Log via RSS <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog\/photo-tech\/'>My Photo-Tech Posts<\/a>\n<br\/>&middot; <a class='quiet' href='https:\/\/regex.info\/blog'>My Blog<\/a>\n<\/div>\n\n\n<style type=\"text\/css\">\n ul#featurelist li { margin-bottom: 10px}\n<\/style>\n\n<p>This plugin for Adobe Lightroom Classic adds many new location-based features to Lightroom, and enhances or replaces some\nfeatures Lightroom already has, including:<\/p>\n\n<table style='margin-top:0'><tr><td>\n<ul id='featurelist'  style='margin-top:0'>\n<li>Tracklog geoencoding <a href='#better-geoencoding'>far superior<\/a> to what's built into Lightroom.<\/li>\n\n<li>Reverse-geoencoding <a href='#tab-reverse-geo'>far superior<\/a> to what's built into Lightroom.<\/li>\n\n<li><a href='#proximity_search'>Fast full-catalog proximity search<\/a>.<\/li>\n\n<li><a href='#in_earth'>Viewing photos <span class='QO'>&#8220;<\/span>on location<span class='QC'>&#8221;<\/span> in Google Earth<\/a>.<\/li>\n\n<li><a href='#viewat'>Support for viewing photo locations at many external mapping sites<\/a>.<\/li>\n\n<\/ul><\/td><\/tr><\/table>\n\n<p>This plugin works in Lightroom Classic, and older versions as far back as\n<span class='nobr'>Lightroom 3<\/span>, though some features depend on the\nversion of Lightroom.<\/p>\n\n<p>The same download works for both Windows and Mac. <span class='nobr'>See the box<\/span> to the upper right for the download link (in orange) and installation instructions.<\/p>\n\n\n<p class='h' style='margin-bottom:0'>Table of Contents<\/p>\n<p style='margin:0'><small>This long page of documentation gives an overview of many of the plugin's features:<\/small><\/p>\n<table style='margin-top:4px'><tr><td><ul style='margin-top:0'>\n <li><a href='#intro'>Introduction<\/a><\/li>\n <li><a href='#main_dialog'>The Main Geoencoding Dialog<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#better-geoencoding'>The Tracklog Tab<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#tab-static'>The Static-Location Tab<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#tab-between'>The Between-Points Tab<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#tab-reverse-geo'>Reverse-Geoencoding Tab<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#tab-oneby'>The One-by-One Tab<\/a><\/li>\n <li>&nbsp;&nbsp;&nbsp;<a href='#tab-etc'>The Etc. Tab<\/a><\/li>\n <li><a href='#config'>Extra Configuration and Keyboard Shortcuts<\/a><\/li>\n <li><a href='#metadata'>Inspecting Your Location Metadata<\/a><\/li>\n <li><a href='#proximity_search'>Fast Whole-Catalog Proximity Search<\/a><\/li>\n <li><a href='#in_earth'>Viewing Photos in Google Earth<\/a><\/li>\n <li><a href='#earth'>Other Google Earth Interaction<\/a><\/li>\n <li><a href='#viewat'>View Location At....<\/a><\/li>\n <li><a href='#availability'>Plugin Availability<\/a><\/li>\n <li><a href='#old'>Old Support Under <span class='nobr'>Lightroom 2<\/span> and <span class='nobr'>Lightroom 3<\/span><\/a><\/li>\n<\/ul><\/td><\/tr><\/table>\n\n<p class='h' id='intro'>Introduction<\/p>\n\n<p>Once installed, most of the plugin's features are available via the\n<span class='QO'>&#8220;<\/span><b>File &gt; Plugin Extras<\/b><span\nclass='QC'>&#8221;<\/span> menu:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-extrasmenu.png\" width=\"700\" height=\"664\"\nalt=\"Geoencode...;  Fast Full-Catalog Proximity Search...;  Geoencode selected photos from Google Earth;  Pinpoint location in Google Earth;  View selected locations as KML in Google Earth;  View location at Google Maps;  View location at Yahoo! Maps;  View location at Yahoo! Japan Maps;  View location at Apple Maps;  View location at Flickr;  View location at Panoramio;  View location at GeoHash.org;  View location at OpenStreetMap;  View location at OpenCycleMap;  View location at Multimap;  View location at WikiMapia;  View location at GeoHack (map-server directory);  View location at Microsoft Bing (old Web 2.0 style);  View location at Microsoft Bing (new snazzy interface);  View location at MapFan.com (Japan Only);  View location as OSGB36 (Great Britain only);  View location at Daum (Korea only);  View location at G\u00e9oportail (in French);  View location at Skog og landskap (Norway only);  View location at ICC (Catalonia only);  View location UTM coordinates;  View KML in...\"\nid=\"igps_extrasmenu\"\ntitle=\"Geoencode...;  Fast Full-Catalog Proximity Search...;  Geoencode selected photos from Google Earth;  Pinpoint location in Google Earth;  View selected locations as KML in Google Earth;  View location at Google Maps;  View location at Yahoo! Maps;  View location at Yahoo! Japan Maps;  View location at Apple Maps;  View location at Flickr;  View location at Panoramio;  View location at GeoHash.org;  View location at OpenStreetMap;  View location at OpenCycleMap;  View location at Multimap;  View location at WikiMapia;  View location at GeoHack (map-server directory);  View location at Microsoft Bing (old Web 2.0 style);  View location at Microsoft Bing (new snazzy interface);  View location at MapFan.com (Japan Only);  View location as OSGB36 (Great Britain only);  View location at Daum (Korea only);  View location at G\u00e9oportail (in French);  View location at Skog og landskap (Norway only);  View location at ICC (Catalonia only);  View location UTM coordinates;  View KML in...\"\/><\/div>\n\n<p>The plugin's menu items are highlighted in red.... you can do quite\n<span class='nobr'>a bit.<\/span> (If the number of items is <span\nclass='nobr'>a bit<\/span> overwhelming, you can <a href='#config'>configure\nthe plugin<\/a> to omit the menu items you don't need.)<\/p>\n\n<p>The yellow arrow in the screenshot highlights the plugin's main menu\nitem, <span class='nobr'><span\nclass='QO'>&#8220;<\/span><b>Geoencode...<\/b><span\nclass='QC'>&#8221;<\/span>,<\/span> which brings up the Geoencoding dialog <a\nhref='#main_dialog'>shown below<\/a>. With it you can geoencode and\nreverse-geoencode your photos in various ways.<\/p>\n\n\n\n<p>Personally, I use this geoencoding dialog so much that <span\nclass='nobr'>I assigned<\/span> <span class='nobr'>a keyboard<\/span>\nshortcut to it. <span class='nobr'>You can assign<\/span> your own keyboard\nshortcuts, as <a href='#shortcuts'>described here<\/a>.<\/p>\n\n\n\n\n<p class='h' id='main_dialog'>The Main Geoencoding Dialog<\/p>\n\n<p>This plugins's geoencoding dialog looks like this:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-tracklog.png\" width=\"700\" height=\"424\"\nid=\"igps_tab_tracklog\"\/><\/div>\n\n<p>It has tabs for distinct tasks, with the dialog first opening up to the\n<span class='QO'>&#8220;<\/span>Tracklog<span class='QC'>&#8221;<\/span> tab,\nas shown above. Several tabs provide different methods to geoencoding\nphotos (to assign latitude and longitude to photos), while other tabs\nprovide for reverse geoencoding photos (filling in the\ncity\/state\/country\/location based upon the latitude and longitude).<\/p>\n\n<p class='hh' id='better-geoencoding'>The Tracklog Tab<\/p>\n\n<p>Lightroom has tracklog support built in, but this plugin's tracklog\nsupport is far superior:<\/p>\n\n<style type=\"text\/css\">\np.hh { font-weight: bold; font-size: 110%; margin-top:40px }\nul#better-geo-list li { margin-bottom: 8px }\n<\/style>\n<ul id='better-geo-list'>\n\n<li>In addition to the latitude and longitude, this plugin actually fills\nin the altitude from the tracklog, which Lightroom's built-in support\ninexplicably ignores.<\/li>\n\n<li>The plugin adds <span class='QO'>&#8220;<\/span>speed<span\nclass='QC'>&#8221;<\/span> and <span class='QO'>&#8220;<\/span>bearing<span\nclass='QC'>&#8221;<\/span> metadata to each image.<\/li>\n\n<li>The plugin can automatically add map links (to <span class='nobr'>a\nvariety<\/span> of online mapping services) to the metadata for each image,\neasily accessible via Library's <span\nclass='QO'>&#8220;<\/span>Metadata<span class='QC'>&#8221;<\/span> panel\n(especially if you use my <a\nhref='\/blog\/lightroom-goodies\/metadata-presets'>metadata-viewer\npreset builder<\/a> to include the map link in the default metadata view\nLightroom shows for each photo).<\/li>\n\n<li>This plugin can handle multiple tracklogs at once.<\/li>\n\n<li>This plugin has no built-in limit on the size of the tracklogs.<\/li>\n\n<li>The plugin can handle almost any kind of tracklog format (not just GPX\nlike Lightroom's built-in support) via automatic conversion with <a\nhref='http:\/\/en.wikipedia.org\/wiki\/Gpsbabel'>gpsbabel<\/a>. <span\nclass='nobr'>The plugin<\/span> also has built-in support for the\nincorrectly-formatted tracklog files produced by some popular phone\nlocation-tracking apps.<\/li>\n\n<li>The handling of timezone offset is clear and actually works.<\/li>\n\n<li>You can easily compensate for <span class='nobr'>a camera<\/span> clock\nthat was off <span class='nobr'>a bit.<\/span><\/li>\n\n<li>You control the <span class='QO'>&#8220;<\/span>fuzziness<span\nclass='QC'>&#8221;<\/span> for how close in time <span class='nobr'>a\nphoto<\/span> can be affected by <span class='nobr'>a tracklog<\/span> data\npoint.<\/li>\n\n<li>You can easily view the tracklog in Google Earth.<\/li>\n\n<li>You can automatically apply custom reverse-geoencode data as you apply\nthe tracklog, so (for example) <span class='nobr'>a photo<\/span> taken at\n<span class='nobr'>a park<\/span> you frequent automatically gets the name\nof the park filled in to the <span class='QO'>&#8220;<\/span>location<span\nclass='QC'>&#8221;<\/span> metadata item, as well as the city\/state\/country\nmetadata items.<\/li>\n\n\n\n<li><p id='fill-gaps'>As of version <tt>20161016.270<\/tt>, you can have the plugin try to fill in for certain kinds of gaps\nin <span class='nobr'>a tracklog.<\/span><\/p>\n\n<img loading=\"lazy\" decoding=\"async\" src=\"\/i\/s\/gps-fill-in-gaps-dialog.png\" width=\"600\" height=\"34\"\nclass=\"raw\"\nid=\"igps_fill_in_gaps_dialog\"\nstyle=\"margin-left:2em\"\/>\n\n<p>The idea is that if you (for example) enter <span class='nobr'>a restaurant<\/span> for an hour, you might end up with an hour's gap\nin the tracklog, bookmarked by datapoints near the front door. <span class='nobr'>In this case<\/span>, <span class='nobr'>a photo<\/span> of your dessert\ntaken half way in wouldn't normally get processed by the plugin, but using this <span class='QO'>&#8220;<\/span>fill in pauses<span class='QC'>&#8221;<\/span> feature\nset to (say) two hours and 100 meters, photos taken inside will at least get geoencoded to the entrance location. <span class='nobr'>It's not ideal<\/span>, but perhaps better than nothing.<\/p>\n\n<p>On the other hand, if you (for example) entered <span class='nobr'>a subway<\/span> and rode <span class='nobr'>a long<\/span> distance to where you had desert, then\nreturned to emerge out from the same subway entrance, you'd not want to use this feature because the\nwhere you took the photo would be <span class='nobr'>a great<\/span> distance from the gap locations (the entrance and exit of the subway),\neven though those two locations are themselves close to each other.<\/p>\n\n<\/li>\n\n<\/ul>\n<p>This plugin supported tracklog geoencoding for <i>years<\/i> before\nLightroom supported <i>any<\/i> kind of geoencoding. (I've geoencoded all my\nphotos with it since 2008; Lightroom didn't get built-in geoencoding until\n2012.) The passion and care <span class='nobr'>I have<\/span> for\ngeoencoding comes out in the many features this plugin has.<\/p>\n\n\n<p class='hh' id='tab-static'>The Static-Location Tab<\/p>\n\n<p>The second tab of the Geoencoding Dialog is <span\nclass='QO'>&#8220;<\/span><b>Static Location<\/b><span\nclass='QC'>&#8221;<\/span>:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-static.png\" width=\"700\" height=\"260\"\nid=\"igps_tab_static\"\/><\/div>\n\n<p>Here you can type in a latitude\/longitude, cut-n-paste the URL from an\nonline mapping service to grab the location currently shown there, import\nthe current location from Google Earth, or import the location from the\nalready-geoencoded most-selected image (which is useful for copying <span\nclass='nobr'>a location<\/span> from one image to another or others).<\/p>\n\n<p>This method of geoencoding was particularly useful before Lightroom\nadded the Map Module in Lr4, but it can still be useful when you need to\ncut-n-paste <span class='nobr'>a location<\/span> from outside of Lightroom.\nThe <span class='QO'>&#8220;<\/span>Help<span class='QC'>&#8221;<\/span> tab\ngives examples of some of the many ways you can indicate <span\nclass='nobr'>a location.<\/span><\/p>\n\n<p>Note: the ability to import the current view location of Google Earth is spotty, and for mysterious reasons\nit simply doesn't work for some folks. I've spent considerable time trying to figure it out, but have been unable to.<\/p>\n\n<p class='hh' id='tab-between'>The Between-Points Tab<\/p>\n\n<p>The next tab of the Geoencoding Dialog, which you'll likely never need,\nis <span class='QO'>&#8220;<\/span><b>Between Points<\/b><span\nclass='QC'>&#8221;<\/span>:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-between.png\" width=\"700\" height=\"239\"\nid=\"igps_tab_between\"\/><\/div>\n<p>This tab allows you to apply locations two photos between two points as\nif you were moving at <span class='nobr'>a constant<\/span> speed between\nthem. <span class='nobr'>It's useful<\/span> only in fairly specific\ncases.<\/p>\n\n\n\n\n<p class='hh' id='tab-reverse-geo'>Reverse-Geoencoding Tab<\/p>\n\n<p>The next tab of the Geoencoding Dialog is the powerful <span\nclass='QO'>&#8220;<\/span><b>Reverse Geoencoding<\/b><span\nclass='QC'>&#8221;<\/span> tab:<\/p>\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-reverse.png\" width=\"700\" height=\"430\"\nid=\"igps_tab_reverse\"\/>\n<br\/><small class='subtle-less'>(this is an old view of the dialog; the plugin now has a tab to swap between Google and OpenStreetMap)<\/small>\n<\/div>\n\n\n<p>This is far superior to the reverse-geoencoding support built into\nLightroom, so <span class='nobr'>I always<\/span> leave Lightroom's\nreverse-geoencoding support turned off (via the checkbox in the <span\nclass='QO'>&#8220;<\/span>Metadata<span class='QC'>&#8221;<\/span> tab of\nLightroom's <span class='QO'>&#8220;<\/span>Catalog Settings<span\nclass='QC'>&#8221;<\/span> preferences dialog).<\/p>\n\n<p>The plugin can reverse-geoencode via both Google and OpenStreetMap,\nthough in order to use Google, you must create a developer's API key, and enter that\ninto the plugin in the Plugin Manager. (The egregiously-complex steps needed to\ncreate the Google API key are beyond my ability to explain as of yet, sorry.)<\/p>\n\n<p>The plugin's reverse geocoding is much smarter than Lightroom's built in reverse geocoding, about how it interprets and formats\nthe results. Some of the <span class='QO'>&#8220;<\/span>smarts<span class='QC'>&#8221;<\/span> are exposed via options in the left\nhalf of the reverse-geoencoding tab.<\/p>\n\n<p>In particular, the plugin can be configured to set the <span\nclass='QO'>&#8220;<\/span>location<span class='QC'>&#8221;<\/span> metadata\nfor each photo based upon the kind of data that Google returns, with\npriorities for each kind of name set to your liking.<\/p>\n\n<p>The right half of the tab shows my personal settings for <span\nclass='nobr'>a powerful<\/span> feature that Lightroom lacks completely: the\nability to specify your own personal reverse-geoencoding locations. For\nexample, on <span class='nobr'>a private<\/span> Google Maps map that you\nmaintain in your browser, you might draw the outline around your kid's\nschool and mark it with the name of the school. Then, when geoencoding with\nthe plugin (or explicitly reverse-geoencoding with this tab), the name of\nthe school will be inserted into the <span\nclass='QO'>&#8220;<\/span>Location<span class='QC'>&#8221;<\/span> metadata\nfor images located within the outline you drew.<\/p>\n\n\n\n<p class='hh' id='tab-oneby'>The One-by-One Tab<\/p>\n\n<p>The next tab of the Geoencoding Dialog is the sort-of-odd <span class='QO'>&#8220;<\/span><b>One by One<\/b><span class='QC'>&#8221;<\/span> tab:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-oneby.png\" width=\"750\" height=\"476\"\nid=\"igps_tab_oneby\"\/><\/div>\n\n<p>This tab allows you to bring up <span class='nobr'>a dialog<\/span> where you can scroll through\nimages one by one, geoencoding and reverse-geoencoding in various ways. <span class='nobr'>It can be<\/span> <span class='nobr'>a bit<\/span> kludgy because of the limits Lightroom places on <span class='nobr'>a plugin's<\/span>\nability to create <span class='nobr'>a dialog,<\/span> but the plugin goes to great lengths to make it\nuseful.<\/p>\n\n<p>It's not a tab one needs for most workflows, but it can be convenient at times.<\/p>\n\n\n\n<p class='hh' id='tab-etc'>The Etc. Tab<\/p>\n\n<p>The <span class='QO'>&#8220;<\/span><b>Etc<\/b><span class='QC'>&#8221;<\/span> tab has <span class='nobr'>a few<\/span> odd and ends:<\/p>\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-tab-etc.png\" width=\"700\" height=\"220\"\nid=\"igps_tab_etc\"\/><\/div>\n\n<p>This tab lets you do a few random extra things, including configure the\nkind of mapping URL gets associated with images geoencoded by the plugin\n(so that from Library you can just click on the link and see the location\nin your preferred mapping service).<\/p>\n\n<p>The same mapping-site URL configuration applies to the <span\nclass='QO'>&#8220;<\/span><a href='#viewat'>View Location At Google<\/a><span\nclass='QC'>&#8221;<\/span> and <span class='QO'>&#8220;<\/span>View Location\nAt Yahoo!<span class='QC'>&#8221;<\/span> items in the <span\nclass='QO'>&#8220;<\/span><b>File &gt; Plugin Extras<\/b><span\nclass='QC'>&#8221;<\/span> menu.<\/p>\n\n\n<p class='h' id='config'>Extra Configuration and Keyboard Shortcuts<\/p>\n\n<p>Besides the many configuration options in the tabs shown above, two overall configuration items\nare in the plugin manager, as highlighted by the arrows in this screenshot:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-pluginmanager.png\" width=\"654\" height=\"415\"\nid=\"igps_pluginmanager\"\/><\/div>\n\n<p>The yellow arrow highlights an option to use <span class='nobr'>a smaller,<\/span> terse geoencoding dialog. This may be required\non systems with very small screens, as the default dialog may be too big to fully fit such systems.<\/p>\n\n<p>The red arrow highlights the button that brings up <span class='nobr'>a dialog<\/span> allowing you to configure the items that appear\nin the <span class='QO'>&#8220;<\/span>Plugin Extras<span class='QC'>&#8221;<\/span> menu (as illustrated by the first screenshot on this page). The many <span class='QO'>&#8220;<\/span>View location at...<span class='QC'>&#8221;<\/span>\nitems can be <span class='nobr'>a distraction<\/span> if you'll never use all of them, so this dialog allows you to omit ones you don't need from the menu.\nHere's what the dialog looks like on Windows:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-menuconfig.png\" width=\"538\" height=\"805\"\nid=\"igps_menuconfig\"\/><\/div>\n\n<p>The items at the bottom allow you to configure the plugin to work with\nany <a href='http:\/\/en.wikipedia.org\/wiki\/Kml'>KML<\/a>-handling app. <span\nclass='nobr'>The most notable<\/span> KML-handling app is Google Earth,\nsupport for which is built in various way via items toward the top of the\nlist.<\/p>\n\n<p id='shortcuts'>The box at the left of each item appears only in the\nWindows version of the dialog, and allow you to set the keyboard shortcut\nletter for that item. See <a\nhref='http:\/\/thephotogeek.com\/keyboard-shortcut-lr-plugin-menu-item\/'>this\nlink<\/a> for more on how to set keyboard shortcuts under Windows.<\/p>\n\n<p>It's much easier to set keyboard shortcuts on <span class='nobr'>a Mac,<\/span> and you don't need\nanything in this dialog to do it; scroll down half way on <a\nhref='http:\/\/thephotogeek.com\/keyboard-shortcut-lr-plugin-menu-item\/'>the\nsame link<\/a> for instructions.<\/p>\n\n<p>Note: in order for changes to take effect after updating settings in\nthis dialog, you have to reload the plugin (via the button in the plugin\nmanager), or restart Lightroom. Also, in order to update settings in this\ndialog to begin with, the plugin must be able to write to its own code,\nwhich may not actually be possible depending on the folder permissions for\nwherever you've saved the plugin.<\/p>\n\n\n<p class='h' id='metadata'>Inspecting Your Location Metadata<\/p>\n\n<p>Lightroom's built-in Map Module is great for viewing your photos on <span class='nobr'>a\nmap.<\/span> Adding to that, this plugin provides ways to view <span class='nobr'>a photo's<\/span> location\n<a href='#in_earth'>in Google Earth<\/a> and <a href='#viewat'>at 20+ online\nservices<\/a>. <span class='nobr'>But the plugin<\/span> provides more than just <span class='nobr'>a location<\/span> on <span class='nobr'>a map.<\/span>..\nif you geoencode via <a href='#better-geoencoding'>the plugin's Tracklog\ntab<\/a>, you also get altitude, speed, and bearing.<\/p>\n\n<p>The plugin includes a convenient <span class='QO'>&#8220;<\/span>Geoencoding<span class='QC'>&#8221;<\/span> preset for the <span class='QO'>&#8220;<\/span>Metadata<span class='QC'>&#8221;<\/span> panel in Library and Map, as illustrated here:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-metadata.png\" width=\"643\" height=\"500\"\nclass=\"raw\"\nid=\"igps_metadata\"\/><\/div>\n\n<p>It can be inconvenient to toggle between your normal metadata view\n(<span class='QO'>&#8220;<\/span>Default<span class='QC'>&#8221;<\/span>) and the Geoencoding view, so you may want to use <a\nhref='\/blog\/lightroom-goodies\/metadata-presets'>my\nMetadata-Viewer Preset Editor plugin<\/a> to select the metadata items you\npersonally find useful, in the order you find them useful, with the names\nyou find useful.<\/p>\n\n<p>As an example, here's the view that <span class='nobr'>I personally<\/span> use in my day-to-day Lightroom work:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-metadata-jeffs.png\" width=\"328\" height=\"801\"\nid=\"igps_metadata_jeffs\"\/><\/div>\n\n<p>It includes plugin-specific items from this Geoencoding-support plugin,\nand from <a\nhref='\/blog\/lightroom-goodies\/creative-commons'>my\nCreative Commons plugin<\/a>. <span class='nobr'>It also renames<\/span> many fields to match how <span class='nobr'>I use<\/span>\nthem in my workflow, and orders and groups things to my liking.<\/p>\n\n\n<p class='h' id='proximity_search'>Fast Whole-Catalog Proximity Search<\/p>\n\n<p>If you photograph in the same areas over the years, it can be very nice to quickly find other photos in your catalog from\nearlier visits to the same general area. The plugin's <span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt;\nGeoencoding Support &gt; Fast Full-Catalog Proximity Search<span class='QC'>&#8221;<\/span> menu item brings up the dialog:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/fast-proximity-search-dialog.png\" width=\"690\" height=\"363\"\nclass=\"raw\"\nid=\"ifast_proximity_search_dialog\"\/><\/div>\n\n<p>which then creates a collection for you and fills it in as appropriate:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/fast-proximity-search-results.png\" width=\"690\" height=\"518\"\nclass=\"raw\"\nid=\"ifast_proximity_search_results\"\/><\/div>\n\n\n<p>On a Mac this is extremely fast (100,000 images can be searched in <span class='nobr'>a few<\/span> seconds). <span class='nobr'>On Windows<\/span> it takes <span class='nobr'>a couple<\/span> of minutes,\nbut that's still <i>much<\/i> faster than trying to do it with Lightroom's native support.<\/p>\n\n<p>For more info, see <span class='QO'>&#8220;<\/span><a class='pt' href='\/blog\/2013-10-11\/2319'>The Joy of <span class='nobr'>a Fast<\/span> Photo Proximity Search in Lightroom<\/a><span class='QC'>&#8221;<\/span>.<\/p>\n\n\n\n\n<p class='h' id='in_earth'>Viewing Photos in Google Earth<\/p>\n\n<p>Via the <span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt;\nGeoencoding Support &gt; View selected locations as KML in Google Earth<span class='QC'>&#8221;<\/span> menu item you get this dialog:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-kml-dialog.png\" width=\"690\" height=\"721\"\nid=\"igps_kml_dialog\"\/><\/div>\n\n<p>You can include photos and\/or tracklogs (or neither, to just one location marker per photo). <span class='nobr'>It creates<\/span> <span class='nobr'>a KML<\/span> or KMZ file that you can share\nwith others. <span class='nobr'>The tracklog<\/span> and some of the photos from\n<span class='QO'>&#8220;<\/span><a href='\/blog\/2014-06-01\/2426' class='pt'>My Mt. Hiei Climb Challenge 2014<\/a><span class='QC'>&#8221;<\/span> outing appear in Google Earth like this:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/lr\/gps-in-earth2.png\" width=\"750\" height=\"558\"\nid=\"igps_in_earth2\"\/><\/div>\n\n<p>You can see the tracklog in red, with thumbnails appearing where <span class='nobr'>I took<\/span> photos along the route. <span class='nobr'>I'd clicked<\/span> on one photo to open it up and show\n<span class='nobr'>a larger<\/span> version, along with some data about the photo.<\/p>\n\n<p>The specific data about the photo to be shown is configured in the dialog's <span class='QO'>&#8220;<\/span>Custom photo description<span class='QC'>&#8221;<\/span>\nboxes, where you can specify each photo's title and caption be created using its own\nmetadata (via the <a\nhref='\/blog\/lightroom-goodies\/template'>template\ntokens<\/a> that my plugins support).<\/p>\n\n\n<p class='h' id='earth'>Other Google Earth Interaction<\/p>\n\n<p>The <span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt;\nGeoencoding Support<span class='QC'>&#8221;<\/span> menu contains two other Google Earth features:<\/p>\n\n<ul>\n<li><p><b>Pinpoint location in Google Earth<\/b><\/p>\n<p>Sends the location of the currently-selected image to Google Earth.<\/p><\/li>\n\n<li><p><b>Geoencode selected photos from Google Earth<\/b><\/p>\n\n<p>A self-explanatory item, this takes the current location at the center\nof your Google Earth view and applies it to the currently-selected image(s)\nin Lightroom. This is less valuable now that Lightroom supports drag-n-drop\nin the Map Module, but it may be useful if you prefer Google Earth to the\nGoogle Maps view that Lightroom uses. (Unfortunately, this feature <a href='\/blog\/lightroom-goodies\/faq#earth'>doesn't seem to work<\/a> for some Windows users.)<\/p><\/li>\n<\/ul>\n\n<p>See\n<span class='QO'>&#8220;<\/span><a href='\/blog\/2009-06-02\/1225' class='pt'><span class='nobr'>A Better<\/span> Center-Crosshair Target for Google Earth<\/a><span class='QC'>&#8221;<\/span>\nfor something that makes interacting with specific locations in Google Earth much easier.<\/p>\n\n<p class='h' id='viewat'>View Location At....<\/p>\n\n<p>The <span class='QO'>&#8220;<\/span>File &gt; Plugin Extras &gt;\nGeoencoding Support<span class='QC'>&#8221;<\/span> menu contains many <span class='QO'>&#8220;<\/span>view location at<span class='QC'>&#8221;<\/span> items that send the\nlocation of the currently-selected image to an online mapping service, including:<\/p>\n\n<ul>\n<li>View location at Google Maps<\/li>\n<li>View location at Yahoo! Maps<\/li>\n<li>View location at Yahoo! Japan Maps<\/li>\n<li>View location at Apple Maps<\/li>\n<li>View location at Flickr<\/li>\n<li>View location at Panoramio<\/li>\n<li>View location at GeoHash.org<\/li>\n<li>View location at OpenStreetMap<\/li>\n<li>View location at OpenCycleMap<\/li>\n<li>View location at Multimap<\/li>\n<li>View location at WikiMapia<\/li>\n<li>View location at GeoHack (map-server directory)<\/li>\n<li>View location at Microsoft Bing (old Web 2.0 style)<\/li>\n<li>View location at Microsoft Bing (new snazzy interface)<\/li>\n<li>View location at MapFan.com (Japan Only)<\/li>\n<li>View location as OSGB36 (Great Britain only)<\/li>\n<li>View location at Daum (Korea only)<\/li>\n<li>View location at G\u00e9oportail (in French)<\/li>\n<li>View location at Skog og landskap (Norway only)<\/li>\n<li>View location at ICC (Catalonia only)<\/li>\n<li>View location's UTM coordinates<\/li>\n<\/ul>\n\n<p>As mentioned earlier, you <a href='#config'>can configure which ones\nactually appear<\/a> in your menu so that you can keep the list uncluttered\nfor your workflow.<\/p>\n\n<p>For the <span class='QO'>&#8220;<\/span>Google Maps<span class='QC'>&#8221;<\/span> and <span class='QO'>&#8220;<\/span>Yahoo! Maps<span class='QC'>&#8221;<\/span> items, you can configure which\nlanguage they use via the <span class='QO'>&#8220;<\/span>configure urls<span class='QC'>&#8221;<\/span> button in <a href='#tab-etc'>the\nEtc. tab<\/a> of the Geoencoding Dialog. For Google, you can also choose\nwhether you want the normal street map, satellite, <span class='nobr'>a hybrid<\/span> view, or\nterrain, and whether you want the <span class='QO'>&#8220;<\/span>Photos<span class='QC'>&#8221;<\/span> layer turned on by default.<\/p>\n\n<p style='margin-top:25px'><b>An Aside, on the Effort that <span class='nobr'>I Put<\/span> Into This Plugin.<\/b><\/p>\n\n<p>Some of the <span class='QO'>&#8220;<\/span>View location at...<span\nclass='QC'>&#8221;<\/span> items were surprisingly difficult to support.<\/p>\n\n<p>Lightroom natively works with <span class='QO'>&#8220;<\/span>latitude\nand longitude<span class='QC'>&#8221;<\/span>, but that's not quite as\nstandard as you might think. I, at least, was surprised to find out that\nlatitude and longitude are not absolute concepts, but ideas whose practical\nmeaning has changed over the years, both because measurement systems have\nimproved over the years, and, well, continents actually drift (and, of\ncourse, the earth quakes).<\/p>\n\n<p>For example, the standard of latitude and longitude used by most\nconsumer products like Lightroom is called <span class='nobr'><span\nclass='QO'>&#8220;<\/span>WGS 84<span class='QC'>&#8221;<\/span>.<\/span> It's\nwhat GPS satellites and Google Maps use, which perhaps accounts for its\npopularity. <span class='nobr'>But if you<\/span> take a <span\nclass='nobr'><span class='QO'>&#8220;<\/span>WGS 84<span\nclass='QC'>&#8221;<\/span><\/span> latitude and longitude from your GPS\ndevice or Lightroom, and plug it into the map at the venerable Japanese\nmapping service <a href='http:\/\/mapfan.com'>MapFan.com<\/a>, it'll show you\n<span class='nobr'>a location<\/span> several hundred meters away. Just how far off, and in what\ndirection, depends on the location.<\/p>\n\n<p>The reason is that MapFan.com, which long predates Google's very\nexistence, uses an old Japanese standard for <span\nclass='QO'>&#8220;<\/span>latitude and longitude<span\nclass='QC'>&#8221;<\/span>, which was set in stone figuratively (<a\nhref='http:\/\/www.gsi.go.jp\/ENGLISH\/page_e30030.html'>and literally<\/a>)\nmuch earlier, when measurement systems weren't as accurate.<\/p>\n\n<p>I suppose that by the time MapFan.com came around, the corpus of\nlocation data (the exact location of each road edge, business, street sign,\netc.) was too entrenched in the old standard to update to <span\nclass='nobr'>WGS 84<\/span>. Such an update would be arduous because it's\nnot just <span class='nobr'>a simple<\/span> recalculation... you have to\nadjust for different errors made in different parts of the country.<\/p>\n\n<p>In any case, I can't have the <span class='QO'>&#8220;<\/span><i>View\nlocation at MapFan.com<\/i><span class='QC'>&#8221;<\/span> feature of my\nplugin send the user <span class='nobr'>a quarter<\/span> mile away from the\nproper spot, so <span class='nobr'>I had<\/span> to build <span\nclass='nobr'>a system<\/span> to translate the <span class='nobr'>WGS\n84<\/span> coordinates that Lightroom gives the plugin, to the <span\nclass='QO'>&#8220;<\/span>Tokyo Datum<span class='QC'>&#8221;<\/span>\ncoordinates that MapFan.com needs. Again, this is not <span class='nobr'>a\nsimple<\/span> mathematical adjustment... the amount of error varies\npseudo-randomly across the landscape of Japan. So, <span class='nobr'>I\nbuilt<\/span> into the plugin <span class='nobr'>a grid<\/span> system of\nhundreds of sampled points across Japan, then interpolate the error for\nevery photo's location to the nearest known grid error points. <span\nclass='nobr'>The result<\/span> is that when the plugin sends you to <span\nclass='nobr'>a location<\/span> at MapFan.com, the location is off at worst by\nonly <span class='nobr'>a couple<\/span> of feet instead of <span\nclass='nobr'>a quarter<\/span> mile.<\/p>\n\n<p>Another tough one is sites that use <a\nhref='http:\/\/en.wikipedia.org\/wiki\/Universal_Transverse_Mercator_coordinate_system'>UTM<\/a>\ninstead of latitude and longitude. <span class='nobr'>The conversion<\/span>\nis easier in that it's purely mathematical, but wow, the math is beyond my\nunderstanding. Thankfully, <span class='nobr'>I don't<\/span> have to\nunderstand it to program it, so the plugin can handle UTM coordinates.<\/p>\n\n<p>Then we have Great Brittian's <a\nhref='http:\/\/en.wikipedia.org\/wiki\/British_national_grid_reference_system'>Ordnance\nSurvey National Grid reference system<\/a> which is another old system that\ncan be related to <span class='nobr'>WGS 84<\/span> via some very hairy\nmath that <span class='nobr'>I don't<\/span> understand, but could implement.<\/p>\n\n\n\n<p class='h' id='availability'>Plugin Availability<\/p><p>This plugin is distributed as &#8220;donationware&#8221;. I have chosen to make it available for free &mdash; everyone can use\nit forever, without cost of any kind &mdash; but unless registered, its functionality is somewhat reduced after six weeks.<\/p>\n\n<p>Registration is done via PayPal, and if you choose to register, it costs the minimum 1-cent PayPal fee; any amount you'd like\nto add beyond PayPal's sliding fees as a gift to me is completely optional, and completely appreciated.<\/p>\n\n<p id='majorupgrade'><b>Note<\/b>: a Lightroom <i>major<\/i> upgrade, such as from Lr10 to Lr11 de-registers the plugin in the\nupgraded version, so if you want to maintain registration, a new ($0.01 if you like) registration code is needed in the upgraded\nversion. It makes for a hassle every couple of years, I know. Sorry. See <a\nhref='\/blog\/lightroom-goodies\/register#major-upgrade'>this note<\/a> for details.<\/p>\n\n<p>For details on plugin registration and on how I came into this hobby of Lightroom plugin development, see my <a\nhref='\/blog\/lightroom-goodies\/register'>Plugin Registration page<\/a>.<\/p>\n\n\n<div style='margin-top:50px; color:#888; font-size:90%; border:solid 1px #333; padding-left:4px'>\n\n<p style='margin-top:0' class='h' id='old'>Old Support Under <span class='nobr'>Lightroom 2<\/span> and <span class='nobr'>Lightroom 3<\/span>\n<br\/><span style='font-size:70%; color:#900'>This section <u>does not apply<\/u> for <span class='nobr'>Lightroom 4<\/span> and later<\/span><\/p>\n\n<p>As described on <a href='\/blog\/2008-10-29\/979'\nclass='quiet'>the initial-release announcement in 2008<\/a>, the plugin\nmaintains &#8220;Shadow&#8221; GPS data, separate from any GPS data that\nmay or may not be held in Lightroom's library database. <span class='nobr'>The plugin<\/span> has to\ndo this because Adobe didn't add the ability for <span class='nobr'>a plugin<\/span> to update <span class='nobr'>a\nphoto's<\/span> latitude and longitude until <span class='nobr'>Lightroom 4,<\/span> so for prior versions the\nplugin must maintain its own mapping.<\/p>\n\n<p>The shadow data is recognized and used in <span class='nobr'>a\nvariety<\/span> of situations, but not in others, so it's important to\nunderstand which is which.<\/p>\n\n<p>These <i>do<\/i> understand the shadow GPS data:<\/p>\n<ul>\n  <li>Any image export in which the &#8220;Shadow GPS Injector&#8221; is enabled.<\/li>\n  <li>My <a href='\/blog\/lightroom-goodies\/gps-proximity\/'>GPS Proximity Search<\/a> plugin.<\/li>\n  <li>Tim Armes' <a href='http:\/\/timothyarmes.com\/lrtransporter.php'>LR\/Transporter<\/a> plugin.<\/li>\n  <li>My &#8220;Export to..&#8221; plugins (for <a href='\/blog\/lightroom-goodies\/zenfolio\/'>Zenfolio<\/a>,\n<a href='\/blog\/lightroom-goodies\/smugmug\/'>SmugMug<\/a>,\n<a href='\/blog\/lightroom-goodies\/flickr\/'>Flickr<\/a>,\n<a href='\/blog\/lightroom-goodies\/picasaweb\/'>Picasa Web<\/a>, and\n<a href='\/blog\/lightroom-goodies\/facebook\/'>Facebook<\/a>).<\/li>\n  <li>The &#8220;Geoencoding...&#8221; metadata-viewer preset.<\/li>\n<\/ul>\n\n<p>The shadow GPS data is ignored in these situations:<\/p>\n<ul>\n  <li>Any image export in which the &#8220;Shadow GPS Injector&#8221; is not enabled.<\/li>\n  <li>The <tt>Metadata &gt; Save Metadata to File<\/tt> command.<\/li>\n  <li>Web-gallery exports.<\/li>\n  <li>The &#8220;GPS&#8221; and &#8220;GPS Altitude&#8221; items in standard metadata views.<\/li>\n<\/ul>\n\n<p>You can also write the shadow data into the original image files, which then can be read\nback into Lightroom as &#8220;real&#8221; GPS data that is understood everywhere.<\/p>\n<\/div>\n\n<style type=\"text\/css\">\n   table.h td:first-child   { font-weight: bold; padding-right:1em }\n   table.h td p:first-child { margin-top: 0 }\n   table.h td               { padding-bottom: 10px }\n   p.h                      { font-weight:bold; font-size:130%; margin-top:50px }\n   span.h                   { font-weight:bold; font-size:130%; margin-top:50px }\n   table.h pre              { font-size: 70% }\n<\/style>\n<p id='history' style='margin-top:50px'><span class='h'>Version History<\/span>\n<br\/>\n(\n<a style='font-size:small'\n   class='quiet'\n   href='https:\/\/regex.info\/LightroomPlugins2\/feeds\/gps.rss'>Update Log via RSS\n   <img class='raw' src='https:\/\/regex.info\/i\/s\/feed-icon-14x14.png' width='14' height='14' style='position:relative;top:3px'\/><\/a>\n)<\/p>\n<table class='h'><tr valign='baseline'><td><a id='20250725.362' name='362'>20250725.362<\/a><\/td><td>\nHopefully fixed an issue with remembering the Google Billing Key\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20250122.361' name='361'>20250122.361<\/a><\/td><td>\n<p>Blind change to hopefully allow proximity search to work with Lr5 again.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20241022.360' name='360'>20241022.360<\/a><\/td><td>\n<p>Yanked support for What3Words because they no longer free access.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20240917.359' name='359'>20240917.359<\/a><\/td><td>\n<p>Upgraded the What3Words support to the v3 API, which involves removing the ability to decode from three words to a location, as they no longer provide that functionality for free.<\/p>\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 12.76.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20240611.358' name='358'>20240611.358<\/a><\/td><td>\nCan now handle Lightroom's new cached-preview system (from Lr13.3)\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20231011.357' name='357'>20231011.357<\/a><\/td><td>\n<p><a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#CachedImagePreviewsFile'>CachedImagePreviewsFile<\/a> token.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 12.67.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220627.356' name='356'>20220627.356<\/a><\/td><td>\nUpdate the embedded version of sqlite3 for Windows.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220619.355' name='355'>20220619.355<\/a><\/td><td>\n<p>Updated a bunch of the \"View location at...\" URLs to use HTTPS, where supported. Added \"View at Apple Maps (via DuckDuckGo)\".\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220606.354' name='354'>20220606.354<\/a><\/td><td>\n<p>Removed a bunch of debug logging that was slowing down the LUA token.<a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Newline'>Newline<\/a> <\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 12.42.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220210.353' name='353'>20220210.353<\/a><\/td><td>\nMaybe work around a Windows XML-parsing bug.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20220120.352' name='352'>20220120.352<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#WEEKNUM'>WEEKNUM<\/a> token, along with DAYNUM, weeknum, and daynum.<\/p>\n                <p>Whack-a-mole with PayPal's random changes.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20211219.351' name='351'>20211219.351<\/a><\/td><td>\n<p>Warn when PayPal seems to have given a bogus code in the web-confirmation page.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20211018.350' name='350'>20211018.350<\/a><\/td><td>\nHandle \"between two endpoints\" geoencoding when the two endpoints are almost exactly the same point.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20210802.349' name='349'>20210802.349<\/a><\/td><td>\n<p>Fixed a problem with the KML output.<\/p>\n\n               <p>Fixed that the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Province'>Province<\/a> template token did not respect the plugin-specific geo-privacy settings.<\/p>\n\n               <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 12.25.<\/p>\n\n               <p>Fixed an issue with the {Newline} token, and added {Comma}, {Hyphen}, and {Space} for good measure.<\/p>\n\n               <p>Fixed a problem with filters on the {Keyword} token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20210415.348' name='348'>20210415.348<\/a><\/td><td>\n<p>Added 'separated by' to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support#token'>People<\/a> token.<\/p>\n\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#ImageViewDirection'>ImageViewDirection<\/a> and ImageViewBearing tokens.<\/p>\n\n                <p>Reworked the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Newline'>Keywords<\/a> token to better accept filters.<\/p>\n\n                <p>working around 'constant table overflow' error<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20201103.347' name='347'>20201103.347<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PF'>PF filter<\/a> to turn typographic fractions into plain-ASCII fractions.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20201028.346' name='346'>20201028.346<\/a><\/td><td>\n<p>Rebuilt zip.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20201018.345' name='345'>20201018.345<\/a><\/td><td>\n<p>Updates for Lr10.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200928.344' name='344'>20200928.344<\/a><\/td><td>\n<p>Added the ability to write the \"Speed\" field in mph and knots.<\/p>\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SpeedKnots'>SpeedKnots<\/a> token.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200809.343' name='343'>20200809.343<\/a><\/td><td>\n<p>Worked around an \"unknown key captureTime\" error.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200731.342' name='342'>20200731.342<\/a><\/td><td>\n<p>Added the {PlusCode} and {GeoHash} <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\">tokens<\/a>.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200330.341' name='341'>20200330.341<\/a><\/td><td>\n<p>Removed some of the \"view at...\" services that no longer seem to exist.<\/p>\n                <p>Added some of the \"view at...\" services to the \"set map urls...\" configuration.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200313.340' name='340'>20200313.340<\/a><\/td><td>\n<p>Added \"View Location at OpenTopoMap\"<\/p>\n                <p>Added the ability to save one's Google API key in other than the system vault, to try to get around these inexplicable \"CryptUnprotectData\"\n                 errors some folks on Windows encounter.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200308.339' name='339'>20200308.339<\/a><\/td><td>\n<p>Setting elevation from Google services sometimes didn't work the second time.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20200225.338' name='338'>20200225.338<\/a><\/td><td>\n<p>Fix a crash with reverse Geocoding.<\/p>\n                <p>Work around a Windows bug related to canceling out of the registration dialog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20191204.337' name='337'>20191204.337<\/a><\/td><td>\n<p>A blind change that <i>might<\/i> help get around a mysterious Lightroom \"CryptUnprotectData\" error that some Windows users see.\n                I'm not sure what part of the plugin might be related to that error, but taking an educated guess, and if correct, trying to at least\n                mitigate the effects of the bug.<\/p>\n               \n                <p>Make the tracklog-loading status updates a bit more verbose.<\/p>\n                <p>Added some extra debug logging to note whether the plugin is enabled.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20191118.336' name='336'>20191118.336<\/a><\/td><td>\n<p>Added some extra debug logging to try to track down a problem.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20191029.335' name='335'>20191029.335<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 11.70.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190925.334' name='334'>20190925.334<\/a><\/td><td>\n<p>Added \"View at peakfinder.com\".<\/p>\n\n                <p>Updated the OpenStreetMap reverse geocoding to get around a bug they have that renders the \"state\" incorrectly.\/p>\n\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#RelativeFolder'>{RelativeFolder}<\/a> token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190903.333' name='333'>20190903.333<\/a><\/td><td>\n<p>About the custom Google API key, try to notice when it's invalid because billing hasn't been set up, and report that to the user.<\/p>\n\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#LensInfo'>LensInfo<\/a> template token.<\/p>\n\n                <p>Updated the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Exposure'>Exposure<\/a> token to allow customization.<\/p>\n\n                <p>More <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>token<\/a> work: added {Urls}, and updated {ISO} and {Copyright} to allow customization.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190817.332' name='332'>20190817.332<\/a><\/td><td>\n<p>Updated links to geoportail.gouv.fr<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190815.331' name='331'>20190815.331<\/a><\/td><td>\n<p>Updated the OpenStreetMap reverse search to provide more detail.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190810.330' name='330'>20190810.330<\/a><\/td><td>\n<p>Fixed the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SST1'>SST1<\/a> and SST2 tokens.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190731.329' name='329'>20190731.329<\/a><\/td><td>\n<p>Updated the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PublishCollectionName'>PublishCollectionName<\/a> token (and <tt>CollectionNames<\/tt> and <tt>CollectionFullNames<\/tt>) to remove the MIRROR: prefix from the name that mirrored collections within <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/collection-publisher'>my Collection Publisher plugin<\/a> automatically get.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190708.328' name='328'>20190708.328<\/a><\/td><td>\n<p>Added functions <tt>uc()<\/tt>, <tt>ucFirst()<\/tt>, <tt>lc()<\/tt>, and <tt>lcFirst()<\/tt> to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#lua'>LUA<\/a> token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190622.327' name='327'>20190622.327<\/a><\/td><td>\n<p>Fixed a problem related to template tokens and photos without capture times.<\/p>\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 11.50.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190402.326' name='326'>20190402.326<\/a><\/td><td>\n<p>Updated What3Words functionality.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190402.325' name='325'>20190402.325<\/a><\/td><td>\n<p>Fix a typo.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190331.324' name='324'>20190331.324<\/a><\/td><td>\n<p>The \"Fill in location name from OpenStreetMap data\" option was not being honored.<\/p>\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#GPSCoords'>GPSCoords<\/a> token.<\/p>\n                <p>Report on the number of remote calls to Google\/OpenStreetMap done during bulk reverse geocoding.<\/p>\n                <p>Added the ability to set a metadata field with the <a href='https:\/\/what3words.com\/'>What3Words<\/a> location of a photo.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190323.323' name='323'>20190323.323<\/a><\/td><td>\n<p>Fix an \"Unknown key: captureTime\" crash.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190317.322' name='322'>20190317.322<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 11.30.<\/p>\n                <p>Updated the keyword-related <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>tokens<\/a> to accept standard filters.<\/p>\n                <p>Work around a bug that sometimes causes plugins to be disabled when starting Lightroom via clicking on a catalog file.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190219.321' name='321'>20190219.321<\/a><\/td><td>\n<p>Better handling of errors from OpenStreetMap.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190131.320' name='320'>20190131.320<\/a><\/td><td>\n<p>Added the ability to use your own Google API key. See the plugin manager. No documentation yet.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190124.319' name='319'>20190124.319<\/a><\/td><td>\nFixed the \"ReverseOpenStreetMap:342\" error.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20190106.318' name='318'>20190106.318<\/a><\/td><td>\n<p>Added \"Direction\" (the direction the camera is pointing) to the plugin's built-in field display set.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181226.317' name='317'>20181226.317<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#TempC'>TempC<\/a> and <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#TempF'>TempF<\/a> tokens.<\/p>\n\n                <p>Well, an era has come to an end. Google has started to charge for services that used to be, very kindly of them, free. Now, the charges\n                for the reverse-lookup feature are hundreds of dollars a month, and I just can't sustain that. They do give a certain amount of free credit\n                per month, so I'll try to turn on the reverse-lookup feature at the start of each month, but it'll get turned off once the free credit has\n                been used.<\/p>\n\n                <p>Hopefully in the near future I'll be able to add a way for individual users to use their own billing account at Google with the plugin.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181212.315' name='315'>20181212.315<\/a><\/td><td>\n<p>Fixed the \"Fill Elevation from Google Mapping Services\" function. It turns out that I have to pay for this now, so\n                I'll have to disable it if it becomes onerous.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181126.314' name='314'>20181126.314<\/a><\/td><td>\n<p>Updated catalog database-access routines to work better in older versions of Lightroom.<\/p>\n\n             -- <p>Added the <tt>PEOPLE<\/tt> variable to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#lua'><tt>LUA<\/tt> token<\/a>.<\/p>\n\n             -- <p>Fixed a problem with the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#SpeedKPH'>SpeedKPH<\/a> token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181025.313' name='313'>20181025.313<\/a><\/td><td>\n<p>Updated the \"View at Bing\" stuff to work with Bing's current maps.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181015.312' name='312'>20181015.312<\/a><\/td><td>\n<p>Updates for Lr8 (Lightroom Classic CC Version 8).<\/p>\n\n                <p>Added <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PP'>the special <tt>PP()<\/tt> function<\/a> to the {LUA} token.<\/p>\n                <p>Added hierarchical options to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Keywords'>the <tt>Keywords<\/tt> token<\/a>.<\/p>\n\n                <p>Re-enabled the \"Guess Timezone\" feature (in the \"Etc\" tab) after Google shut it down for free accounts. I'll now be charged\n                for it, so if it gets too much use, I'll have to shut it down, sorry.<\/p>\n\n                <p>Fixed an \"attempt to index a nil value\" error that I introduced in the previous version (sorry).<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181012.311' name='311'>20181012.311<\/a><\/td><td>\n<p>During reverse geocoding, the plugin had been filling in location names from Google even when not requested.<\/p>\n                <p>Highlight the \"Bulk Reverse-Geocode Selected Images With Settings Below\" button, which might otherwise feel visually hidden\n                at the top of the dialog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181011.310' name='310'>20181011.310<\/a><\/td><td>\n<p>Try to work around a Lightroom bug related to photo timezones and how Lightroom handles accessing plugin data.<\/p>\n                <p>Added some extra debug logging.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20181004.309' name='309'>20181004.309<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 11.01.<\/p>\n\n                <p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support#nicknames'>'nicknames' modifier<\/a> to the {People} token.<\/p>\n                <p>Added the SST1, SST2, and SS3 tokens to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> that\n                the plugin understands.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180906.308' name='308'>20180906.308<\/a><\/td><td>\n<p>Input fields that accept a location can now handle a What3Words code and a Plus Code.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180902.307' name='307'>20180902.307<\/a><\/td><td>\n<p>Fixed a problem with the input box for the fast full-catalog proximity search.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180804.306' name='306'>20180804.306<\/a><\/td><td>\n<p>Try to avoid having unexpectedly-long error messages create too-big a dialog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180731.305' name='305'>20180731.305<\/a><\/td><td>\n<p>Fixed the \"<small>CAN'T YIELD IN LOCATION GROKER<\/small>\" crash.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180718.304' name='304'>20180718.304<\/a><\/td><td>\n<p>Added support for displaying and accepting <a href='https:\/\/what3words.com\/'>What3Words<\/a> codes.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a>\n                to version 11.01.<\/p>\n\n                <p>Updates to handle new Google usage-quoata rules.<\/p>\n\n                <p>Clicking on the version number in the Plugin Manager now copies version info to the clipboard<\/p>\n\n                <p>Updated the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#PublishCollectionName'>PublishCollectionName<\/a> token to allow numeric arguments along the lines of the CollectionName token.<\/p>\n\n                <p>Added the folowing <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>:\n                <tt>{home}<\/tt>,  <tt>{desktop}<\/tt>, <tt>{temp}<\/tt>, <tt>{pictures}<\/tt>, <tt>{documents}<\/tt>,\n                <tt>{IptcDateTaken}<\/tt><\/p>\n\n                <p>Added the 'PCH' variable to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#LUA'>the {LUA} tag<\/a>.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180426.303' name='303'>20180426.303<\/a><\/td><td>\n<p>Fixed a bug when 'Token Examples' invoked in certain situations.<\/p>\n                <p>Moved the actually-do-it button from the bottom of the reverse-geocode tab to the top.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180409.302' name='302'>20180409.302<\/a><\/td><td>\n<p>Try to make the plugin-extras-config dialog fit on smaller screens.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180322.301' name='301'>20180322.301<\/a><\/td><td>\n<p>Added <a href='https:\/\/plus.codes\/'>Plus Codes<\/a> to the list of location formats the plugin understands.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180309.300' name='300'>20180309.300<\/a><\/td><td>\n<p>Fixed an issue with KML files and ampersands.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.82.<\/p>\n\n                 <p>Added a bunch of <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#filters'>token filters<\/a>: F2D F2S F2X B2D B2S B2X S2X A2D A2S A2X<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20180218.299' name='299'>20180218.299<\/a><\/td><td>\n<p>The values for 'bearing' that the plugin writes had been in the range of -180\u00b0 to +180\u00b0;\n                now it's properly in the range of 0\u00b0 to 360\u00b0.<\/p>\n   \n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171113.298' name='298'>20171113.298<\/a><\/td><td>\n<p>More bullet-proof parsing if user KML file.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171105.297' name='297'>20171105.297<\/a><\/td><td>\n<p>Handle temperature interpolation better.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171019.296' name='296'>20171019.296<\/a><\/td><td>\n<p>Oops, more Lr7 stuff.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171019.295' name='295'>20171019.295<\/a><\/td><td>\n<p>Updates for Lightroom 7<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20171012.294' name='294'>20171012.294<\/a><\/td><td>\n<p>The \"photo between lines\" feature of the KML-output stuff didn't respect all configuration options.<\/p>\n\n                <p>Better handle some character-encoding issues related to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>.<\/p>\n\n                <p>Allow the \"If Exists\" feature of <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>Templat Tokens<\/a> to work with the PluginProperty token.<\/p>\n\n                <p>Update registration support to handle a stupid bug at PayPal that PayPal refuses to fix )-:<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170912.293' name='293'>20170912.293<\/a><\/td><td>\n<p>Removed the \"view at\" for Skogoglandskap.no, and added norgeskart.no and nibio.no<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170904.292' name='292'>20170904.292<\/a><\/td><td>\n<p>Try to make database access (for fast full proximity search) more robust.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170710.291' name='291'>20170710.291<\/a><\/td><td>\n<p>Fixed a bug introuded the other day in template tokens, related to Windows filenames.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170621.290' name='290'>20170621.290<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#Newline'>Newline<\/a> template token.<\/p>\n\n                <p>Enhanced the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#FolderName'>FolderName token<\/a><\/p>\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.55.<\/p>\n\n                <p>Added the <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template#optional\">\"only if it has a value\" feature<\/a> to template tokens.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170520.289' name='289'>20170520.289<\/a><\/td><td>\n<p>Perhaps fixed a complex bug with the \"Between Points\" feature related to timezones differing\n                between the photos and the local computer.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170513.288' name='288'>20170513.288<\/a><\/td><td>\n<p>Fixed the KML output when a filename had an ampersand in it.<p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170507.287' name='287'>20170507.287<\/a><\/td><td>\n<p>Previous update broke the plugin in older versions of Lightroom, so fixed that.<\/p>\n                <p>Added bezel after fast full proximity search, and automatically switch to grid mode.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170429.286' name='286'>20170429.286<\/a><\/td><td>\n<p>Added a momentary \"Location copied to clipboard\" bezel feedback when that function is invoked.<\/p>\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.50.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170328.285' name='285'>20170328.285<\/a><\/td><td>\n<p>Woo-hoo, found a way to make the \"Fast Full-Catalog Proximity Search\" work again on OSX, *and* figured\n                out how to make it work for Windows.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170309.284' name='284'>20170309.284<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.40.<\/p>\n\n                <p>Added the following tokens to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens that my plugins understand<\/a>: Artworks, ArtworkTitle, ArtworkCopyright, ArtworkSource, ArtworkCreator, ArtworkDateCreated, ArtworkInventoryNum<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170307.283' name='283'>20170307.283<\/a><\/td><td>\n<p>Fix name-nesting issue with the KML preset dropdown.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170226.282' name='282'>20170226.282<\/a><\/td><td>\n<p>Try to handle French lat\/lon<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170220.281' name='281'>20170220.281<\/a><\/td><td>\n<p>Fixed a geoencoding bug WRT sparce tracklogs.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170209.280' name='280'>20170209.280<\/a><\/td><td>\n<p>Updated links to geoportail.gouv.fr<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170208.279' name='279'>20170208.279<\/a><\/td><td>\n<p>Added \"ISO8601Date\" to the <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\">template tokens<\/a>\n                that my plugins understand.<\/p>\n\n                <p>Now read\/saves temperature from tracklogs, if present.<\/p>\n\n                <p>Google reverse geo seems to now be returning the state\/province as a \"point of interest\" and as an \"establishment\",\n                which seems incorrect (I've logged a <a href='https:\/\/code.google.com\/p\/gmaps-api-issues\/issues\/detail?id=11429'>bug\n                here<\/a>), so now these are ignored.<\/p>\n\n                <p>Added the ability to also set the IPTC-extension fields \"Location Created\" and \"Location Shown\".<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170122.277' name='277'>20170122.277<\/a><\/td><td>\n<p>Removed \"View at Yahoo! Maps\", 'cause it no longer exists.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20170113.276' name='276'>20170113.276<\/a><\/td><td>\n<p>Added the &#8220;Copy location to clipboard&#8221; plugin-extras menu item. Removed the Panoramio one.<\/p>\n                <p>Switch the log-sending mechanism to https.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161206.275' name='275'>20161206.275<\/a><\/td><td>\n<p>Add some debug logging to \"dismiss dialog when finished\".<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161129.274' name='274'>20161129.274<\/a><\/td><td>\n<p>Be less aggressive about trying to avoid having to use a scrolling region. They're ugly,\n                but allow stuff to fit on the screen.<\/p>\n\n                <p>The \"Help\" tab had gotten dorked on Windows.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161126.273' name='273'>20161126.273<\/a><\/td><td>\n<p>Tidy up some reverse-geo results within the UK.<\/p>\n\n                <p>Added the ablity to use OpenStreetMap for reverse geocoding. I likely broke things splicing this in.<\/p>\n\n                <p>Added Weekday, Wday, weekday, and wday to the list of\n                <a href=\"https:\/\/regex.info\/blog\/lightroom-goodies\/template\">template tokens<\/a> that my plugins understand.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to\n                version 10.36.<\/p>\n\n                <p>Removed the old \"Shadow Injector\" post-process filter from Lr6 and beyond. It's used in Lr2\/Lr3 to geoencode\n                exported photos. Lightroom finally caught up with me in Lr4 and supported a native way for the plugin to do this,\n                so it's not needed from Lr4. But in Lr4\/Lr5 keep a spot for it to give folks time to gracefully upgrade their\n                export presets and publish services. Finally get rid of it in Lr6 to reduce the accumulation of clutter.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161020.272' name='272'>20161020.272<\/a><\/td><td>\n<p>Fixed a bug with the keyword tables in the <tt>LUA<\/tt> token.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161017.271' name='271'>20161017.271<\/a><\/td><td>\n<p>Fix a bug in the new tracklog stuff.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20161016.270' name='270'>20161016.270<\/a><\/td><td>\n<p>Added <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps#fill-gaps'>automatic gap-filling<\/a> to tracklog geoencoding.<\/p>\n\n                <p>Added the following tokens to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>the templates that my plugins understand<\/a>: <tt>FileModYYYY<\/tt>, <tt>FileModYY<\/tt>, <tt>FileModMM<\/tt>, <tt>FileModDD<\/tt>, <tt>FileModHH<\/tt>, <tt>FileModMIN<\/tt>, <tt>FileModSS<\/tt>, <tt>FileYYYY<\/tt>, <tt>FileYY<\/tt>, <tt>FileMM<\/tt>, <tt>FileDD<\/tt>, <tt>FileHH<\/tt>, <tt>FileMIN<\/tt>, <tt>FileSS<\/tt>.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.26.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160624.269' name='269'>20160624.269<\/a><\/td><td>\n<p>Added the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#FilenameNumber'>{FilenameNumber}<\/a> token to the templates that my plugins understand.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.20.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160511.268' name='268'>20160511.268<\/a><\/td><td>\n<p>Extra debug logging to figure out a screen-size issue.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160507.267' name='267'>20160507.267<\/a><\/td><td>\n<p>Fixed a font issue.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160415.266' name='266'>20160415.266<\/a><\/td><td>\n<p>Brought the list of languages supported by the reverse-geocoding stuff in line with what Google now supports.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160320.265' name='265'>20160320.265<\/a><\/td><td>\n<p>Updated the fast full-catalog proximity search dialog to allow a location to\n                be pasted in, even if a geoencoded photo is selected.<\/p>\n\n               <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.10.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20160118.264' name='264'>20160118.264<\/a><\/td><td>\n<p>Support the lat\/lon format now given by Google Earth's \"Copy View Location\" (e.g. \"35.024151\u00b0  135.762123\u00b0\").<\/p>\n\t            <p>Try to avoid yet another place where Lightroom gets hung because it can't handle certain kinds of dialogs at the same time.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151224.263' name='263'>20151224.263<\/a><\/td><td>\n<p>When attempting the fast full-catalog proximity search, try to detect when it fails due to the database being locked.<\/p>\n\n                <p>Fixed an issue in the reverse geoencoding whereby an error could pop up if the network was down.<\/p>\n\n\t            <p>Added <b>ChildOf<\/b> and <b>DescendantOf<\/b> filters to the <b>{Keywords}<\/b> and <b>{KeywordsAll}<\/b> <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> that my plugins understand.<\/p>\n\n\t            <p>Fixed how custom {People} formatting works with people keywords that have no birthday associated with them.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151103.262' name='262'>20151103.262<\/a><\/td><td>\n<p>Special handling for reverse geocoding in the United Kingdom to have the second-level name\n                (England, Scotland, etc.) fill in the \"country\" field. This seems to be more practially useful than\n                having the \"country\" field be \"United Kingdom\" for all the various far-flung areas of The Realm.\n                The \"country code\" remains \"GB\" for all.<\/p>\n\n                <p>For the same reason, for Greator London, have the \"State\" be London and the City be the Borough.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20151028.261' name='261'>20151028.261<\/a><\/td><td>\n<p>Special handling for reverse geocoding in Japan: for some reason Google has started to return bus stops\n                with high-level tags like \"point of interest\". These are now removed because bus stops are not really points of\n                interest.<\/p>\n\n\t            <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 10.00.<\/p>\n\n\t            <p>Added {SpeedKPH} and {SpeedMPH} to the list of <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens supported by my plugins<\/a>.<\/p>\n\n\t            <p>The <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/people-support#token'>{People} token<\/a> wasn't working properly for some keywords without a registered birthday.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150815.260' name='260'>20150815.260<\/a><\/td><td>\nSome combinations of tracklogs and photo times would cause error messages.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150703.259' name='259'>20150703.259<\/a><\/td><td>\nPhoto times are such a rat's nest in Lightroom. If a photo's time has been updated in Lightroom, sometimes you see\n                the corrected time, sometimes the original uncorrected time. It turns out that the \"Geoencoding\" metadata-viewer tagset\n                was showing the original uncorrected time, so this fixes that.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150607.258' name='258'>20150607.258<\/a><\/td><td>\n<p>Added an option to export (as KML) the data currently stored in your \"Personal Mapping Locations\" in the\n                \"Reverse Geo\" tab.\n\n                It turns out that Google Maps now stores references to your custom maps in Google Drive, and if you unwittingly delete these\n                references not knowing that doing so also deletes your custom maps, your data is <i>gone<\/i>. I have first-hand knowledge\n                of the surprise thise causes. Anyway, this new option allows you to recover the data that the plugin had cached.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150522.257' name='257'>20150522.257<\/a><\/td><td>\nAdded Japanese-government elevation maps to the View At menu.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150408.256' name='256'>20150408.256<\/a><\/td><td>\n<p>Updated the reading of personal-location-mappings KML URLs to also handle KMZ data, which Google has started\n                unilaterally returning.<\/p>\n                <p>When loading a tracklog, display the location\/city where it starts.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150205.255' name='255'>20150205.255<\/a><\/td><td>\n<p>Reworked the \"Geoencode from Google Earth\" to also work with Earth Pro.<\/p>\n\n                <p>In the POODLE-vunerability dialog, display a raw URL of a page on my site that discusses the issue,\n                so that folks can be independently sure that the dialog is indeed from me and not malware.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20150131.254' name='254'>20150131.254<\/a><\/td><td>\n<p>Fix to the date_diff() function supported by the LUA\n                <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template token<\/a>.<\/p>\n\n                <p>Updated the camera-name code to try to guess the actual camera model of Hasselblad H5D files, since in their\n                infinite wisdom Hasselblad decided to encode three distinct models with the same internal code, making it impossible\n                to know for sure what camera produced a given image file.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141219.253' name='253'>20141219.253<\/a><\/td><td>\nGoogle started adding \"-ken\", \"-shi\", and \"-fu\" suffixes to some Japanese state\/city names, so they've\n                been added to the list of suffixes to ignore when that option is selected.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141210.252' name='252'>20141210.252<\/a><\/td><td>\nRegistration was broken on Lr2\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141203.250' name='250'>20141203.250<\/a><\/td><td>\n<p>The raw result went missing from the one-by-one reverse geoencoding dialog in the last update. Now back. Added a way to search\/filter as well.<\/p>\n                <p>Added some debug logging to track down a reverse-geocoding issue.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141129.249' name='249'>20141129.249<\/a><\/td><td>\n<p>Try harder to glean the \"Location\" from Google reverse-geocoding data.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141127.248' name='248'>20141127.248<\/a><\/td><td>\n<p>Adds a new per-image bit of metadata: the timezone in which to interpret the photo-taken time.\n                You can inspect (and set\/update) this metadata in the Library metadata panel when selecting\n                the \"All Plugin Metadata\" or \"Geoencoding\" views, or by adding it to your custom view built\n                with <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/metadata-presets'>my Metadata-Viewer Preset Editor plugin<\/a>.<\/p>\n\n                <p>Geoencoding via a tracklog sets the timezone, preserving the information we needed anyway for the tracklog read.<\/p>\n                <p>Added some new items to the list of world timezones.<\/p>\n\n                <p>Added the ability (in the \"Etc.\" tab) to guess timezones based upon the time and location of a photo.<\/p>\n\n\t            <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.76.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20141019.247' name='247'>20141019.247<\/a><\/td><td>\nWindows Only: Add a one-time check for the POODLE security vulnerability, and alert the user if it exists.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140923.246' name='246'>20140923.246<\/a><\/td><td>\nAdded the <b>LrMD5<\/b>, <b>LrLocalization<\/b>, <b>LrSystemInfo<\/b>, and <b>LrMath<\/b> packages to the {LUA} <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template token<\/a>.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140917.245' name='245'>20140917.245<\/a><\/td><td>\nDon't croak if given a KML file without polygons.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140902.244' name='244'>20140902.244<\/a><\/td><td>\nNew build system\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140808.243' name='243'>20140808.243<\/a><\/td><td>\nAdded \"Adjust Bearing\" operation to the \"Etc.\" tab.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140802.242' name='242'>20140802.242<\/a><\/td><td>\n<p>Made the {GPSAltitude}, {Altitude}, and {GPSCoordinates} tokens subject to the geo-privacy settings like the other geo-related tokens.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140731.241' name='241'>20140731.241<\/a><\/td><td>\nRegistration fix for Lr5.6\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140729.240' name='240'>20140729.240<\/a><\/td><td>\nPrevious updates broke support on Lightroom 2\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140722.239' name='239'>20140722.239<\/a><\/td><td>\nUpdate to recognize \"new\" Google Maps urls\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140715.238' name='238'>20140715.238<\/a><\/td><td>\n<p>Fixed an issue with Creative-Cloud revalidation.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140712.237' name='237'>20140712.237<\/a><\/td><td>\n<p>Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140710.236' name='236'>20140710.236<\/a><\/td><td>\nSigh, had a bug in the Creative-Cloud support.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140708.235' name='235'>20140708.235<\/a><\/td><td>\n<p>Now supports Lr5.5+ Creative-Cloud Installs.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140704.234' name='234'>20140704.234<\/a><\/td><td>\nSigh, introduced an error for some folks with the rebuild the other day.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140630.233' name='233'>20140630.233<\/a><\/td><td>\nadded some extra debug logging to track down an issue with reverse geocoding.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140630.232' name='232'>20140630.232<\/a><\/td><td>\nBuild-system update\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140628.231' name='231'>20140628.231<\/a><\/td><td>\n<p>Added \"Subway Station\" to list of possible sources of location data that Google can return.<\/p>\n                <p>Fixed a problem that showed up when canceling out of a bulk-reverse operation.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140619.230' name='230'>20140619.230<\/a><\/td><td>\n<p>Added some notes to the \"Help\" tab of the Geoencoding Dialog, to coincide with having actually\n                documented this plugin on my web site (finally, after almost six years!).<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140613.229' name='229'>20140613.229<\/a><\/td><td>\n<p>Added date_diff() and raw_time_diff() functions to <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#lua'>the special\n                {LUA} token<\/a> understood by the plugin.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140605.228' name='228'>20140605.228<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.60.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140531.227' name='227'>20140531.227<\/a><\/td><td>\nWhen combining a street name and street number while reverse-geocoding a location, try to follow the various\n                conventions used around the world.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140530.226' name='226'>20140530.226<\/a><\/td><td>\n<p>Added the ability to flush plugin data for selected photos.<\/p>\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.53.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140509.225' name='225'>20140509.225<\/a><\/td><td>\n<p>Added new tokens to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template language<\/a> the plugin understands: LrVersion, LrVersionMajor, LrVersionMinor, LrVersionRevision, LrVersionBuild, Location, CatalogName, CatalogPath, OperatingSystem, OS<\/p>\n\n                <p>Added new token filters: NS and LO<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140505.224' name='224'>20140505.224<\/a><\/td><td>\nFixed \"Pinpoint Location in Google Earth\"\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140423.223' name='223'>20140423.223<\/a><\/td><td>\nFix a location-related template-token bug introduced in a recent build.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140422.222' name='222'>20140422.222<\/a><\/td><td>\n<p>Fixed a bug in the \"smoother revalidation\" stuff recently added.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140418.221' name='221'>20140418.221<\/a><\/td><td>\n<p>Google's \"New\" maps don't understand the URL format its Classic maps has used for years, but I've figured out\n                a kludge that allows the plugin go generate Google Maps urls that work with both Classic and New.\n                If you want to apply those URLs to the plugin's Map Url metadata for all your previously-geoencoded photos,\n                select them then visit the \"Etc\" tab of the Geoencoding dialog and \"Set Map URLs\".<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140417.220' name='220'>20140417.220<\/a><\/td><td>\n<p>The geoencoding dialog wasn't fitting on the smallest screens, so I tightened things up a bit.<\/p>\n                <p>Discovered that some of the fonts I used in the geoencoding dialog don't work on Windows.<\/p>\n                <p>The {Empty} template token wasn't working properly.<\/p>\n                <p>Make the revalidation process smoother, especially for folks using Lr5.4 and later.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140329.219' name='219'>20140329.219<\/a><\/td><td>\n<p>Reverse-geocoding with a local KML file worked only when plugin debug logging was turned on; now works all the time.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.53.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140324.218' name='218'>20140324.218<\/a><\/td><td>\n<p>Return support for filling in the country code. With the local KML data, the first line of the location description can now be in the form\n                <span class='nobr'>&#8220;<i>country code<\/i> \/ <i>country<\/i> \/ <i>state<\/i> \/ <i>city<\/i>&#8221;<span>\n                as well as the old\n                <span class='nobr'>&#8220;<i>country<\/i> \/ <i>state<\/i> \/ <i>city<\/i>&#8221;<span>.\n                Where the country code is not supplied, it'll be derived from a table built in to the plugin, or,\n                failing that, via the reverse-geoencoding results from Google.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140301.217' name='217'>20140301.217<\/a><\/td><td>\nA local KML file's location was not being applied in some cases.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140204.216' name='216'>20140204.216<\/a><\/td><td>\n<p>The new location stuff in the Geoencoding dialog caused the dialog to be too big for some small screens, so now on very small screens\n                the whole tab is put into a scrollable window. Lightroom gives little option but for this to be really ugly, but it's better than not being\n                able to see part of the dialog.<\/p>\n\n                <p>Fixed a \"street address\" bug.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140204.215' name='215'>20140204.215<\/a><\/td><td>\n<p>Added \"Street address range\" and \"Street name\" to the list of \"location\" items one can use when reverse geoencoding, and\n                fixed \"Street address\", which had been broken. So now a location might return \"1234 Main St.\" for the \"Street Address\", or failing that,\n                someting like \"1234-1255 Main St.\" for the \"Street address range\". In either case (or when no address or range is known beyond the street name)\n                \"Street name\" gets \"Main St.\"<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20140123.214' name='214'>20140123.214<\/a><\/td><td>\n<p>Completely redid the bulk reverse geoencoding code from scratch... prior code could in some cases not apply the\n                local KML file properly. Everything's now much cleaner and more efficient internally.<\/p>\n\n         \t    <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.46.<\/p>\n\n                <p>Added support for Apple Maps (the OSX App if you have it, the web site if not).<\/p>\n\n                <p>When geoencoding from a tracklog, round the bearing to the nearest degree, so we get -90\u00b0 instead of -89.999999778064\u00b0, for example.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131203.213' name='213'>20131203.213<\/a><\/td><td>\n<p>Fix a reverse-geo KML file-reading bug introduced yesterday.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131202.212' name='212'>20131202.212<\/a><\/td><td>\n<p>Added the ability to import\/export reverse-geo settings.<\/p>\n                <p>Overlapping regions wouldn't always properly prefer the smallest matching region when applying via tracklog.<\/p>\n                <p>Fixed some bugs with network KML files, and enhanced how the plugins works with Google network KML files.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131102.211' name='211'>20131102.211<\/a><\/td><td>\n<p>Update for OS X Mavricks.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131031.210' name='210'>20131031.210<\/a><\/td><td>\nThe new fast proximity search added in 20130929.206 would finish silently (wouldn't report \"no images found\") if\n                there were none in range, but some were sort of close.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131022.209' name='209'>20131022.209<\/a><\/td><td>\n<p>Added the ability to reference personal reverse-geo data via Network KML. Google maps now allows you to maintain personal\n                maps with your locations of interest marked with your own labels, so the plugin can now take advantage of that.\n                See <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps\/personal'>this page<\/a> for more details.<\/p>\n\n                <p>Updated the <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>Image::ExifTool library<\/a> to version 9.39.<\/p>\n\n                <p>Stopped setting location to \"?\" when it couldn't be determined from Google; now just leave it blank.<\/p>\n\n                <p>Enhanced the quality of the reverse geocoding \"location\" data gleaned from Google.<\/p>\n\n                <p>Added ability to link to Google.ru maps.<\/p>\n\n                <p>Removed Wikipedia and YouTube options from Map-link layers (because Google removed support for them).<\/p>\n\n                <p>Made the conversion to the British Ordnance Survey National Grid internal to the plugin, thanks to the kind work published\n                by Chris Veness <a href='http:\/\/www.movable-type.co.uk\/scripts\/latlong-convert-coords.html'>here<\/a>.<\/p>\n\n                <p>Fixed a bug that showed up in Lr2.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131003.208' name='208'>20131003.208<\/a><\/td><td>\nAdded the ability for Windows users to set the keyboard-accelerator for plugin-extra items.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20131002.207' name='207'>20131002.207<\/a><\/td><td>\nThe \"location\" field wasn't being updated properly in reverse-geocoding.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130929.206' name='206'>20130929.206<\/a><\/td><td>\n<p>Added a new \"File &gt; Plugin Extras\" menu item: \"Fast Full-Catalog Proximity Search\", to\n                isolate all photos in your catalog that are geoencoded within X distance of the current photo.<\/p>\n                <p>In Lightroom 5 on OSX it's ridiculously fast (a second or two). On Windows or older versions\n                of Lightroom, it takes longer...  two and a half minutes to search 130,000 photos on my circa 2010 laptop.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130927.205' name='205'>20130927.205<\/a><\/td><td>\nMy new \"ellipsoidal geometry\" code didn't work for some tracklogs.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130926.204' name='204'>20130926.204<\/a><\/td><td>\nOops, fix a bug introduced in the previous update\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130925.203' name='203'>20130925.203<\/a><\/td><td>\n<p>The token-examples dialog had been broken.\n                Also deprecated 'Folder' and 'Path' tokens in preference to 'FolderName' and 'FolderPath' tokens.<\/p>\n\n                <p>A fix for the previous update.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130920.202' name='202'>20130920.202<\/a><\/td><td>\n<p>Google has turned off the old \"Version 2\" reverse geo-lookup, so I've removed it as an option.\n                All reverse lookups now use the current Version 3 engine.<\/p>\n\n                <p>Changed all distance calculations from <i>spherical<\/i> geometry to <i>ellipsoidal<\/i> geometry,\n                raising the level of accuracy from \"way more than good enough\" to \"ridiculously overprecise\". \ud83d\ude42<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130829.201' name='201'>20130829.201<\/a><\/td><td>\n<p>Added ability to view locations in Catalonia at the Institut Cartogr\u00e0fic de Catalunya.<\/p>\n                <p>Added the ability to display a location's <a href='http:\/\/en.wikipedia.org\/wiki\/Universal_Transverse_Mercator_coordinate_system'>UTM<\/a>\n                   coordinates.<\/p>\n\n                <p>Better handle dates on some non-photo images.<\/p>\n\n                <p>Fixed the KW\/KWE tables in <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>;\n                they had been broken when using load for the script.<\/p>\n\n                <p>Updated the <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>Image::ExifTool library<\/a> to version 9.35.<\/p>\n\n                <p>Google killed Latitude, so removed support for it.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130613.200' name='200'>20130613.200<\/a><\/td><td>\nBetter support for plugin revalidation.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130611.199' name='199'>20130611.199<\/a><\/td><td>\nYet another Lr5 update\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130524.198' name='198'>20130524.198<\/a><\/td><td>\nApparently, a recent change broke things on Lr2, which some folks apparently still use.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130501.197' name='197'>20130501.197<\/a><\/td><td>\nUpdate for Lr5\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130412.196' name='196'>20130412.196<\/a><\/td><td>\nBuild system update.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130328.195' name='195'>20130328.195<\/a><\/td><td>\nFix for the registration system.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130220.194' name='194'>20130220.194<\/a><\/td><td>\n<p>Added support for some new <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>:\n                <b>FlagStatus<\/b> (requires Lr4.1 or later), and for Lr3 and later, a bunch of IPTC extended metadata:\n                <b>AdditionalModelInfo<\/b>,\n                <b>CodeOfOrgShown<\/b>,\n                <b>DigImageGUID<\/b>,\n                <b>Event<\/b>,\n                <b>ImageSupplierImageId<\/b>,\n                <b>MinorModelAge<\/b>,\n                <b>ModelAge<\/b>,\n                <b>ModelReleaseID<\/b>,\n                <b>ModelReleaseStatus<\/b>,\n                <b>NameOfOrgShown<\/b>,\n                <b>PersonShown<\/b>,\n                <b>PlusVersion<\/b>,\n                <b>PropertyReleaseID<\/b>,\n                <b>PropertyReleaseStatus<\/b>, and\n                <b>SourceType<\/b>.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130209.193' name='193'>20130209.193<\/a><\/td><td>\nMore build-system maintenance\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130206.192' name='192'>20130206.192<\/a><\/td><td>\nTweak for my registration system\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130201.191' name='191'>20130201.191<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.15.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20130120.190' name='190'>20130120.190<\/a><\/td><td>\n<p>Added support for Yahoo Japan maps (which are very good in Japan)<\/p>\n\n                <p>Enhance the <b>{EMPTY}<\/b> <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template token<\/a> so that it\n                interrupts the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template#joining'>squelching of superfluous joining characters<\/a>.<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 9.09.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20121009.189' name='189'>20121009.189<\/a><\/td><td>\nWork around a Lightroom 4.2 bug that resulted in an error when first upgrading a Lr3 catalog with Lr4.2.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120923.188' name='188'>20120923.188<\/a><\/td><td>\n<p>Fixed a problem that showed up in the error-report reporting of tracklog\n                start\/end times when multiple tracklogs were loaded in the wrong order.<\/p>\n\n                <p>Added a JPEG-quality setting to the &#8220;Export as KML&#8221; dialog, and actually made the image-size setting work.<\/p>\n\n                <p>Added a progress dialog to the KML-file generation even when not generating inline images, if the number of files to process is large.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120821.187' name='187'>20120821.187<\/a><\/td><td>\n<p>Updates to the environment in the <tt>{LUA}<\/tt> token (in the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a>\n                in my plugins) to include <b>photoTime()<\/b> and <b>currentTime()<\/b>, and other changes to match the updated docs at that link.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120818.186' name='186'>20120818.186<\/a><\/td><td>\nUpdated map-url format for geoportail.gouv.fr\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120723.184' name='184'>20120723.184<\/a><\/td><td>\nRemoved an artificial limit I had on the number of tracklogs that can be loaded at any one time.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120703.183' name='183'>20120703.183<\/a><\/td><td>\nAdded OpenStreetMap and OpenCycleMap to the kinds of urls you can assign to geoencoded photos.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120628.182' name='182'>20120628.182<\/a><\/td><td>\nDe-encoding was broken in Lr2\/Lr3.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120614.181' name='181'>20120614.181<\/a><\/td><td>\nAdded a bunch of extra logging to try to track down some slowness in the Lr3 writeback process.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120610.180' name='180'>20120610.180<\/a><\/td><td>\nApparently I need to sort the results from Google Latitude myself.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120608.179' name='179'>20120608.179<\/a><\/td><td>\n<p>Added the ability to download a GPX tracklog from the web, and to create a GPX tracklog\n                from <a href='https:\/\/www.google.com\/latitude\/'>Google Latitude<\/a> data. The Google Latitude\n                data is pretty bad (low frequency and low accuracy), but it's better than nothing if\n                you have it and nothing else.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120526.179' name='179'>20120526.179<\/a><\/td><td>\n<p>Update to handle the Mac App Store version of Lightroom.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120512.178' name='178'>20120512.178<\/a><\/td><td>\n<p>Show a nicer error message if the network appears to be down when reverse geocoding.<\/p>\n                <p>Yikes, Lr2 registrations were broken again.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120507.177' name='177'>20120507.177<\/a><\/td><td>\n<p>In Lr4+, added the ability to fill in elevation data from Google for geoencoded images.\n                See the &#8220;Etc&#8221; tab of the plugin's geoencoding dialog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120430.176' name='176'>20120430.176<\/a><\/td><td>\n<p>Added support for Google's &#8220;v3&#8221; mapping API, which offers different\n                reverse-geoencode results. Whether &#8220;different&#8221; is better or worse depends\n                on the location and one's taste. You can switch to it in the &#8220;Reverse Geo&#8221; tab.<\/p>\n\n                <p>Tweak for Lr4.1RC2.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120413.175' name='175'>20120413.175<\/a><\/td><td>\n<p>Enhanced the send-log dialog to hopefully make reports more meaningful to me, yielding,\n                I hope, the ability to respond more sensibly to more reports.<\/p>\n\n                <p>Added some extra debug logging.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120330.174' name='174'>20120330.174<\/a><\/td><td>\nUpdate to handle 4.1RC\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120314.173' name='173'>20120314.173<\/a><\/td><td>\nTidy up a few bugs introduced recently.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120313.172' name='172'>20120313.172<\/a><\/td><td>\nReworked the date\/timezone handling to better handle complex situations where the camera's clock,\n                the photo location, and the processing in Lightroom are all in different timezones. Also be more explicit\n                in the Tracklog tab about what timezone is being used for the display of photo and tracklog times.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120309.171' name='171'>20120309.171<\/a><\/td><td>\nUpdate to the debug logging to better track down timing issues that might arise.\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120307.170' name='170'>20120307.170<\/a><\/td><td>\nIn the GPSBabel config area, added some suggestions for known devices, and on OSX, made it possible to configure the use\n                of GPSBabel by pointing the plugin at the GPSBabel app.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120304.169' name='169'>20120304.169<\/a><\/td><td>\nFixed a problem with Lr2 that I introduced in the previous build.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120228.168' name='168'>20120228.168<\/a><\/td><td>\nMore Lr4 work\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120225.167' name='167'>20120225.167<\/a><\/td><td>\n<p>The \"Between Endpoints\" geoencoding could produce widely wrong results with certain timezone settings.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120224.166' name='166'>20120224.166<\/a><\/td><td>\n<p><b>Massive Update<\/b><\/p>\n\n                <p>Note: upgrading to this version causes Lightroom to throw up the silly &#8220;<i>Your catalog must be updated before\n                it can be used with the following plug-in<\/i>&#8221; dialog because I've changed how some of the underlying data is\n                arranged.<\/p>\n\n                <p>Additionally, when first using in Lr4, the plugin now migrates the old \"Shadow Data\" to native Lightroom location\n                data, and all traces of \"shadow data\" and the even kludgier \"writeback\" are gone (in Lr4).<\/p>\n\n                <p>Made &#8220;speed&#8221; and &#8220;bearing&#8221; user updatable, and &#8220;speed&#8221; searchable. (This\n                is the guilty party for the silly catalog-must-be-updated message.)<\/p>\n\n                <p>Added the ability to search for locations via name\/address\/description, just like the search box in Google Maps. <\/p>\n\n                <p>More on the march toward Lr4, including upheaval in the code to handle Lightroom APIs being discontinued in Lr4. I\n                also made the &#8220;Shadow Injector&#8221; do nothing in Lr4... I didn't remove it completely because doing so would\n                disable publish services and export presets that had used it, so now it's just a no-op. Remove it at your leasure.<\/p>\n\n                <p>Added the <b>{AspectRatio}<\/b> token to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>token\n                templates<\/a> understood by the plugin, and added the <b>Length=<\/b><i>num<\/i> filter.<\/p>\n\n                <p>Moved the &#8220;Tracklog&#8221; tab to the front.<\/p>\n\n                <p>Fixed a bug in recognizing cut-n-pasted locations that I introduced into the previous build.<\/p>\n\n                <p>\"View as KML\" would fail if some images had no timestamps.<\/p>\n\n                <p>When building a KML with a tracklog, you can now opt to preserve the tracklog altitude (rather than blindly clamp to terrain),\n                which is useful for flights.<\/p>\n\n                <p>In the one-by-one window, \"copy from above\" changes didn't stick.<\/p>\n\n                <p>\"View Error Report\" button could appear even if there were no errors.<\/p>\n\n                <p>Better handling when cut-n-pasting location values into the dialog input fields.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120123.165' name='165'>20120123.165<\/a><\/td><td>\n<p>More tweaks for behind-the-scenes catalog access in Lr4.<\/p>\n             -- <p>Better handle cut-n-pasted static locations, and recognize additional location types.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120114.164' name='164'>20120114.164<\/a><\/td><td>\n<p>More tweaks for Lr4b.<\/p>\n                <p>Updated Image::ExifTool to version 8.75.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20120112.163' name='163'>20120112.163<\/a><\/td><td>\n<p>Added some Lr4-specific debugging.<\/p>\n                <p>Update for Lr4 beta: explain in the plugin manager that the plugin can't be registered in the beta<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111207.162' name='162'>20111207.162<\/a><\/td><td>\nHad issues with the registration button sometimes not showing\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111207.161' name='161'>20111207.161<\/a><\/td><td>\nWriting back the shadow data to the master image files could fail in edge cases.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111206.160' name='160'>20111206.160<\/a><\/td><td>\n<p>&#8220;View Photos as Tracklog in Google Earth&#8221; didn't work if titles had an ampersand.<\/p>\n\n                <p>Added the ability to fill in shadow data from real Exif data, on the &#8220;Etc.&#8221; tab.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111130.159' name='159'>20111130.159<\/a><\/td><td>\n<p>Notice changes to the tracklog &#8220;fuzziness&#8221; even if it's still the active data field. Previously, the\n                old value was being used if the field was not committed when geoencoding started.<\/p>\n      \n                <p>When doing a plugin upgrade, offer the ability to flush all the old copies of the plugin.<\/p>\n\n                <p>Updated Image::ExifTool to version 8.68.<\/p>\n\n                <p>Added a system-clock check and reports to the user if the system clock is more than a minute out of\n                date. An incorrect system clock can cause problems with various kinds of communication and\n                authentication with some of my plugins, so I've just gone ahead and added this to every plugin.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111018.158' name='158'>20111018.158<\/a><\/td><td>\n<p>Allow the shadow injector to go ahead and inject data even if other metadata is being omitted.\n                In this case, it injects normal GPS data as well, if there's normal data but not shadow data.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20111012.157' name='157'>20111012.157<\/a><\/td><td>\nWhen geoencoding from Google Earth, try to detect when Google Earth has just started and returned\n                a default location, and give the user a chance to abort using that default location (since the user\n                likely wanted to use something else, or didn't intend to launch Google Earth in the first place).\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110928.156' name='156'>20110928.156<\/a><\/td><td>\nPlugin would lock up if the same location was used for both ends of the &#8220;between endpoints&#8221; geoencoding method.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110813.155' name='155'>20110813.155<\/a><\/td><td>\nThe Error Report could crash when used with tracklogs that spanned a long period of time, but with gaps of no data greater than a week or more.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110719.154' name='154'>20110719.154<\/a><\/td><td>\n<p>Trying to bulk reverse-encode a photo that wasn't geoencoded in the first place caused an error.<\/p>\n                <p>Fix a race condition that sometimes caused an error while updating the catalog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110615.153' name='153'>20110615.153<\/a><\/td><td>\nDisabling the new KML support neglected to flush the cache of already geoencoded locations, so it appeared that\n                the KML stuff was still enabled.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110613.152' name='152'>20110613.152<\/a><\/td><td>\nSomewhere along the line the filter for which images to process (with\/without real\/shadow data) got removed from the Write Back tab.\n                This update adds it back.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110613.151' name='151'>20110613.151<\/a><\/td><td>\nDon't need a placemark description for it to be recognized.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110527.149' name='149'>20110527.149<\/a><\/td><td>\nFixed some boo-boos introduced in the previous update.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110526.148' name='148'>20110526.148<\/a><\/td><td>\nBig update for reverse geocoding. Please see &#8220;<a href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps\/personal' class='pt'>Enhanced Reverse Geocoding With a Custom Map of Locations of Personal Interest<\/a>&#8221; on my blog for details.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110520.147' name='147'>20110520.147<\/a><\/td><td>\n<p>Added Australian territory postal-codes to the &#8220;expand to full names&#8221; support during reverse geocoding.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110513.146' name='146'>20110513.146<\/a><\/td><td>\nStill trying to fix crashes due to bad static presets...\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110430.144' name='144'>20110430.144<\/a><\/td><td>\nThe bulk-reverse-geoencoding dialog didn't offer the &#8220;apply to all&#8221; when only &#8220;location&#8221; was selected.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110422.143' name='143'>20110422.143<\/a><\/td><td>\nStill trying to fix crashes due to bad static presets...\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110421.142' name='142'>20110421.142<\/a><\/td><td>\nThe XMP-writeback process was not respecting the lettercase of pre-existing XMP\n                files on case-insensitive file systems.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110411.141' name='141'>20110411.141<\/a><\/td><td>\nTrying to fix crashes due to bad static presets...\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110411.140' name='140'>20110411.140<\/a><\/td><td>\n<p>Added support for automatic filling in of the &#8220;location&#8221; during reverse geoencoding. It's rarely useful in my tests,\n                but maybe it's just unuseful for the locations I happen to work with...<\/p>\n\n                <p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 8.50<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110311.139' name='139'>20110311.139<\/a><\/td><td>\nAdded <a href='http:\/\/www.opencyclemap.org'>OpenCycleMap.org<\/a> support.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110215.138' name='138'>20110215.138<\/a><\/td><td>\n<p>Upgraded to the embedded copy of <a href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> to version 8.40.<\/p>\n\n                <p>In the reverse geocoding dialog, am now more aggressive about filling in the &#8220;location&#8221; box with an address or the like.<\/p>\n\n                <p>Handle tracklogs with negative altitude, and display negative altitudes to the nearest decimeter rather than nearest meter\n                (because they're likely accurate depth readings taken during a scuba dive).<\/p>\n\n                <p>For Lr3+, changed the &#8220;small dialog for small screen&#8221; stuff to allow automatic screen-size detection, and defaulted to\n                that. If the main screen seems small, the terse version of the dialog is shown. As with Lr2, the option is shown in the plugin manager.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20110113.137' name='137'>20110113.137<\/a><\/td><td>\nAdded {CroppedWidth} and {CroppedHeight} to the <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> used by my plugins.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20101107.136' name='136'>20101107.136<\/a><\/td><td>\nAdded <a href='http:\/\/skogoglandskap.no'>Skog og landskap<\/a> (Norway only) to the list of &#8220;View at..&#8221; menu items.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100829.135' name='135'>20100829.135<\/a><\/td><td>\n<p>The &#8220;Geoencode selected photos from Google Earth&#8221; feature I added a month ago wasn't undoable, which created\n                a danger if you made a keyboard shortcut for it and bumped it by accident. If you do that now, you can simply undo it.<\/p>\n\n                <p>Made the revalidation process much simpler, doing away with the silly need for a revalidation file.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100820.134' name='134'>20100820.134<\/a><\/td><td>\nDiscovered a bug in my plugin build system that caused horribly difficult-to-track-down errors in one plugin,\n                so am pushing out rebuilt versions of all plugins just in case.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100818.133' name='133'>20100818.133<\/a><\/td><td>\nAdded support for <a href='http:\/\/www.geoportail.fr'>G\u00e9oportail<\/a>.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100814.132' name='132'>20100814.132<\/a><\/td><td>\n<p>Re-enabled image thumbs in the one-by-one dialog for Lr3.2 (currently available as a release candidate).<\/p>\n                <p>Added code to allow plugin revalidation after having been locked due to a bad Lightroom serial number.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100803.131' name='131'>20100803.131<\/a><\/td><td>\n<p>Added a new Plugin Extras item &#8220;Geoencode selected photos from Google Earth&#8221;, which\n                is a dialog-less method to immediately encode the selected photos with the location\n                currently pinpointed in Google Earth. It doesn't do any writeback or reverse-location lookup\n                to set the city\/state\/country, but you can do those in one shot with the normal geoencoding dialog,\n                after having set the location for the individual photos.<\/p>\n\n                <p>On Windows <b>ALT-F S R<\/b> invokes it. On a Mac, you can set your own keyboard shortcut as you like:\n                see the comments for <a href='#128'>version 20100620.128<\/a> below, but the command is three spaces\n                followed by &#8220;<b>Geoencode selected photos from Google Earth<\/b>&#8221;.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100625.130' name='130'>20100625.130<\/a><\/td><td>\nYikes, shaking out some more build issues.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100624.129' name='129'>20100624.129<\/a><\/td><td>\nDiscovered a nasty build bug; pushing a new version in case it affects this plugin.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100620.128' name='128'>20100620.128<\/a><\/td><td>\n<p><b>(Windows Only)<\/b> Made it so that <b>ALT-F S E<\/b>;\n                works as a keyboard shortcut for &#8220;Pinpoint in Google\n                Earth&#8221; (along with <b>ALT-F S G<\/b> for\n                &#8220;Geoencode&#8221;). Lr2 users will need to do <a\n                href='http:\/\/thephotogeek.com\/keyboard-accelerate-lightroom-plugin-extras\/'>some\n                background setup<\/a>, but thanks to the efforts of the\n                author of that post, Adobe built it in to Lr3.<\/p>\n\n                <p><b>(Mac Only)<\/b> It's a breeze to enable keyboard shortcuts of your choosing;\n                just visit <b>System Preferences &gt; Keyboard &gt; Application Shortcuts<\/b> and\n                add one for Lightroom. For Lr3, prepend three spaces to the menu item you want to\n                shortcut to, so to make a shortcut for geoencoding, enter <span\n                class='nobr'>&#8220;&nbsp;&nbsp;&nbsp;Geoencode...&#8221;<\/span> (that's three\n                spaces followed by &#8220;Geoencode&#8221; followed by three periods).<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100612.127' name='127'>20100612.127<\/a><\/td><td>\nOops, reverse-geoencoding dialog had broken.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100611.126' name='126'>20100611.126<\/a><\/td><td>\nFixed a bug that several people had reported recently, but that I just let slip through\n                the cracks while overwhelmed with preparations for Lr3: that automatic writeback didn't work\n                the first time through on an image. Fixed. Also made it so that the progress bar will work again\n                on Mac.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100609.125' name='125'>20100609.125<\/a><\/td><td>\n<p>This version can be <a href='https:\/\/regex.info\/blog\/2010-06-08\/1539'>registered in\n                Lightroom 3<\/a>. It can run in Lightroom 2 or Lightroom 3; it does not work in the Lr3 betas.<\/p>\n\n                <p>It uses my new registration system when run on Lightroom 3,\n                which avoids some of the silly issues of the old one. Please take care to note\n                the details on <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/register'>the registration\n                page<\/a>: use of this version (or later) of the plugin in Lightroom 3 requires a new\n                registration code, even if you had registered some older version of the plugin.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100518.124' name='124'>20100518.124<\/a><\/td><td>\n<p>No longer try to have the writeback operation done by one process on Windows; there seems\n                to be a memory leak somewhere that causes it to abort after a few very large images.<\/p>\n\n                <p>Updated the &#8220;View in Google Earth&#8221; to read &#8220;View selected locations as KML in Google\n                Earth&#8221;, and added a new &#8220;Pinpoint Location in Google Earth&#8221; for quick jump-to-this-location\n                use.<\/p>\n\n                <p>LR3: if exactly one image is selected when &#8220;View as KML...&#8221; is invoked, the plugin now asks\n                whether to process one image or all filmstrip images.<\/p>\n\n                <p>Fix an error-reporting problem for when Google throttles one's reverse-geoencoding. Attempt\n                to self-throttle to avoid Google having to wag its finger at us.<\/p>\n\n                <p>More tweaks in how the reverse-Geoencoding data from Google is parsed, to try to extract\n                more information from the data.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100423.123' name='123'>20100423.123<\/a><\/td><td>\nFixing an &#8220;attempt to compare number with nil&#8221; bug that I introduced in the previous version.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100420.121' name='121'>20100420.121<\/a><\/td><td>\n<p>Don't attempt to write-back shadow data to video files, and quietly don't try to inject gps data\n                into video files during export.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100419.120' name='120'>20100419.120<\/a><\/td><td>\n<p>Updated the static geoencoing stuff to recognize additional latitude\/longitude formats.<\/p>\n\n                <p>Added the ability to use a custom per-photo description when creating KML\/KMZ files. It uses the <a\n                href='https:\/\/regex.info\/blog\/lightroom-goodies\/template'>template tokens<\/a> that my other plugins use\n                (including some things that are not yet documented... <b>nb<\/b> can be used in a conditional to check for\n                non-blank items). There's no preset\/preview mechanism yet; I know it's needed.<\/p>\n\n                <p>Updated the static-location preset mechanism to allow replacing presets (instead of adding) when\n                loading from a file.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100418.119' name='119'>20100418.119<\/a><\/td><td>\nFor reasons I don't understand, Google Earth doesn't seem to like non-ASCII image filenames, so the plugin\n                now works around that.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100411.118' name='118'>20100411.118<\/a><\/td><td>\nAdded the ability to view locations at <a href='http:\/\/local.daum.net\/map\/index.jsp'>Daum<\/a> (Korea).\n                <b>Note: you must restart LR after installing this version for the new &#8220;view at Daum&#8221; functionality to\n                work.<\/b>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100402.117' name='117'>20100402.117<\/a><\/td><td>\nShould fix KMZ-creation on 64-bit Win7, I hope.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100329.116' name='116'>20100329.116<\/a><\/td><td>\nAdded extra logging to try to track down a problem with between-endpoint geoencoding.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100317.115' name='115'>20100317.115<\/a><\/td><td>\n<p>Lots of cleanup from <b>v112<\/b>'s big updates, such that the new KML stuff might actually work now.<\/p>\n\n                <p>The &#8220;view KML in app&#8221; option had issues on OSX... fixed them. Added the ability to set up two extra\n                axillary &#8220;view KML in app&#8221; applications (making a total of three) and tied them into the new KML dialog,\n                and added the ability to set the title of each's menu entry. <b>Note: you must restart Lightroom once\n                after upgrading to or past this version for the new menu items to work.<\/b><\/p>\n\n                <p>Removed the &#8220;View location at MS Live Maps&#8221; item, since that now just redirects to Bing.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100316.114' name='114'>20100316.114<\/a><\/td><td>\nYikes, a typo broke some operations for some Windows users. Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100316.113' name='113'>20100316.113<\/a><\/td><td>\nHad neglected to enable KMZ zipping on Windows.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100315.112' name='112'>20100315.112<\/a><\/td><td>\n<p>First crack at real KML output, with embedded photos and an overlaid tracklog. Select some\n                geoencoded photos then <span class='nobr'>&#8220;<b>File &gt; Plugin Extras &gt; View Locations in Google\n                Earth<\/b>&#8221;<\/span> and a dialog will pop up offering all kinds of options. It's still a work in progress,\n                but I wanted to kick it out.<\/p>\n\n                <p>Wholesale changes that attempt to honor the user's locale settings for numeric display (e.g.\n                Europeans writing 3,14156 for pi). I've probably missed some spots, so let me know if you find some.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100306.111' name='111'>20100306.111<\/a><\/td><td>\n<p>Be a bit smarter about reading the altitude from Google Earth, and pop up a warning dialog if the\n                terrain layer seems to be turned off.<\/p>\n\n                <p>Fixed the &#8220;invalid function for sorting&#8221; error that had been reported a few times.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100306.110' name='110'>20100306.110<\/a><\/td><td>\nAdded &#8220;import location from Google Earth&#8221; for the between-endpoints start and end locations.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100213.109' name='109'>20100213.109<\/a><\/td><td>\n<p>Added a cancel button to the GPSBabel config dialog, and disabled the &#8220;OK&#8221; button if an error is\n                detected in the input.<\/p> <p>Fixed the spelling of &#8220;Great Britain&#8221;. Sorry 'bout that. Spelling has\n                never been my 4-tay.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100124.108' name='108'>20100124.108<\/a><\/td><td>\nReverted some changes in the logging code that seems to be causing &#8220;<i>attempt to index upvalue \u2018?\u2019\n                (a boolean value)<\/i>&#8221; errors for some. As far as I can tell from looking at the code, it's one\n                of those &#8220;can't be happening&#8221; types of things, so I'm sorta' stumped as to why it's happening.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100123.107' name='107'>20100123.107<\/a><\/td><td>\n<p>Added a checkbox to indicate whether files updated via the &#8220;write back&#8221; operation should have their\n                modification times updated, or preserved. The default is to preserve the modification time (that is, to\n                leave it as it was before), which is what the plugin used to do. Those with backup software that looks\n                at file-modification dates may want to uncheck this option.<\/p>\n\n                <p>Added a &#8220;View as OSGB&#8221; option that shows the <a\n                href='http:\/\/en.wikipedia.org\/wiki\/British_Grid'>British Grid reference<\/a> for the photo's location,\n                using one of the <a href='http:\/\/walks.ndrw.co.uk\/utilities\/'>online tools provided by Dale\n                Abbey<\/a>.<\/p>\n\n                <p>Made the &#8220;copy from above&#8221; and &#8220;copy from below&#8221; items in the interactive\n                one-by-one page copy everything int the row, not just the latitude and longitude.<\/p>\n\n                <p>A few fixes in the one-by-one page for LR3.<\/p>\n\n                <p>Allow three-letter and three-digit country codes, in addition to the two-letter codes that were\n                allowed before.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100121.106' name='106'>20100121.106<\/a><\/td><td>\n<p>Added the ability to select what version of Google Earth the plugin should use.\n                Added the new Microsoft Bing Maps (requires Silverlight) as one of the &#8220;View at...&#8221; options.<\/p>\n\n                <p>Completely changed how the one-click upgrade applies the newly-downloaded zip file, in the hopes that\n                it'll work for more people. Rather than unzipping over the old copy, it now unzips to a temporary\n                folder, then moves the old folder out of the way and the new folder into place. Prior versions' folders\n                are now maintained (with the version number in the folder) in case you want to revert a version; you\n                may want to clear them out from time to time. Of course, it won't take affect until you try to upgrade\n                <i>after<\/i> having upgraded to or beyond this version.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100102.105' name='105'>20100102.105<\/a><\/td><td>\nAdded Bing to the list of urls that can be configured to be automatically associated to each image.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20100101.104' name='104'>20100101.104<\/a><\/td><td>\nAdded Microsoft Bing to the &#8220;View at...&#8221; list.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091216.103' name='103'>20091216.103<\/a><\/td><td>\nFixed a bug that gave the tracklog-filename-input box the attention span of a toddler, making\n                any attempt to type a tracklog filename by hand a frustrating experience.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091205.102' name='102'>20091205.102<\/a><\/td><td>\nMinor internal debugging tweaks.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091121.101' name='101'>20091121.101<\/a><\/td><td>\nThe various &#8220;View at...&#8221; items in the Plugin Extras menu didn't work in the LR3 beta. They do now.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091108.100' name='100'>20091108.100<\/a><\/td><td>\nMore heuristics to try to coax better city\/state\/country results from the reverse-geoencoding data that Google\n                (kindly) provides.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091106.99' name='99'>20091106.99<\/a><\/td><td>\nFixed a second boo-boo with reverse geoencoding. Still not sure what the problem actually was (which is a bit\n               unsettling), but I've worked around it for the moment. This is also the first build from <a\n               href='https:\/\/regex.info\/blog\/2009-11-03\/1347' class='quiet'>my new build environment<\/a>, so hopefully things\n               go smoothly....\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091103.98' name='98'>20091103.98<\/a><\/td><td>\nOops, had a boo-boo in the previous push that sort of stopped the plugin from working.\n               Fixed that, and a few other issues with the new things I added yesterday.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091102.97' name='97'>20091102.97<\/a><\/td><td>\nReverse-geoencoding tweaks, including options to strip &#8220;City&#8221;, &#8220;Province of&#8221;, etc. from\n               non-US names, and to strip macrons from Japanese names.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091027.96' name='96'>20091027.96<\/a><\/td><td>\nLots more updates in the &#8220;Interactive&#8221; tab for LR3b. I haven't figured out how to get\n               thumbnails in LR3b yet, so I've removed them from the UI in LR3b.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091027.95' name='95'>20091027.95<\/a><\/td><td>\nMore LR3b updates. In LR3b, if you get an error in LR3b, &#8220;<i>Attempt to access property &#8220;data&#8221;\n               that's not declared in Info.lua<\/i>&#8221;, when opening the Geoencoding dialog, just try again.\n               There seems to be a race condition of some kind in LR3b that sometimes causes this problem.\n               It seems to pop up only when &#8220;Reload plug-in on each export&#8221; is turned on in the plugin manager,\n               and there's no benefit to normal users to having that enabled (it's a developer tool), so leave\n               it unchecked.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091022.94' name='94'>20091022.94<\/a><\/td><td>\nAdded a <b>first draft<\/b> of some rudimentary support for <i>Lightroom 3 Beta<\/i>.\n               See <a href='https:\/\/regex.info\/blog\/2009-10-22\/1339' class='quiet'>this important note about\n               plugin support in <i>Lightroom 3 Beta<\/i> and <i>Lightroom 3<\/i><\/a>, including future plans for\n               features and my registration system.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091019.93' name='93'>20091019.93<\/a><\/td><td>\nFixed a bug that caused a crash when trying to write back GPS data to master images whose full path\n               contained &#8220;<b>$<\/b>&#8221; or &#8220;<b>@<\/b>&#8221;.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20091018.92' name='92'>20091018.92<\/a><\/td><td>\n<p>Implemented a few kind suggestions from <a href='http:\/\/www.thedambook.com\/' class='quiet'>Peter\n               Krogh<\/a>. The &#8220;dismiss dialog when finished&#8221; checkbox is now sticky on a per-tab basis.\n               I added location\/city\/state\/country to the &#8220;Geoencoding&#8221; metadata-viewer preset, and\n               renamed the geoencoding dialog's &#8220;Cancel&#8221; button to &#8220;Dismiss&#8221;.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090927.91' name='91'>20090927.91<\/a><\/td><td>\nThe plugin didn't do well launching Google Earth if its location on disk changed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090915.90' name='90'>20090915.90<\/a><\/td><td>\n<p>Fixed what I consider a bug in Google Maps, whereby they focus on nearby (and sometimes not so near by)\n               &#8220;points of interest&#8221; when directed to a specific location, instead of focusing on the specific location.\n               In one case they were focusing on a point 50 miles away! Finally figured out a way around it (by prefixing\n               the latitude and longitude with &#8220;<b>loc:<\/b>&#8221;).<\/p>\n               <p>Made the UI for importing from Google Earth a bit better, disabling the button while it's working to\n               let you know that it's working.<\/p>\n\n               <p>Now handles locations of the form\n               &#8220;<b>12\u00b034\u203256.78\u2033N, 23\u00b045\u203267.89\u2033W<\/b>&#8221;\n               in the static input location. (It mostly already did, but\n               didn't recognize some of the many quote-like Unicode\n               characters, so missed some forms that one might cut-n-paste\n               from some websites.)<\/p>\n\n               <p>In the reverse-geoencoding dialog, the full address text (as returned form Google) is now\n               selectable. On a Mac, it's the same text as before, but selectable. On Windows, I had to put\n               it into a text input edit field to make it selectable.<\/p>\n\n               <p>Adjusted the mouse interaction with the thumbnails in the one-by-one dialog, having a simple click\n               bring up a larger version. On Windows, control-click rotates the thumbnail. (Can't seem to get\n               thumbnail rotation working on a Mac.)<\/p>\n\n               <p>Be more clear in the UI about when a tracklog is in the process of being inspected.<\/p>\n\n               <p>(Sorry to everyone who couldn't contact my server for the last few days... it had &#8220;issues&#8221;,\n                that are now fixed.)<\/p>\n\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090808.89' name='89'>20090808.89<\/a><\/td><td>\nThe release contains a change in the heuristics for reverse geocoding, favoring the\n               &#8220;LocalityName&#8221; over the &#8220;SubAdministrativeAreaName&#8221; when two otherwise equal records\n               contain them. Reverse geocoding is a messy, vague business because the data is messy and vague.\n               (But at least it's there... I appreciate Google collecting the data so I don't have to.)\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090807.88' name='88'>20090807.88<\/a><\/td><td>\nFixed an error that popped up during reverse geoencoding.\n               Also fixed some text-input-field wrapping issues on OSX.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090729.87' name='87'>20090729.87<\/a><\/td><td>\nFixed a few misspellings in the dialogs.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090717.86' name='86'>20090717.86<\/a><\/td><td>\n<p>Added a simple Tracklog Error Report so that you can see why images weren't geoencoded\n               with a tracklog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090707.85' name='85'>20090707.85<\/a><\/td><td>\n<p>For Windows, added a keyboard accelerator for the &#8220;Geoencoding&#8221; Plugin-Extras\n               menu item, which will become usable after you follow the instructions on the\n               <a href='http:\/\/thephotogeek.com\/keyboard-accelerate-lightroom-plugin-extras\/'\n               class='quiet'>Accelerate Access to Lightroom Plugin Extras<\/a> post at ThePhotoGeek.com.\n               There's also info there for Mac users on how to set up your own arbitrary keyboard shortcuts.<\/p>\n\n               <p>Fixed that the &#8220;add map url to shadow metadata&#8221; item in the geoencoding screen would sometimes\n               become disabled when it shouldn't.<\/p>\n\n               <p>Made the small-screen option (selectable from the Plugin Manager) reasonable again. I had forgot about\n               it when I added all the instructions in the interactive geoencoding \/ reverse geocoding tab.<\/p>\n\n               <p>Some general tidying up of the dialog, thanks to suggestions from <a href='http:\/\/timothyarmes.com\/'\n               class='quiet'>Tim Armes<\/a> (author himself of\n               <a href='http:\/\/timothyarmes.com\/metoyou.php?lang=en-gb&amp;sec=tools'\n               class='quiet'>half a dozen plugins for Lightroom<\/a>).<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090701.84' name='84'>20090701.84<\/a><\/td><td>\nAdded some extra logging to the Google Earth interaction, to help debug when it's not working.\n               Fixed a bug that caused the country code not to stick during reverse geoencoding if the country itself\n               didn't change.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090701.83' name='83'>20090701.83<\/a><\/td><td>\n<p>Upgrading the built-in version of ExifTool to include support for DNG 1.3, required to work with\n               for DNGs made with Lightroom 1.4.<\/p>\n\n               <p>Enhanced the one-click upgrade stuff quite a bit, now\n               detecting ahead of time when it will fail because the plugin is installed where Lightroom\n               can't write (if Lightroom can't write to it, it can't update itself). I\n               also added a progress bar, and now download in smaller chunks to avoid 'out\n               of memory' errors on the larger plugins. Do remember that this new functionality becomes\n               available <i>after<\/i> you upgrade to or past this version, when you then upgrade <i>with<\/i> it.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090630.82' name='82'>20090630.82<\/a><\/td><td>\nPut in checks to see whether the plugin is installed in a place that Lightroom can write.\n               If it is, the &#8220;Configure Plugin-Extras Menu Items&#8221; button is enabled in the Plugin Manager.\n               If not, a note is place there instead.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090608.81' name='81'>20090608.81<\/a><\/td><td>\n<p>Added NDT (Newfoundland Daylight Time) to the list of timezones.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090607.80' name='80'>20090607.80<\/a><\/td><td>\n<p>Well, with my boy spending the weekend on a trip with his grandparents, what I thought\n               might be a short bit of tinkering this morning turned into a full day of tinkering....<\/p>\n               <ul>\n                  <li><p>The elevation was not being properly read from some tracklogs.... fixed.<\/p><\/li>\n\n                  <li><p>Enhanced how the Google reverse-geocode results are interpreted.\n                      Some &#8220;city&#8221; fields that might have been left blank before may now get filled in.<\/p><\/li>\n\n                  <li><p>I renamed the tab that allows you to interactively geoencode &ndash; and to reverse geocode\n                      &ndash; to &#8220;<b>Interactive<\/b>&#8221;.<\/p><\/li>\n\n                  <li><p>Tweaked the UI a lot, especially under OSX where it got some long-needed TLC. Some of the effects\n                      I was able to create are hoe-hum at best, but are <i>downright miraculous<\/i> in the context of\n                      Lightroom's infrastructure limitations.<\/p><\/li>\n\n                  <li><p>Added an option to select the language for reverse-gocoding results.\n                      Google's reverse-geocode stuff supports about 37 languages. (It seems that &#8220;Kyoto&#8221;\n                      in Hindi is &#8220;&#091c;&#093e;&#092a;&#093e;&#0928;&#8221;; in Italian, it's &#8220;Prefettura di Ky&#014d;to&#8221;.)<\/p><\/li>\n                  <li><p>In the Interactive dialog, the red arrow that marks the most-recently-interacted-with\n                      photo would sometimes show up on two photos. Fixed that.<\/p><\/li>\n\n                  <li><p>Disabled the ENTER key in the Interactive dialog... it was too easy to exit the dialog\n                      inadvertently.<\/p><\/li>\n\n                  <li><p>I added the ability to set the two-letter country code in the Interactive dialog, and also\n                      fill it in when reverse-geocoding. For good measure, I also added a box so you can enter\n                      the &#8220;location&#8221; as well (e.g. &#8220;The Louvre&#8221;, &#8220;Heian Shrine&#8221;,\n                      &#8220;Grand Canyon&#8221;, &#8220;Larry's house&#8221;...). It's there for convenience,\n                      but it (the location field) is never filled in automatically by the reverse geocoding.<\/p><\/li>\n\n\n                  <li><p>Added a note at the top of the Interactive dialog reporting how many images have changes,\n                      how many are geoencoded, and how many have full city\/state\/country. I still need to work on\n                      a filter, but the semantics of a filter are not obvious, so I've got to think about it\n                      a bit more.<\/p><\/li>\n\n                  <li><p>I don't like how Google's reverse-geocode reports states as codes (e.g. &#8220;CA&#8221;\n                      instead of &#8220;California&#8221;).\n                      I prefer &#8220;California&#8221;, so I added an option that when turned on does the conversion.\n                      At the moment, it converts US States and Canadian Provinces, both in English and French.\n                      Let me know if other conversions would be interesting.<\/p><\/li>\n\n               <\/ul>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090601.79' name='79'>20090601.79<\/a><\/td><td>\n<p>Added a &#8220;View KML in application&#8221; item to the Plug-in Extras Menu Configuration dialog.\n               It's exactly like &#8220;View locations in Google Earth&#8221;, except it lets you pick the application\n               to view a KML file. (When you invoke it, a KML file will be made for the selected photos that\n               are geoencoded, and then your selected application will be launched, with the KML filename\n               as its only argument.)<\/p>\n\n               <p>This item defaults to unselected, of course, but it may be included in the Plugin Extras'\n               menu after you fill in the application.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090530.78' name='78'>20090530.78<\/a><\/td><td>\nDoh, fixed an &#8220;ENDPOINT_METHOD_IS_ENABLED&#8221; error I introduced in the previous version.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090526.77' name='77'>20090526.77<\/a><\/td><td>\n<p>Fixed an esoteric bug on Windows that caused some location presets to be replaced by\n               separator lines in the display.<\/p>\n\n               <p>Shortened the tab text on Macs (i.e. &#8220;Geoencode From Tracklog&#8221; becomes just &#8220;Tracklog&#8221;) because\n               if all the tab text can't fit, OSX just chops it off.<\/p>\n\n               <p>Added a &#8220;view in Google Earth&#8221; link next to the &#8220;view on map&#8221; link in the tab for static\n               geoencoding.<\/p>\n\n               <p>Now detects when a tracklog has trackpoints, but without timestamps,\n               and reports that in the error message. Timestamps are\n               required for geoencoding, of course.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090525.76' name='76'>20090525.76<\/a><\/td><td>\n<p>Finally releasing something I've been working on for a long time now... a new tab that allows\n               interactive geoencoding of a bunch of images at once (best with Google Earth running in\n               a separate window!) and <b>reverse geocoding<\/b>, which attempts to use Google's service\n               to fill in the city\/state\/country based upon a geoencoded location.<\/p>\n\n               <p>It sits as the new &#8220;Reverse Geocode +&#8221; tab in the Geoencoding dialog.<\/p>\n\n               <p>I've been working on this for ages, and in one sense it's quite polished (it has a lot\n               of features), but one must remember that &#8220;polished&#8221; is still within the context of Lightroom's\n               plugin API, which severely restricts many aspects of the UI. For example, the API doesn't\n               give any way for plugins to get image thumbnails, so I have to go to disk and try to pluck one\n               from Lightroom's preview cache. I usually get one, but I have no information about whether\n               the image has been rotated in Lightroom (so I might not display it properly), and it could be\n               old, and hence not reflect a recent crop or other recent develop change.<\/p>\n\n               <p>Most users don't know or care about these restrictions... they just want something that\n               works. I try my best, but often it's not enough. I hope the API fills out in the coming years.<\/p>\n\n               <p>Anyway, in the next few days I'll get around to making screen shots and putting out some\n               documentation, so at this point it's for the adventurous only who want to try to figure it out\n               on their own. Hopefully I've designed it well enough that it's easy to use, but we'll see.\n               Also, I'm quite sure there are plenty of bugs, so there'll be version churn for the\n               next while. (If you find bugs, or have suggestions, please send them <a href='mailto:jfriedl@yahoo.com'\n               class='quiet'>via email<\/a> or, when appropriate, via the &#8220;Send Log to Jeffrey&#8221; button in the Plugin\n               Manager.)<\/p>\n\n               <p>Have fun.<\/p>\n\n               <p>This version also has a fix for a bug that broke &#8220;import location from Google Earth&#8221; for some\n               non-English Windows systems.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090521.75' name='75'>20090521.75<\/a><\/td><td>\nFixed a &#8220;loadstring&#8221; error some users got.  There are also a lot of changes under the hood\n               to support some big new features that will be added soon; hopefully, none of the current\n               functionality got broken....\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090518.74' name='74'>20090518.74<\/a><\/td><td>\nFor some reason, parts of the plugin fail when you try to export a photo with an altitude\n               along the lines of -0.000000004756275857 meters. For some reason, people have been geoencoding\n               photos with altitudes like that. Odd. Not sure what's going on, but now the plugin won't die.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090511.73' name='73'>20090511.73<\/a><\/td><td>\n<p>Added a &#8220;show crosshair target in Google Earth&#8221; button. Once it's in Google Earth the first time,\n               you can move it to <b>My Places<\/b> so that it's always there at your disposal. Or just let it go unsaved\n               and re-press the button the next time you want it.<\/p>\n\n               <p><b>IMPORTANT NOTE FOR MAC USERS:<\/b> It seems that the recently-released <b>Google Earth 5<\/b> has dropped\n               support for AppleScript, which means that the &#8220;import location from Google Earth&#8221; no longer works.\n               If you wish to use that feature, you'll have to remain at (or go back to) Google Earth 4.3.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090511.72' name='72'>20090511.72<\/a><\/td><td>\n<p>Yikes, broke support for some tracklogs in the previous push, sorry. Fixed.<\/p>\n\n               <p>&#8220;Import Location from Google Earth&#8221; was failing for some Mac users. I've greatly simplified how the\n               plugin goes about this on the Mac, so hopefully it should now work for everyone.<\/p>\n\n               <p>Some minor UI fixes as well: added a &#8220;clear&#8221; button to the tracklog tab, and have the two &#8220;import&#8221;\n               buttons in the static-location tab (from active image, from Google Earth) first clear out the location\n               input boxes, so that it's more apparent when the import fails. Also rounded the altitude value returned\n               from Google Earth to the nearest meter, because altitude values like &#8220;497.27464629276251748&#8221; include\n               <i>juuuuuust<\/i> a few more digits than are mathematically significant.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090510.71' name='71'>20090510.71<\/a><\/td><td>\n<p>I made it so that tracklogs that have trackpoint times without timezones will have those times\n               interpreted in the same timezone as the photos. Any remotely reasonable GPS device will keep tracklogs\n               with times specifically identified as UTC, but it seems there are plenty of unreasonable devices that\n               write times without any timezone. I figure that such devices are writing whatever they think the local time\n               is (do they even sync time from the GPS satellites?), so I use the timezone selected for interpreting\n               the photo times (because I guess it'll be local time). A warning note is shown when this happens,\n               which is an indication to you that whatever created your tracklog is broken. But at least now you can\n               probably use it.<\/p>\n\n               <p>The tracklog info text was getting cut off. Fixed.<\/p>\n\n               <p>I renamed the plugin's label in the Plugin Manager from &#8220;GPS Support&#8221; to &#8220;Geoencoding Support&#8221;\n               on the Mac, and because that wouldn't fit on Windows, &#8220;Geocoding Support&#8221;. GPS-tracklog support is just\n               one subset of what this plugin does, so I thought the name should reflect that.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090510.70' name='70'>20090510.70<\/a><\/td><td>\nAdded a link in the Plugin Manager to the plugin's update-log RSS feed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090510.69' name='69'>20090510.69<\/a><\/td><td>\nAdded <a href='http:\/\/openstreetmap.org' class='quiet'>OpenStreetMap<\/a> to the &#8220;View At..&#8221; list.\n               Fixed parsing of reverse-geocoding stuff.... some apostrophes were not coming out properly.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090506.68' name='68'>20090506.68<\/a><\/td><td>\nThe Google Earth integration didn't work for Mac users with international settings that use a &#8220;,&#8221;\n               as the fractional separator. Fixed it.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090504.67' name='67'>20090504.67<\/a><\/td><td>\nI gave the Geoencoding dialog layout some TLC. All the new functionality I'd added lately got hacked\n               into the dialog fairly haphazardly, so I spent some time today to place things in a more reasonable layout.\n               I also paid attention to the &#8220;small dialog for small screen&#8221; mode, which you can set in the Plugin\n               Manager. It now fits in 800&times;600, at least on my Mac laptop.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090504.66' name='66'>20090504.66<\/a><\/td><td>\nI actually used the &#8220;between endpoints&#8221; feature for the first time today on real photos\n               (as opposed to just testing), and discovered that I must have introduced a bug sometime since\n               I last tested it. Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090427.65' name='65'>20090427.65<\/a><\/td><td>\nAdded &#8220;import location from Google Earth&#8221; to the Windows version as well.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090427.64' name='64'>20090427.64<\/a><\/td><td>\n<p>Added an &#8220;import location from Google Earth&#8221; to the &#8220;Geoencode Static Location&#8221; tab, on Macs.\n               Still working on the Windows version.<\/p>\n               <p>Also fixed a bug &#8220;no script by the name...&#8221; bug that popped up in the previous version.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090425.63' name='63'>20090425.63<\/a><\/td><td>\n<p>Added <a href='http:\/\/wikimapia.org\/' class='quiet'>WikiMapia.org<\/a>, a value add to Google Maps,\n               to the &#8220;View location at...&#8221; list because wow, it's cool. I also added Wikimedia's GeoHack server,\n               which acts like a directory of mapping\/satellite sites. It's amazing to look at the same\n               location in a dozen different satellite views.<\/p>\n\n               <p>Also tweaked out the plugin tries to update itself during the\n               one-click upgrade process, to hopefully get things working for those few\n               Windows users that have never had it work. Crossing fingers. We'll see.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090425.62' name='62'>20090425.62<\/a><\/td><td>\nUpdated how the MultiMap.com url is created, using an incantation that ends up leaving\n               a red circle to mark the photo location.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090424.61' name='61'>20090424.61<\/a><\/td><td>\n<p>Added two more &#8220;View location at...&#8221; menu items: one for <a\n               href='http:\/\/multimap.com' class='quiet'>multimap.com<\/a> and another for <a href='http:\/\/maps.live.com'\n               class='quiet'>Microsoft Live Maps<\/a>.<\/p>\n\n               <p>I also finally figured out a way to let the user pick and choose which items they want to have in\n               the &#8220;Plug-in Extras&#8221; menu, so you can now do that via the &#8220;Configure Plug-in Extras menu items&#8221;\n               button in the Plugin Manager. (It's in the Plugin Manager because current Lightroom\n               plugin-infrastructure limitations require that you reload the plugin for changes to take effect, and\n               you can only do that from within the Plugin Manager, so having it here makes it as smooth as\n               possible.)<\/p>\n\n               <p><b>Note:<\/b> if this menu-item configuration fails, the whole plugin may find itself disabled, at\n               which point you'd have to do a manual reinstall. I've taken extensive precautions to reduce the\n               chances that this might happen, but lacking sufficient hooks in the API, I can't guarantee it.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090418.60' name='60'>20090418.60<\/a><\/td><td>\nThis version fixes a bunch of errors that cropped up with the experimental features added in\n               the previous version.\n               Also, the &#8220;add map url to shadow metadata&#8221; is disabled if you're flushing shadow data at the\n               same time you're geoencoding, to highlight that it makes no sense to bother with that if\n               it's going to be deleted right away. Also, internally, I now optimize that situation so that\n               the plugin doesn't waste time writing soon-to-be-deleted shadow data.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090417.59' name='59'>20090417.59<\/a><\/td><td>\n<p>Two sort of experimental features added this time. The first is the ability to keep the\n               dialog open even after starting the geoencoding action, in case you want to do something else\n               right away when it's done. It should be okay, but I've not tested every possibility.<\/p>\n\n               <p>I also updated the &#8220;between endpoints&#8221; so that it can also be used to &#8220;fill in&#8221; locations\n               in a set of partially-geoencoded images. How it works depends on the &#8220;How to do it&#8221; setting\n               at the bottom of the dialog:<\/p>\n               <ul>\n\n               <li><p><b>Process all selected images<\/b>\n               <br\/>\n               This ignores any GPS data that the images might already have, and blindly fills in data\n               by interpolating from the endpoints (interpolation is based upon location and time).\n               <\/p><\/li>\n\n               <li><p><b>Process only those images that do not have &#8220;real&#8221; Exif GPS data.<\/b>\n               <br\/>\n               This is like the option above except that images that already have &#8220;real&#8221; GPS data (as opposed to\n               shadow data added by an earlier application of this plugin) are not modified, and their geoencoded\n               locations serve as the endpoints between which shadow GPS data is generated for images without\n               real GPS data. Any shadow GPS data that images might have already had is ignored.\n               <\/p><\/li>\n\n               <li><p><b>Process only images that still have no GPS data<\/b>\n               <br\/>\n               This treats any image with GPS data (&#8220;real&#8221; or shadow) as an endpoints between which to\n               interpolate for images that have no GPS data. Images with any GPS data at all are not modified.\n               <\/p><\/li>\n               <\/ul>\n               <p>So, the second or third option would be used to &#8220;fill in&#8221; images that didn't get GPS info\n               during a session in which some did. In these cases, the &#8220;Import locations from first\/last images\n               selected&#8221; probably makes a lot of sense.<\/p>\n\n               <p>In all cases, whatever endpoints are used for any particular photo, the interpolation is based\n               upon a straight-line constant-speed movement between endpoints. This is almost certainly not accurate,\n               but there's not much else that could be done automatically like this.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090415.58' name='58'>20090415.58<\/a><\/td><td>\nFixed bugs that could have caused image corruption when writing to very large files such as\n               PSDs and TIFFs in the hundreds-of-megabyte range. Parts of the plugin that update GPS data directly\n               in image files (both the &#8220;shadow injector&#8221; during export, and the &#8220;writeback&#8221; operation) now write\n               to a temporary file, then replace the original only if the write succeeded. As a byproduct of this\n               change, the whole image doesn't need to be in memory at once, and so &#8220;out of memory&#8221; errors should\n               be a thing of the past. Thanks to the exiftool author for his help in addressing this.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090412.57' name='57'>20090412.57<\/a><\/td><td>\n<p>A common request has been to make the &#8220;Location&#8221; metadata item clickable, to bring you\n               to Google Maps, just like the &#8220;real&#8221; GPS metadata item. My reply has always been that the Lightroom\n               plugin infrastructure doesn't allow that for custom plugin metadata, and indeed it doesn't, but this\n               morning a &#8220;Duh!&#8221; light went off in my head and I realized that if you don't mind having an ugly map\n               url display right there among the metadata, Lightroom <i>does<\/i> allow that to be clicked, so I\n               could simply insert such a url metadata item at the same I geoencode.<\/p>\n\n               <p>So, I added another custom metadata item to the plugin (and as such, when you upgrade, you'll get\n               one of those stupid &#8220;plugins wants to update the catalog&#8221; warnings) and an option to add a map url\n               as you geoencode. I also added the ability to configure what kind of map url gets added.... Google\n               or Yahoo!, which country\/language, satellite or map, etc.<\/p>\n\n               <p>(I'll eventually use the same configuration in my <a\n               href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps-proximity' class='quiet'>Proximity-Search\n               plugin<\/a>.)<\/p>\n\n               <p>In order to allow you to add the map url to previously-geoencoded items, I added an &#8220;Etc.&#8221; tab to\n               the Geoencoding dialog, which contains a &#8220;Set Map URLs&#8221; button. It can be used to set the map url on\n               all selected images that have shadow GPS data, and\/or to reset the map url (in case you changed the\n               map-url configuration).<\/p>\n\n               <p>And thus is how I spent my birthday. \ud83d\ude42<\/p>\n\n               <p>The next version of my <a href='https:\/\/regex.info\/blog\/2009-03-30\/1173' class='quiet'>metadata\n               viewer preset builder plugin<\/a> will support this new metadata field, but for those wishing to\n               update their tagsets by hand, the key is <b>info.regex.lightroom.gps.map<\/b>.<\/p>\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090411.56' name='56'>20090411.56<\/a><\/td><td>\nI guess not many people use the &#8220;View at Panoramio&#8221; plugin-extra menu item, because I realized\n               today that it's been broken for quite a while. It's fixed, but I really wish the plugin architecture\n               allowed me to make them user configurable, so that you could have only the ones you use.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090402.55' name='55'>20090402.55<\/a><\/td><td>\nFruits, already, from the debugging enhancement in the release a few minutes ago. It turns out\n               that during GPS writeback, exiftool might bail on an image due to some unrelated issues with the\n               image. I've now turned on the &#8220;ignore minor errors&#8221; flag, so\n               that it can get on with what's important.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090402.54' name='54'>20090402.54<\/a><\/td><td>\n<p>Updated the tracklog-parsing code to try to be a bit smart about what a comma means in\n               the input string. Prior to this, a comma was a simple separator (you can specify multiple tracklogs,\n               if you separate their filenames by commas), but that broke if a tracklog filename actually contained\n               a comma. Now, I treat a comma as a separator only if it has\n               what looks like <i>dot, followed by a file extension<\/i> right before it.\n               Thus, if your filename is <b class='nobr'>...\/meetup with Larry, Moe, and Curly.gpx<\/b>, the commas\n               are properly treated as part of the filename.<\/p>\n\n               <p>Also, on the debugging front, it turns out that I wasn't reporting the error properly if the embedded\n               exiftool wasn't able to write the image file during shadow-GPS injection. I think it'll now properly report\n               the error returned by exiftool.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090402.53' name='53'>20090402.53<\/a><\/td><td>\nThe built-in tracklog reader can now understand\n               &#8220;routepoints&#8221; and non-UTC times.\n               It seems that the iPhone App &#8220;<a class='quiet' href='http:\/\/gpslogapp.com\/'>GPS Log<\/a>&#8221;\n               creates gpx files of this flavor.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090401.52' name='52'>20090401.52<\/a><\/td><td>\nFixed a bug that caused some spurious errors to be reported while geoencoding from a tracklog.\n               Also fixed a bug that disallowed &#8220;View Locations in Google Earth&#8221; if images had no timestamp.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090327.51' name='51'>20090327.51<\/a><\/td><td>\nAdded a little feature to clear out the list of location\n               presets <a\n               href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps#comment-34820'>for\n               someone who needs it<\/a>. If the file <b>clear-presets.txt<\/b> exists in the plugin\n               folder when the plugin is loaded, presets are flushed and the file is\n               removed so that they won't be flushed the next time.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090325.50' name='50'>20090325.50<\/a><\/td><td>\n<p>Wow, it turns out that the &#8220;Write Back&#8221; process was putting a &#8220;GPS Timestamp&#8221; that was off\n               by a 31 days. This huge mistake is a result of a stupid typo on my part, compounded by a pathetic lack\n               of testing, also on my part. I'm really sorry. I'm mortified, actually.<\/p>\n               <p>Thanks to <a href='http:\/\/www.flickr.com\/photos\/paolo_savonuzzi\/'>Paolo Savonuzzi<\/a> for noticing\n               the problem, enduring a flurry of back-and-forth emails, and providing many megabytes of uploads until\n               I finally got my head screwed on right.<\/p>\n               <p>If you've done a &#8220;Write Back&#8221; operation on images that were geoencoded with my plugin via a tracklog,\n\n               you can correct the mistake by rewriting them with this or a later version.\n               <b>You'll want to be sure to &#8220;Save Matadata To File&#8221; <i>before<\/i> you do this write\n               back to ensure that the write-back does not obliterate all your develop changes!!<\/b> Sorry for the\n               hassle.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090314.49' name='49'>20090314.49<\/a><\/td><td>\nAdded an option to create a smaller geoencoding dialog, for those with very small screens.\n               It's usable even at 800&times;600.\n               It does this by eliding some instructions and warnings, using shorter (more cryptic) labels, etc.\n               You'll fine a new checkbox in the Plugin Manager to enable small-screen mode.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090313.48' name='48'>20090313.48<\/a><\/td><td>\nIt seems that PayPal doesn't give everyone a &#8220;Unique\n               Transaction ID&#8221; in the registration confirmation mail; some people get a\n               &#8220;Receipt Number&#8221;. So, the registration dialog now accepts that as well.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090301.47' name='47'>20090301.47<\/a><\/td><td>\nAdded user presets to the static-location tab, so you can easily refer to oft-used locations.\n               (I thought this would be a quick half-hour addition, but geez, it took all weekend, and I'm\n                still not happy with how unsettled the UI is.)\n               Also, fixed a bug that caused a plugin crash if my server couldn't be reached during registration.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090219.46' name='46'>20090219.46<\/a><\/td><td>\nFixes the &#8220;Access to undefined global: ReloadPluginFile&#8221; error. Sorry 'bout that.\n               Also includes a few more UI tweaks.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090216.45' name='45'>20090216.45<\/a><\/td><td>\nI belatedly realized that most people who use my plugins probably don't follow my blog,\n               so will be surprised to notice some day the note about registration. So now I've added\n               a popup that should show up the first time someone upgrades from a non-donationware version\n               to a donationware version, just to alert them to the situation. Less surprise is a good thing.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090215.44' name='44'>20090215.44<\/a><\/td><td>\n<p>With this version I'm moving my plugins over to a &#8220;donationware&#8221; model,\n               in which registration eventually becomes required (and an eventual donation hoped for :-).\n\n               For details, see <a class='quiet'\n               href='https:\/\/regex.info\/blog\/2009-02-15\/1148'><i>Lightroom Plugin\n               Development: Now With Added Encouragement<\/i><\/a>. (For info about what\n               drove this decision, see <a class='quiet'\n               href='https:\/\/regex.info\/blog\/2009-02-03\/1134'><i>What To Do When a Hobby\n               Becomes Work?<\/i><\/a>)<\/p>\n\n               <p>Plugins no longer expire, and correspondingly, I will not pay much attention to reports\n               of bugs that have already been fixed, so please check your version and\n               the version history before submitting bugs or feature requests.<\/p>\n\n               <p>There was a lot of internal upheaval in the code, so I expect that some boo-boos my\n               surface. If something breaks for you with this version, please let me know, but\n               until I fix it, feel free to revert to <a\n               href='https:\/\/regex.info\/LightroomPlugins2\/releases\/gps-20090129.42.zip'>the\n               previous version<\/a>.<\/p>\n\n               <p><b>One bug fix in this release<\/b>: I fixed, I think, the inability to write data to\n               images whose filenames\n               have non-ASCII characters. Working on this bug is a perfect example of why\n               I'm moving to a donationware model: this non-ASCII-filename situation\n               doesn't impact me, personally, but I spent 8+ hours today tracking down the\n               problem (Windows is horrid) and MacGyvering a solution. I hope it works for everyone.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090129.42' name='42'>20090129.42<\/a><\/td><td>\nYikes, if you invoked the &#8220;View in Google Earth&#8221; and the plugin had to ask you where Google\n               Earth was because it couldn't figure it out itself, it didn't remember the location, so asked every time.\n               Fixing a typo should take care of that. Also, a small housekeeping update for the new locales supported\n               by Lightroom 2.3.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090125.41' name='41'>20090125.41<\/a><\/td><td>\nCorrected a few misspellings.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090121.40' name='40'>20090121.40<\/a><\/td><td>\n<p>The shadow injector doesn't seem to work on Windows when the destination images are written to\n               a <b>\\\\hostname<\/b> share, so I now disable the export if it detects this situation. If you map the\n               share to a local drive letter, it should be able to work. If anyone knows why cygwin Perl can't access\n               a filename like &#8220;\\\\host\\path\\file.jpg&#8221;, please let me know.<\/p>\n\n               <p>I also updated the injector section's synopsis (the &#8220;enabled&#8221;\/&#8220;disabled&#8221; note\n               that appears when the section is closed) to be more meaningful.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090121.39' name='39'>20090121.39<\/a><\/td><td>\n<p>It turns out that my <b>speed<\/b> calculation had a pair of typos that caused its results to be off by\n               a factor of almost 13(!).... but only when a photo's time does not fall directly on a tracklog point.\n               I never noticed this because all my tracklogs are made at one-second intervals. Doh!<\/p>\n\n               <p>If you've used previous version of this plugin to geoencode photos taken at speed with tracklogs kept\n               at anything other than a one-second interval, you may want to re-encode them to update the speed.<\/p>\n\n               <p>Note that you can apply more than one tracklog at a time, so it's a simple matter of selecting all\n               the images and then selecting all the tracklogs, letting the plugin figure out which goes with what.\n               Just be sure that all the images times are from the same timezone. Still, it's a pain, so sorry.<\/p>\n\n               <p>I also fixed a small issue with the &#8220;browse for tracklog&#8221; dialog.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090120.38' name='38'>20090120.38<\/a><\/td><td>\nIt turns out that MapFan.com doesn't use the modern <a\n               href='http:\/\/en.wikipedia.org\/wiki\/WGS_84'>WGS-84<\/a> that most everyone else uses because MapFan uses\n               the older &#8220;Tokyo Datum&#8221; geodetic that is off by 400-450 meters (which is pretty amazing that\n               it's that close, because it was developed in 1918). Japan only moved to WGS-84 in 2002 with the\n               introduction of JGD2000, but since MapFan predates that, they couldn't switch over without invalidating\n               all their old URLs. (Of course, they could just change their URL format and key off that which geodetic\n               to use.) Anyway, I the difference between the two is not constant, so I sampled every quarter-degree\n               intersection in Japan to derive a huge grid of points and differentials, and now adjust appropriately, so\n               the locations are now dead on. I'm sure no one but me cares about this, but there you have it.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090116.37' name='37'>20090116.37<\/a><\/td><td>\nIt turns out that the automatic upgrade stuff doesn't work if the plugin folder has been renamed from its\n               original. That should generally not happen, but it's possible, so the plugin now checks its own location\n               reports the issue to the user if it finds it.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090115.36' name='36'>20090115.36<\/a><\/td><td>\n<p>Figured out how to move some stuff around to conserve some height, making the Geoencoding dialog\n               shorter. This'll help those with small screens.<\/p><p>Realized that the &#8220;New version\n               available&#8221; notice never actually showed up, so fixed that.<\/p><p>Added the ability to automatically\n               call <a href='http:\/\/www.gpsbabel.org'>GPSBabel<\/a> on non-GPX tracklogs, if you have it installed and\n               configure the plugin with the appropriate command-line arguments.<\/p> <p>Added more debugging-log stuff\n               to the 'Upgrade Now' button action, to try to understand why it doesn't work for some people.<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090111.35' name='35'>20090111.35<\/a><\/td><td>\nAdded &#8220;View Location at MapFan.com&#8221; to the list of &#8220;View at...&#8221; File-menu links.\n               It works only for locations in Japan, but the quality of their maps is excellent &ndash; sometimes much\n               better than even Google's.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090110.34' name='34'>20090110.34<\/a><\/td><td>\nAdded a checkbox in the Plugin Manager to turn on enhanced debugging (more stuff in the plugin's\n               debugging log), and added a button in the same place that sends your log to me. Particularly for\n               &#8220;the upgrade button doesn't work&#8221; and &#8220;error while uploading&#8221; type issues, this\n               should be useful for debugging.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20090107.33' name='33'>20090107.33<\/a><\/td><td>\nCan now handle Google-map urls that result from an address lookup. Updated the <a\n               href='http:\/\/www.sno.phy.queensu.ca\/~phil\/exiftool\/'>ExifTool<\/a> install that the plugin uses to Version\n               7.60, which corrects some problems that a few plugin users were seeing while working with certain Canon\n               image files.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081229.32' name='32'>20081229.32<\/a><\/td><td>\nCan now write back XMP for images in folders whose names contain an apostrophe.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081227.31' name='31'>20081227.31<\/a><\/td><td>\nNow uses both waypoints and tracklog points if the GPX file has both.\n               Spruced up the informational message displayed when the tracklog+fuzziness+skew doesn't cover any selected photo\n               (to show how far away the tracklog is, and suggesting increased fuzziness or a timezone check, when appropriate).\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081225.30' name='30'>20081225.30<\/a><\/td><td>\nThis plugin's Christmas present is some additional error\n               checking while attempting to open a tracklog file.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081223.29' name='29'>20081223.29<\/a><\/td><td>\nBumping back the expiration date.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081215.27' name='27'>20081215.27<\/a><\/td><td>\nProperly handle interpolation between two points with the\n               same latitude\/longitude.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081210.26' name='26'>20081210.26<\/a><\/td><td>\nFixed a problem whereby a tracklog was considered inappropriate for a group of images even if the\n               &#8220;fuzz&#8221; should have been enough to allow it.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081206.25' name='25'>20081206.25<\/a><\/td><td>\nDidn't work with images that had no timestamp. Sorry. Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081205.24' name='24'>20081205.24<\/a><\/td><td>\nOops, the &#8220;view locations in Google Earth&#8221; was broken unless you had all five of my export\n               plugins installed (which means that it was likely broken for everyone but me.... oops!). Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081204.23' name='23'>20081204.23<\/a><\/td><td>\nEnhanced the &#8220;View location in Google Earth&#8221; in various ways:\n               <ul>\n               <li>You can apply it to multiple images: one <i>.kml<\/i> file will be created with placemarks for all the images.<\/li>\n               <li>The <i>.kml<\/i> filename is now derived from the image filename (the first image, timewise, if\n               multiple are selected).<\/li>\n\n               <li>If the image has been uploaded to Flickr\/Zenfolio\/SmugMug\/Facebook\/PicasaWeb with one of my plugins,\n               the url of the image is included in the placemark.<\/li> <li>More info is included in the placemark,\n               including title, caption, and date.<\/li> <\/ul> I also placed a &#8220;view tracklog in Google\n               Earth&#8221; button in the &#8220;Geoencode from Tracklog&#8221; tab... it's just something I'm playing\n               with.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081204.22' name='22'>20081204.22<\/a><\/td><td>\nNow handles waypoint GPX files as well.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081126.21' name='21'>20081126.21<\/a><\/td><td>\n<p>In this version I completely redid how dates and times are interpreted, which affects how tracklogs\n               are applied to images. It turns out that in previous versions, the plugin was off by an hour when\n               applying images to the tracklog when the image timezone (the one you set via pulldown in the geoencoding\n               dialog) does not represent daylight saving time, but the date of the image <i>if interpreted on your\n               current local computer-system time<\/i> would be in daylight saving time. Arrrgh.<\/p>\n\n               <p>Let me rant for the moment and say that <b>The EXIF standard for photographic metadata is MORONIC<\/b>.\n               It has all kinds of fields for image-related date\/time pairs, but absolutely no provision to encode what\n               timezone those date\/time pairs have been expressed in. A few years ago, I asked a member of the committee\n               who created this standard why there was no provision for timezones, to which he essentially replied\n               &#8220;why would anyone need timezones?&#8221; (He actually replied, in much better English than the\n               Japanese with which I asked, &#8220;<i>We would appreciate if we could have more information about in\n               what case did you feel inconveniency for the lack of time zone information and for what purpose do you\n               utilize the time zone code.<\/i>&#8221;). Arrrrggggh, if you have to ask.... (sigh).<\/p>\n\n               <p>Lightroom tries to overcome this basic inability\n               for photos to identify when they were taken, but Lightroom, too, has its time-related issues.<\/p>\n\n               <p>In any case, I now do all the date conversions by hand, so to speak, and so hopefully it's correct,\n               but at the same time, wholesale changes opens the door to new bugs....<\/p>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081126.20' name='20'>20081126.20<\/a><\/td><td>\nSeveral things:<ul><li>Having heard no issues of the plugin destroying data or raiding the liquor cabinet\n               at night, I've gone ahead and removed the dire &#8220;THIS IS BETA&#8221; warnings.<\/li><li>I added,\n               though, a warning to the &#8220;Write Data Back&#8221; tab to indicate that when you &#8220;Read Metadata\n               From File&#8221; to suck in the GPS data, it could also erase any metadata changes you've made to the\n               file, and\/or any develop edits. I'm not exactly sure the situations where this happens, but if you make a\n               habit of geoencoding right after image load, there's no problem.<\/li><li>Added the ability to write back\n               changes to the image files as geoencoding happens.<\/li><li>Added more debugging stuff to the log to help\n               track down issues.<\/li><\/ul>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081124.19' name='19'>20081124.19<\/a><\/td><td>\nPerhaps fixed a problem whereby the &#8220;Upgrade Now&#8221; button didn't work for some Windows users.\n               We'll see whether it works when those users upgrade from this version to whatever version is next.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081122.18' name='18'>20081122.18<\/a><\/td><td>\nNo problems from the upheaval recently, so pushing back the expiration a bit.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081118.17' name='17'>20081118.17<\/a><\/td><td>\nBe smarter about what folder to start with in the open-tracklog dialog.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081117.16' name='16'>20081117.16<\/a><\/td><td>\nFixed &#8220;View location at Yahoo Maps&#8221;, which was actually sending the browser to Flickr. No\n               other new functionality in this version, but a huge upheaval in the underlying code to repair an\n               unfortunate design choice I made early on in the development that had limiting consequences I'd not\n               foreseen. There are likely bugs introduced in this version, and as such, it has a short expiration date\n               to encourage updates as those bugs are reported and fixed. If you do run into an error, please send (via\n               <a href='mailto:jfriedl@yahoo.com'>email<\/a>) the log referenced in the upper-right of the Plugin\n               Manager. Thanks.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081114.15' name='15'>20081114.15<\/a><\/td><td>\nA file-related error message was not reporting the filename\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081113.14' name='14'>20081113.14<\/a><\/td><td>\nAdded &#8220;enabled&#8221; to the shadow-injector status line when the thing is enabled.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081111.13' name='13'>20081111.13<\/a><\/td><td>\nFixed a potential crash related to reverse geocoding.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081110.12' name='12'>20081110.12<\/a><\/td><td>\nBunch of stuff:<ul><li>Handle tracklogs with sub-second time granularity.<\/li>\n                   <li>Fixed a couple of bugs that caused a plugin crash.<\/li>\n                   <li>Made it clear that the center of a Yahoo!\/Google map url is what's used.<\/li>\n                      <li>Made sure to ignore the SLL= part of a Google map url ('cause that's the original search location, not the center of the current map).<\/li>\n                   <li>Removed the flashing from the data-writeback warning, because no problems reported yet.<\/li>\n                   <li>Added the ability to import the location info from the active image into the static-location fields, so that you can easily copy a location\n                       from one image to a bunch by selecting the bunch and ensuring that the one with the location is the &#8220;most active&#8221;. When using the &#8220;between endpoints&#8221;\n                       tab, you can import from the first\/last of the selected images.<\/li>\n                   <li>Fixed a bug that caused the reverse geocoding of one of the start\/end pair (of the &#8220;between endpoints&#8221; tab) to fail.<\/li>\n               <\/ul>\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081107.11' name='11'>20081107.11<\/a><\/td><td>\nOops, introduced an error in the previous push that disabled tracklog use altogether. Doh!  Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081104.10' name='10'>20081104.10<\/a><\/td><td>\nThe plugin would crash if pointed at an empty tracklog. Fixed.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081102.9' name='9'>20081102.9<\/a><\/td><td>\nOops, fixed a major bug introduced in the previous release.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081102.8' name='8'>20081102.8<\/a><\/td><td>\nAll kinds of changes, including a lot of internal twiddling. I've added a first pass at writing back the\n              shadow data to image files. It seems to work, but I can't stress enough that you should save backups of\n              images before you test it. The dialog is getting pretty big, but it still fits on my MacBook screen, so I\n              have hope that it's not too big for anyone. I've also changed the database field that I use to access the\n              photo time, as per <a href='https:\/\/regex.info\/blog\/lightroom-goodies\/gps\/#comment-25146'>this comment<\/a>.\n              The Exif standard is so flaky (or I am) that it's never clear what these almost-identical fields actually\n              mean, so hopefully this'll all just work.\n\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081031.7' name='7'>20081031.7<\/a><\/td><td>\nJust playing around, I added some reverse geocoding to some of the input things, so that after specifying\n              a location, it'll try to describe that location. It uses Google Maps new reverse-geocoding stuff, which\n              is sort of sketchy at this point, but it's sort of cool to see it pop up. When you load a tracklog, it'll\n              try to describe the starting point, and also tell you how far away the furthest point of the tracklog is.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081031.6' name='6'>20081031.6<\/a><\/td><td>\nAttempting to work around a Lightroom problem that causes the shadow data to now show up in the\n              &#8220;Geoencoding...&#8221; tagset. The result is that the tagset label is different (it's now the name\n              of the plugin, &#8220;GPS Support&#8221;, rather than the more descriptive &#8220;Shadow GPS Data&#8221;,\n              but that's the best I can do until I figure out what's tickling this problem.)\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081031.5' name='5'>20081031.5<\/a><\/td><td>\nYikes, introduced a bug in the previous release that broke the on-export injector.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081030.4' name='4'>20081030.4<\/a><\/td><td>\nCoded around a Lightroom bug that artificially capped the &#8220;fuzziness&#8221; value at 100 on a Mac\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081030.3' name='3'>20081030.3<\/a><\/td><td>\nNow handles urls from non-US versions of Yahoo! Maps. Fixed a few bugs in the latitude\/longitude parsing\n              code, so that it now actually handles hand-written lat\/long pairs the way it was documented to handle\n              them before. Added &#8220;view on map&#8221; buttons near the lat\/lon input boxes, so that you can verify\n              that the location has been understood by the plugin. Added the ability to compensate for an incorrect\n              camera clock when syncing to a tracklog. You should really just correct the image times in the first\n              place, but I've added the compensation here for those wishing to use it.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081030.2' name='2'>20081030.2<\/a><\/td><td>\nNow properly handles the dialup version of Yahoo! Maps when accepting a url for a location.\n\n<\/td><\/tr><\/table>\n<table class='h'><tr valign='baseline'><td><a id='20081029.1' name='1'>20081029.1<\/a><\/td><td>\nInitial public beta release\n\n\n<\/td><\/tr><\/table>\n\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>This plugin for Adobe Lightroom Classic adds many new location-based features to Lightroom, and enhances or replaces some features Lightroom already has, including:<\/p> Tracklog geoencoding far superior to what's built into Lightroom. Reverse-geoencoding far superior to what's built into Lightroom. Fast full-catalog proximity search. Viewing photos \"on location\" in Google Earth. Support for viewing photo locations at many external mapping sites. <p>This plugin works in Lightroom Classic, and older versions as far back as Lightroom 3, though some features depend on the version of Lightroom.<\/p> <p>The same download works for both Windows and Mac. See the box to the upper [...]","protected":false},"author":1,"featured_media":0,"parent":864,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/977"}],"collection":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/comments?post=977"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/977\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/864"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}