Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/60/9972860/html/smf/Sources/Load.php(225) : runtime-created function on line 3

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/60/9972860/html/smf/Sources/Load.php(225) : runtime-created function on line 3
how can I put gps tagged images onto maps, preferably off line
The DAM Forum
Welcome, Guest. Please login or register.
February 24, 2021, 06:43:43 PM

Login with username, password and session length
Search:     Advanced search
28033 Posts in 5147 Topics by 2903 Members
Latest Member: kbroch
* Home Help Search Login Register
+  The DAM Forum
|-+  General
| |-+  GPS/ Geotagging
| | |-+  how can I put gps tagged images onto maps, preferably off line
« previous next »
Pages: [1] Print
Author Topic: how can I put gps tagged images onto maps, preferably off line  (Read 26961 times)
alanmahon
Newbie
*
Posts: 1


View Profile
« on: April 10, 2009, 06:44:51 AM »

Hi there
I am a photographer trying to use gps tagged images as an aid to scouting locations. I would like to hold my scouting images on my computer (rather than uploading), and I would like to be able to look at a tagged photograph, click it and be taken to a map of some sort. Is this a fantasy, of is there any software that enables this? I am happy to pay for it.

thanks so much to anyone who can help
Alan Mahon

btw I am using a canon 5dmkII, a hotshoe mounted jobo gps unit, and use Macs.
Logged
johnbeardy
Administrator
Hero Member
*****
Posts: 1813


View Profile WWW
« Reply #1 on: April 10, 2009, 07:49:21 AM »

Alan

A few programs will do this.

Have you tried HoudahGeo? It's handy because you can tag after the event - eg if your GPS doesn't write the coordinates into the file.

John
Logged
peterkrogh
Administrator
Hero Member
*****
Posts: 5682


View Profile Email
« Reply #2 on: April 10, 2009, 11:32:30 AM »

Alan,
Both Lightroom and Expression Media can do this. There was an application that did it for Bridge, but there was a bug there (decimal vs. minutes/seconds notation.)
Peter
Logged
ianw
Full Member
***
Posts: 162


View Profile
« Reply #3 on: April 13, 2009, 02:21:06 PM »

Alan,

I'm reading your question differently than John and Peter.  I assume you have no trouble getting GPS data "into" your images.  It's seeing this information on a map and offline that is the issue.

Like you I've got many images tagged with locations and want to see them on a map.  I have a Garmin 60csx and use ImageIngester to get the data into my images, from where I can see it in xMedia 2.  I've been playing with an XSL script that takes xMedia 2 data and converts this into a GPX file.  This can be opened in Google Earth, although you have to open it from within the application rather than use "Open With..."  I'm a PC man but this solution is cross platform, just bear with me.  If Google Earth was my end destination I would have created a KML file, which is the preferred format for this tool.  However I can open GPX files within MapSource, which is the application that came with my Garmin device.  This shows each image as a Waypoint on a map.  The big advantage of this is that you don't need to be online to view this, which I believe is your primary requirement.  The only question is that I'm not sure that MapSource is available for a Mac.  There is a product called MapInstall for the Mac only but I don't know what this is capable of.  Googling suggests it supports GPX files but I can't test this in any way.  The packaging for my European map has Mac installation instructions so it doesn't appear to be impossible.  Someone must have a Garmin and a Mac?

It's not a perfect solution though.  MapSource allows you to add an image to a waypoint.  However the current (and latest) version cannot save this information into a GPX file - it can into other formats but these are not open formats.  There are a number of symbols you can use to indicate a Waypoint on the map and I've currently got this to show a number from 0 to 9 which ties in with my label values.  It might be better for this to show a Rating instead - can't make up my mind, as I'm still playing and learning.  You could also use a custom field to define the symbol as there are over 100 built in images for various uses from Outdoor (including a camera), Hunting, Transportation, Business, Civil, Marine, Aviation and various numbers, letter and faces for contacts - an alien? Maybe in America!  However I think these may vary according to the device you have.  You can also assign a Waypoint to one or more of 16 different categories.  I can't find a way to rename these categories yet so you're stuck with Category 1, Category 2 etc, so while useful they could be so much more. 

The only challenges so far have been getting around the terrible way that xMedia stores its data.  I have to convert latitude and longitude from text values to numeric and also it doesn't store dates in a good format when exported to XML.  The former is forgivable, the latter not as there is an international standard for this that the iView team should have complied with - not too late to change!

As the solution is XSL based it will work on both PC and MAC.  Let me know if you think this is the sort of thing you're interested in.  If so then I'll tidy the script up a bit and post with instructions - will take a week or so to do, as I'm very busy with my real job!

Obviously you would need MapSource to run it.  You would also need to get a more detailed map for where you live.   I've got the City Navigator European map and it cost £80 not long ago.  Obviously there's a US equivalent.  These go down to street level and are very detailed.  If you needed to keep this up to date there are subscriptions available.  Whatever you do don't get the SD version as this is for plugging straight into your GPS device.  Get the DVD of data, which you then upload to your device.

Here is a screen shot for a test catalogue I'm playing with.  The map detail is low as this is the free world map that comes with MapSource.  I should have done this with more local images to show the detail available, however I have a nice test catalogue with every permutation of annotation, and it has no images from closer to home.  The 'name' of each waypoint is the filename.  The symbol is straight from the label.  The 'comment' is from the Headline field.  The name and comment can be swapped around or you could use the description field.  Too many images in the same location does clutter it up a bit, particularly if in the exact same location, as these examples are.



Anyway just throwing this out there...

Ian
Logged
Chris Bishop
Sr. Member
****
Posts: 472


View Profile
« Reply #4 on: August 18, 2009, 03:52:04 AM »

