If you are looking for ZenPhoto with ZenVideo, Google Maps Integration and RSS applied to the latest SVN (441) you are in luck! I have prepared the package using the code available on trac and this forum.
Download: Removed (incorporated into SVN)
Note: these functions are available on any theme, but google maps integration and EXIF have only been applied to the 'default' and 'default-dark' themes.
Getting these new functions to work in your themes:
Google Maps Integration (images need to be geotagged) The following line goes in your images.php file:
``
EXIF Display - The following line goes in your images.php file:
``
RSS Link - Goes wherever you want it to go and requires customfunctions.php and rss.php
< a href="page/rss">RSS
ZenVideo discussion: http://www.zenphoto.org/support/topic.php?id=795&replies=82
Google Maps Integration on trac: http://www.zenphoto.org/trac/ticket/78
RSS discussion: http://www.zenphoto.org/support/topic.php?id=764&replies=17#post-7722
This download incorporates fixes for the following tickets: 98, 82, 78, 7
Enjoy!
You rock! Thanks. Its working for me at www.gnomadic.org (only geo-coded the washington DC pics).
It is putting the pin in the wrong location for the coordinates contained in the XIF data. Any idea why?
Example: http://www.gnomadic.org/gallery/washington-dc/willard+3.jpg.php
How do we set the map type? (street, satellite, hybrid)
Ambitious Lemon: I really cant provide support for this since I didnt write it, I just put everything together. I am not sure why your pictures are showing up in incorrect places. I geocoded mine using picasa + google earth and they came out exactly where I tagged them in google earth. But I did check your image out in my google earth and it came out exactly where you said it should.
Also, you might want to download the zip file again and grab the new template_functions.php it fixes an issue where videos were trying to export exif info.
Documentation for the mapping file: http://www.systemsevendesigns.com/phoogle
Ah thanks for the tip, uploaded the new template_functions.php file. I downloaded some geotagged images from other zenphoto galleries with this hack (ones that were working) and they worked on my gallery as well. So I am just tagging the files incorrectly somehow.
I've tried a few different apps to geo tag them and it always comes out the same.
Maybe someone else will have a wise idea.
AmbitiousLemon,
We're not sure why this is happening, but it appears your problem with map pins in the wrong location is related to the encoding method used to store the GPS data in your images.
Some cameras store EXIF in "Big Endian" format, some use "Little Endian" (top-down or bottom-up byte order). It seems the that geotagging with Google tools can in some cases result in images which are Big-Endian containing GPS data which is Little-Endian. The EXIF parser included in these patches is unable to tell the difference, and parses the data as Big-Endian, rendering scrambled coordinates.
You should find that images which display correctly on your map are from a different make of camera than the ones that do not. So far, I can report that Canon images work, and Sony ones appear not to in some cases.
To confirm dspnorman's statements: As far as we can tell the problem has to do with the original Endian-ness of the EXIF data and the Endian-ness of the GPS data written to into the EXIF data.
EXIF has a 'flag' of sorts that state if it is Little or Big Endian. If the tool used to encode the GPS data ignores that, you'll end up with your map points in vary strange places. The EXIF library reads the 'flag' and decodes the EXIF data accordingly. If the GPS data isn't written in the same Endian-style, you'll get strange coords. It isn't the parers fault (afaik), it reads the endian-ness of the EXIF correctly.
I have an example image at:
http://mu.thenullpointer.net/Silverdale_Brewery_and_Geocaching_200704/IMG_0014.JPG.php.
View the page and notice that I have a debug statement "Endian as defined in EXIF: Intel". Now download the full image, and geocode it somewhere. Put it in your own gallery and notice that it shows up correctly. dspnorman has confirmed that he can geocode my image and it'll work correctly.
Now take a look at:
http://mu.thenullpointer.net/Silverdale_Brewery_and_Geocaching_200704/from_smith_tower_coded_1.jpg.php
(this image is a test from Google Images).
Notice it says the Endian-ness is Motorola (BigEndian) and notice how the location is way off.
If I tell the Exif library to just decode the GPS stuff as Intel (LittleEndian) it'll showup in Seattle as it should be.
Someone has posted something about Exif byte-order problems at the following URL:
http://www.whirljack.net/jeremybrooks/2007/03/01/zooomr-metadata-the-plot-thickens/
Another note: Are you using anything before geocoding the images to edit EXIF data? IIRC, dspnorman had stripped out his EXIF data before geocoding which may have done something to change the byte-order for the EXIF data.
I would like some data about the images you are trying to geocode:
What is the endian-ness (byte-order) of the EXIF data of an image directly off your camera? I'm sure many EXIF reader programs can give you this information.
Are you doing any editing before geocoding them? If so, what program? If you know the EXIF byte-order before editing, what is the EXIF byte order after editing?
Well that seems like a possible explanation.
I don't know how to check the Endian-ness of the files. I tried half a dozen different applications and none of them give that sort of information. Do you have any recommendations on how to check this? (OSX). The files appear to have been converted to JPEG, but I don't know what software was used to do this.
The EXIF info is:
File Name willard 3.jpg
Document Type JPEG Image
File Size 81056 bytes
Color Model RGB
Depth 8
DPI Height 72
DPI Width 72
Pixel Height 480
Pixel Width 712
Profile Name sRGB Profile
Exif Properties
Aperture Value 4.339844
Color Space 1
Compressed Bits Per Pixel 3
Custom Rendered 0
Date Time Digitized 2007:02:10 13:22:25
Date Time Original 2007:02:10 13:22:25
Exif Version 2.2.1
Exposure Bias Value 0
Exposure Mode 0
Exposure Time 0.008
Flash 0
FlashPix Version 1.0
FNumber 4.5
Focal Length 28
Focal Plane Resolution Unit 2
Focal Plane X Resolution 3443.946
Focal Plane Y Resolution 3442.017
ISO Speed Ratings 800
Max Aperture Value 3.614716
Metering Mode 5
Pixel X Dimension 712
Pixel Y Dimension 480
Scene Capture Type 0
Sensing Method 2
Shutter Speed Value 6.965789
White Balance 0
GPS Properties
Altitude 0
Altitude Reference 0
GPS Version 2.2
Latitude 38.88923
Latitude Reference N
Longitude 77.05008
Longitude Reference W
Map Datum WGS-84
IPTC Properties
Caption / Abstract
City Washington
Headline
Province / State D.C.
Sub-Location
JFIF Properties
Density Unit 1
JFIF Version 1.1
X Density 72
Y Density 72
TIFF Properties
Artist Gregg Mendez
Date Time 2007:02:10 13:22:25
Make Canon
Model Canon EOS DIGITAL REBEL
Resolution Unit 2
So I also can not find any application that allows me to remove the geocoded EXIF tags. Any ideas on this? I tried setting the tags with a variety of different applications, but they all did the same thing. Are there any applications that can do this properly? - If not its probably best to change the phoogle code to be able to read these files regardless of the Endian formatting (like every application I have tried seems to be able to do).
The trouble I am in now is that:
Ideally I would be able to find an application that can geocode images properly, runs on OSX (Intel and PPC), works for any camera (since my photos will be taken on many different camera), and doesn't matter if it was processed initially with with something like lightroom or aperture first. This is because my photos are taken by many different people with their own cameras and geocoded on their own computers (I don't know anyone who uses windows though so no need for a windows solution).
@AmbitiousLemon
I'm using OS X, and using a command line program called 'jhead' to read and strip Exif data. I've also tried tagging photos with various apps and it always works unless the Exif data is BigEndian then the GPS coordinates are completely wrong when parsed by Exifixer. The problem is likely within the Exifixer, the Exif parser. It isn't Phoogle that needs to be changed. Phoogle simply takes gps points and displays it on a map.
Gallery2 also uses Exifixer. Currently they are looking to move to another Exif parser simply because Exifixer has a lot of problems.
I think I am going to checkout some of the suggested alternatives (on the Gallery2 wiki) to Exifixer when I get home from work. Perhaps I can work something up with minimal changes to the core Zen Exif code.
The apps I use on OS X are HoudahGeo and GPSPhotoLinker and they work fine.
I wouldn't worry about your images for now.
@mannkind
Thanks for the tip about jhead. I stripped the exif data and re-geocoded it and got it working. I don't like having to remove all the original data though.
It would be great if you could find a more mixed endian friendly exif parser.
@AmbitiousLemon
Last night I spent some time trying other parsers and I'm not all that impressed with any of them. So I turned my eyes back to Exifer. I think I found the problem. I sent the fix to dspnorman and I can send it to you if you'd like to test.
Let me know
I'd be happy to test it. You can email it to me at jbanks@ambitiouslemon.com
@AmbitiousLemon
I've uploaded the patch to Zenphoto Trac. #78
@trisweb
The library is pretty decent. You are right, it does seem pretty easy to hack/fix. It could probably use some improvements, but what couldn't?
I like it more than the other libraries I toyed with.
Glad you like the package! I'm also glad it has gained some momentum.
gps patch tested and working perfectly here.
You guys all rock.
@jordi-kun
By all means we'd love to see it. Anything to improve the useability of the EXIF parsing is OK by us.
here are the 2 changes.
`} else if(eregi("PANASONIC",$make)) {
require_once('makers/panasonic.php');
parsePanasonic($data,$result,$seek,$globalOffset);
$result[$ifd_name]['KnownMaker'] = 1;`
``