使用curl從影像中提取緯度/經度

使用curl從影像中提取緯度/經度

curl -s -v -X HEAD http://sitename.com/123.jpg 2>&1 | grep '^< Last-Modified:'給我一個約會。有什麼方法可以檢索影像的 GPS 座標嗎?還有其他元數據嗎?

答案1

您得到的並不是照片拍攝的時間。這是123.jpg檔案最後修改(或建立/上傳到伺服器)的時間。這些資訊來自網頁伺服器,該伺服器從檔案的時間戳記中獲取該資訊。這張照片很可能比你看到的老 10 歲。其實,要讓它看起來像是來自未來,並不算太難!

您要尋找的資訊(可選)儲存在影像的元資料中。從網頁伺服器的角度來看,這是檔案實際內容的一部分,這意味著 HTTPHEAD請求是不夠的。首先,您需要下載該文件。讓我們使用那張船的照片舉個例子。

如果執行curl命令,您將看到該檔案的最後修改時間是2015 年10 月13 日。將其保存在文件時間戳中)wget

現在,一旦您獲得了文件,您所需要做的就是存取其元資料。在 Linux 上,我想說identifyexiftool是最受歡迎的選擇。在你的情況下:

$ 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 元數據,那麼就可以了(智慧型手機可以做到這一點...)。否則,這兩個命令將不會返回任何內容,在這種情況下,您必須更有創意確定位置...

相關內容