カールを使用して画像から緯度/経度を抽出する

カールを使用して画像から緯度/経度を抽出する

curl -s -v -X HEAD http://sitename.com/123.jpg 2>&1 | grep '^< Last-Modified:'デートしてください。画像のGPS座標を検索する方法はありますか?他のメタデータがありますか?

答え1

あなたが得ることは写真を撮った時間ではありません。123.jpgファイルが最後に変更された時間(またはサーバーに作成/アップロードされた時間)。この情報はWebサーバーから提供され、ファイルのタイムスタンプから取得されます。この写真は今見えるより10年は古いようです。実際、未来から来るように見えるようにすることはそれほど難しくありません!

探している情報は、オプションで画像のメタデータに保存されます。 Webサーバーの観点からは、これはファイルの実際の内容の一部であるため、HTTPHEAD要求だけでは不十分です。まず、ファイルをダウンロードする必要があります。使用しようボートの写真例えば。

コマンドを実行すると、ファイルcurlが2015年10月13日に最後に変更されたことを確認できます。ファイルがダウンロードされると、その日付はファイルのタイムスタンプにも表示されます(ダウンロード中にその日付を維持した場合は、ファイルのタイムスタンプに保存されました)。私はwgetこれが本当だと信じています)。

これでファイルがあれば、そのメタデータにアクセスするだけです。 Linuxでは、identifyandexiftoolが最も人気のある選択だと言いたいと思います。あなたの場合:

$ 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メタデータを記録している場合は問題ありません(スマートフォンでも可能です...)。それ以外の場合、これら2つのコマンドは何も返しません。より創造的場所を決めてください。

関連情報