Jpeg
使用 curl 從圖像中提取緯度/經度
curl -s -v -X HEAD http://sitename.com/123.jpg 2>&1 | grep '^< Last-Modified:'
讓我約會。有什麼方法可以檢索圖像的 gps 座標?還有其他元數據嗎?
你得到的不是照片拍攝的時間。這是
123.jpg
文件最後一次修改(或創建/上傳到伺服器)的時間。該資訊來自網路伺服器,它從文件的時間戳中獲取資訊。這張照片很可能比你得到的要早 10 年。其實,讓它看起來像是來自未來並不難!您要查找的資訊(可選)儲存在圖像的元數據中。從網路伺服器的角度來看,這是文件實際內容的一部分,這意味著 HTTP
HEAD
請求是不夠的。首先,您需要下載文件。讓我們以那張船的照片為例。如果你執行你的
curl
命令,你會看到文件最後一次修改是在 2015 年 10 月 13 日。一旦你下載了文件,這個日期也會出現在文件的時間戳中(如果你在下載過程中保留它們,我相信wget
會)。現在,一旦您獲得了文件,您需要做的就是訪問它的元數據。在 Linux 上,我會說
identify
並且exiftool
是最流行的選擇。在你的情況下:$ identify -format "%[EXIF:*GPS*]" image.jpg $ exiftool -gpslatitude -gpslongitude image.jpg
請注意,您不必將內容下載到實際文件中即可執行這些檢查。您可以輕鬆地使用管道:
$ curl http://example.com/image.jpg | identify -format "%[EXIF:*GPS*]" - $ curl http://example.com/image.jpg | exiftool -gpslatitude -gpslongitude -
**一個重要的注意事項:**地理標記不是一個系統的過程。並非所有圖像都嵌入了 GPS 座標。如果用於拍照的設備啟用了 GPS 並且實際上寫入了 GPS 元數據,那麼你很好(智能手機可以做到這一點……)。否則,這兩個命令將不會返回任何內容,在這種情況下,您必須更有創意才能確定位置…