I have done a bunch of additional testing, looking at various pieces of metadata and how they are handled by iPhoto and Aperture and the various export options. It seems to be an odd mix of idiosyncrasies.
Metadata manually entered into iPhoto that I wish to export:
- Date and time
- Title
- Description
- Keywords
- Place name
- Place GPS coordinates
Three ways to export the file along with newly embedded metadata, plus a special case where only the metadata is exported:
- iPhoto: Export > File Export > JPEG, Title and keywords/Location information both checked (changes images)
- Aperture: Export > Versions > Original Size (changes images)
- Aperture: Export > Original > Include IPTC data (typically does not change images)
- Aperture (special case): Export > Metadata (does not change images)
Date and time
For the older photos on which I had to manually enter date and time information through the "Adjust Date and Time" menu item, I always selected the "Modify original files" checkbox. I believe this caused iPhoto to directly write the information to the EXIF portion of the original image file without modifying the image itself, so it travels with the file automatically no matter how the export is done. If iPhoto did this for the other metadata, rather than only storing it in a separate database file, then I would not have this problem, but alas, it does not.
Place name
None of the export options seem to enable export of place names, so it seems I will lose the 50 or so names I have entered no matter what I do, although there may be a way to link photos to the same location in the Windows program based on their having identical GPS coordinates.
Aperture Original export
Aperture Original export does not seem to alter some images, and it can embed Description and Keywords as IPTC fields. However, it substantially changed the size of some of my images (far more than could be accounted for by adding a tiny bit of metadata), so I am not sure it is really leaving all images untouched. More importantly, it does not seem to embed Title or GPS information. So, it seems like the most useless option.
Aperture Versions export
The Aperture Versions export, unlike the Aperture Original export, does include the GPS information, but, like Aperture Original export, it does not include the Title. And, like iPhoto export, Aperture Versions export modifies the original image, albeit with much lower inflation in file size. This also seems like a relatively useless option.
iPhoto export
iPhoto export includes all of the relevant metadata types (Title, Description, Keywords, and GPS). However, it alters the images by compressing them again and substantially increases the file size when Maximum quality is selected. Stepping down to High quality is closer to the original file size. This is better than the useless Aperture options, but it is the lowest option, as it seems silly to have to re-make 20,000+ JPEGs rather than just changing the metadata portion of the files.
Aperture Metadata export
The Aperture Metadata-only export is intriguing. Like iPhoto export, it includes all of the relevant metadata types (Title, Description, Keywords, and GPS), even though neither of the other Aperture exports seem to support all four (Versions lacks Titles, and Original lacks both GPS and Titles).
Best potential solutions
The Aperture Metadata approach seems like the best bet. The key is getting that data embedded into the original data files. I am hoping that ExifTool can handle the metadata files and batch modify the originals.
The other alternative, as suggested to me by the ExifTool developer, is to do the iPhoto export, then use ExifTool to extract the new metadata from those files and modify the originals. I just have to figure out if/how this will all work, and I will have liberated myself from the iPhoto quagmire.
Some other things I discovered that may be useful to others also wishing to liberate themselves from the iPhoto quagmire, and perhaps Apple in general:
- The Aperture Versions export actually saves the iPhoto Description separately in two metadata locations--IPTC>Caption-Abstract and EXIF ID0>Image Title/Description. iPhoto and Aperture Original leave the EXIF ID0>Image Title/Description as the default camera value, which, in my case, is the manufacturer name. Aperture Metadata saves it as "Caption".
- iPhoto saves the iPhoto Title as IPTC>Object Name, and Aperture Metadata saves it as "Version Name".
- All three export options save iPhoto Keywords as IPTC>Keywords, and Aperture Metadata saves them under "Keywords".
- The GPS coordinates are exported as EXIF GPS IFD by both the iPhoto and Aperture Versions export (stored in four separate fields: North or South Latitude, Latitude, East or West Longitude, Longitude). The Aperture Metadata-only export includes just two fields (Latitude and Longitude) with the hemisphere information appended to the end of the coordinates.