Just caught this thread. I'd enjoy playing with your script, Ian.
Chris Bishop
chrisbishop at villagepharmacy dot co dot uk          get it? in real life no spaces
Logged
ianw
Full Member
***
Posts: 162


View Profile
« Reply #5 on: August 18, 2009, 04:52:08 AM »

Chris,

You've caught me at home recovering from the dreaded swine flu!

It took me a while to find the XSL script, as I'd not given it the best name.  Anyway I've retested it and it seems to work.  I've just created a GPX file that opened in Garmin's Mapsource ok.  It also opens in Google Earth and shows the locations as waypoints.  It would be better for Google Earth if the script produced a KML file.  This shouldn't be too difficult to do if I can find the specification for this format.  However that wasn't the remit of the original post, where it was the ability to view things off-line that was key, and which Mapsource can achieve.

Here's the script.  Note that it only works for images that have GPS data in the actual EXIF data.  If you use xMedia to add the positions using Virtual Earth it stores these in a different place.  It would be possible to fix this.

Code:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output indent="yes" encoding="UTF-8" standalone="no"/>
 <xsl:template match="CatalogType">
  <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.15.4" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
   <xsl:for-each select="MediaItemList/MediaItem">
    <xsl:if test="MetaDataFields/Latitude">
     <wpt>
      <xsl:attribute name="lat">
       <xsl:call-template name="LatLon2Num">
        <xsl:with-param select="MetaDataFields/Latitude" name="LatLon"/>
       </xsl:call-template>
      </xsl:attribute>
      <xsl:attribute name="lon">
       <xsl:call-template name="LatLon2Num">
        <xsl:with-param select="MetaDataFields/Longitude" name="LatLon"/>
       </xsl:call-template>
      </xsl:attribute>
      <xsl:if test="MetaDataFields/Altitude">
       <ele>
        <xsl:value-of select="substring-before(MetaDataFields/Altitude,'m')"/>
       </ele>
      </xsl:if>
      <time>
       <xsl:call-template name="FormatDate">
        <xsl:with-param select="MetaDataFields/CaptureDate" name="Date"/>
       </xsl:call-template>
      </time>
      <name>
       <xsl:value-of select="substring-before(AssetProperties/Filename,'.')"/>
      </name>
      <desc>
       <xsl:value-of select="AnnotationFields/Headline"/>
      </desc>
      <sym>Scenic Area</sym>
      <extensions>
       <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
        <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
        <xsl:if test="AssetProperties/Rating &gt; 0">
         <gpxx:Categories>
          <gpxx:Category>
           <xsl:text>Category </xsl:text>
           <xsl:value-of select="AssetProperties/Rating"/>
          </gpxx:Category>
         </gpxx:Categories>
        </xsl:if>
       </gpxx:WaypointExtension>
      </extensions>
     </wpt>
    </xsl:if>
   </xsl:for-each>
  </gpx>
 </xsl:template>
 <xsl:template name="LatLon2Num">
  <xsl:param name="LatLon"/>
  <xsl:variable name="sign">
   <xsl:choose>
    <xsl:when test="starts-with($LatLon,'W')">-1</xsl:when>
    <xsl:when test="starts-with($LatLon,'S')">-1</xsl:when>
    <xsl:otherwise>1</xsl:otherwise>
   </xsl:choose>
  </xsl:variable>
  <xsl:variable name="degree" select="number(substring($LatLon,3,3))"></xsl:variable>
  <xsl:variable name="minute" select="number(substring($LatLon,8,2) div 60)"></xsl:variable>
  <xsl:variable name="second" select="number(substring($LatLon,12,5) div 3600)"></xsl:variable>
  <xsl:value-of select="format-number($sign * ($degree+$minute+$second),'###0.00##')"/>
 </xsl:template>
 <xsl:template name="FormatDate">
  <xsl:param name="Date"/>
  <xsl:value-of select="substring($Date,1,4)"/>
  <xsl:text>-</xsl:text>
  <xsl:value-of select="substring($Date,6,2)"/>
  <xsl:text>-</xsl:text>
  <xsl:value-of select="substring($Date,9,2)"/>
  <xsl:text>T</xsl:text>
  <xsl:value-of select="substring($Date,12,8)"/>
  <xsl:text>Z</xsl:text>
 </xsl:template>
</xsl:stylesheet>

You need to save the above code into a text file and save it as GPXMaker.xsl or similar.  The key part is the extension must be xsl.

Then in iView or xMedia select the images you want to use.  Then from the 'Make' menu select 'XML Data File'.  Make sure the top three boxes are ticked in the new window.  Do not tick the other boxes as you'll get new files and directories created which you don't need or want.  At the bottom hit the '+' button and it will prompt you for an XSL file.  Select the one you've just saved above.  Then hit the 'Make' button.  This will prompt you for the file to save the results to.  You can call this file whatever you want but you must add the extension of .gpx to the name or it will default to .xml.

There's nothing special in the script, it was just a matter of finding the right format for a GPX file for Mapsource to work with.  The only tricky thing was to convert the gps co-ordinates from the terrible format in xMedia to a more usable format e.g. from <Latitude>S 033° 51&apos; 18.60&quot;</Latitude><Longitude>E 151° 12&apos; 31.89&quot;</Longitude> to <wpt lat="-33.8552" lon="151.2089">

I've now found the KML specification so may have a look at doing this.

Any questions etc...

Ian
Logged
Chris Bishop
Sr. Member
****
Posts: 472


View Profile
« Reply #6 on: August 19, 2009, 02:00:35 AM »

Thanks fr your help. When I got home last night to try it, I discovered I hade removed my iVewMedia software. I'll need to search the discs out and re-install.
Chris Bishop
Logged
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!