Ordene la colección de fotos del iPhone en carpetas por año, mes y ciudad/región

Estoy usando Photostream para sincronizar de forma inalámbrica las fotos de mi iPhone con mi computadora. Con el tiempo, mi colección de fotos creció más y más y dado que Photostream simplemente vuelca todo en una carpeta, estoy buscando una herramienta que clasifique automáticamente toda la colección en carpetas usando este formato:

YYYY-MM-GEOLOCATION

ejemplo:

2013-05-Rome

donde GEOLOCATIONestá la ciudad o la región donde se tomó la foto. esto se puede recopilar a partir de la información GPS en los datos EXIF ​​de cada imagen (al igual que la Placesfunción en la Photosaplicación en iPhone)

Datos EXIF ​​Información GPS

Función de geoetiquetado en la aplicación Fotos en iPhone

Estoy buscando una herramienta que:

  1. Cree una estructura de carpetas como se describe arriba
  2. Mover fotos a sus respectivas carpetas según la fecha y la información de ubicación geográfica

Encontré AmoK Exif Sorter pero no puede interpretar la información del GPS en las fotos. ¿Conoces alguna herramienta que pueda ayudarme a hacer eso?

Respuestas (1)

Respuesta #1 Requiere escritura de guiones, exiftool y la creación de una base de datos de lugares.

Una respuesta parcial usaría una herramienta de script y exif.

Exiftool puede leer tanto el exif como el IPTC, así como la mayoría de los otros metadatos en una imagen. La geolocalización es parte de los datos que puede leer.

Entonces, si su secuencia de fotos está en la carpeta ~/PhotoStream (no tengo idea de dónde la guarda).

foreach photo in ~/Photostream {
  (year,month,lat,long) = exiftool {bunch of flags} photo
  foreach placename in ~/Placenames {
    # Place name has lat, long, name, radius
    # Calculate angular distance from present lat/long to each placename
    distance = sqrt((picture_lat - place_lat)^2 + (picture_long - place_long)^2)
    if (distance < place_radius) { # found one!
      if not exists directory year-month-placename {mkdir MyPics/year-month-placename
      move file year-month-placename
    }
}

El problema con la clasificación general de datos geográficos es que es intrínsecamente bidimensional. Si ordenas solo por lat, terminas con la ciudad de Nueva York adyacente a Roma.

El guión anterior, si bien no es enormemente difícil, tomará algún tiempo para que funcione correctamente, principalmente debido a los nombres de los lugares.

Respuesta #2 Clasifique en carpetas por fecha y agregue lugares manualmente.

Sugeriría que, a menos que los nombres de sus lugares sean lo suficientemente finos como para cambiar varias veces en un día. (Por ejemplo, tiene entradas separadas para su hotel, los templos, el coliseo...) que haciendo un primer bin por fecha, luego cambie el nombre de las carpetas resultantes manualmente.

Recientemente revisé mi archivo de apertura (15000 imágenes) y esencialmente lo hice a mano. Pocas de estas fotos tienen información de geolocalización.

R: Cambió el nombre de cada imagen en el formato aaaa-mm-dd hh-mm-ss. Aperture puede hacer esto automáticamente.

B: Haga un lote de carpetas anuales. Hizo un proyecto en cada uno llamado 'sin clasificar'

c: Movió manualmente la imagen de cada año a carpetas de año/sin clasificar.

d: Haga un lote de proyectos mensuales en la carpeta de cada año.

e: Mueva la imagen sin clasificar a la carpeta del mes correspondiente.

f: En algunos casos hacía un proyecto especial yyyy-mm-project_name donde tenía una gran cantidad de fotos que trataban de un solo tema.

Esto no tomó tanto tiempo como parece.

Mucho más tiempo estaba revisando cada carpeta y aplicando palabras clave. Bien vale la pena hacerlo.

Gracias por la respuesta. Elegí la opción número 2, sin embargo, hice esto hace más tiempo cuando todavía estaba en Windows y no recuerdo el nombre de la utilidad que me ayudó a poner una marca de tiempo en los nombres de los archivos. ¡Gracias por la respuesta!