Extraer latitud/longitud de una imagen usando curl

Extraer latitud/longitud de una imagen usando curl

curl -s -v -X HEAD http://sitename.com/123.jpg 2>&1 | grep '^< Last-Modified:'me consigue una cita. ¿Hay alguna forma de recuperar las coordenadas GPS de una imagen? ¿Algún otro metadato?

Respuesta1

Lo que obtienes allí no es el momento en que se tomó la foto. Es la hora a la que el 123.jpgarchivo se modificó por última vez (o se creó/cargó en el servidor). Esa información proviene del servidor web, que la obtiene de las marcas de tiempo del archivo. La foto bien podría tener 10 años más de lo que aparece. En realidad, ¡no sería demasiado difícil hacer que parezca que viene del futuro!

La información que busca se almacena (opcionalmente) en los metadatos de la imagen. Desde la perspectiva de un servidor web, eso es parte del contenido real del archivo, lo que significa que una HEADsolicitud HTTP no será suficiente. Primero, necesitas descargar el archivo. usemosesa foto de un barcocomo ejemplo.

Si ejecuta su curlcomando, verá que el archivo se modificó por última vez el 13 de octubre de 2015. Una vez que haya descargado el archivo, esta fecha también aparecerá en las marcas de tiempo del archivo (siempre que las conserve durante las descargas, lo cual creo wgetque sí).

Ahora, una vez que tengas el archivo, todo lo que necesitas hacer es acceder a sus metadatos. En Linux, diría identifyque exiftoolson las opciones más populares para eso. En tu caso:

$ identify -format "%[EXIF:*GPS*]" image.jpg
$ exiftool -gpslatitude -gpslongitude image.jpg

Tenga en cuenta que realmente no es necesario descargar el contenido en un archivo real para ejecutar estas comprobaciones. Podrías usar fácilmente una pipa:

$ curl http://example.com/image.jpg | identify -format "%[EXIF:*GPS*]" -
$ curl http://example.com/image.jpg | exiftool -gpslatitude -gpslongitude -

Sin embargo, una nota importante:El geoetiquetado no es un proceso sistemático. No todas las imágenes tienen coordenadas GPS integradas. Si el dispositivo utilizado para tomar la fotografía tiene capacidad para GPS y realmente escribe metadatos de GPS, entonces estás bien (los teléfonos inteligentes pueden hacer eso...). De lo contrario, estos dos comandos no devolverán nada, en cuyo caso tendrás que estarmas creativopara determinar la ubicación...

información relacionada