Help us understand the problem. What is going on with this article?

EXIFの仕組みを調べてみる

More than 1 year has passed since last update.

GPS機能が付いているスマホやカメラで写真を撮る時に、GPSを切らずに撮影すると撮影時の位置情報がjpegファイルに記載される。また、GPS情報以外の情報も載ってくるのでみてみる。
今回は、jheadと呼ばれるjpegファイルの情報を表示するコマンドを利用する。

jhead
http://www.sentex.net/~mwandel/jhead/

   Exif header 5332 bytes long
   Exif section in Motorola order
   (dir has 11 entries)
     Make = "Sony"
     Model = "SO-04E"
     Orientation = 1
     XResolution = 72/1
     YResolution = 72/1
     ResolutionUnit = 2
     Software = "10.3.1.B.2.42_3_f600"
     DateTime = "2015:06:22 23:11:06"
     YCbCrPositioning = 1
     ExifOffset = 224
     Exif Dir:(dir has 24 entries)
        ExposureTime = 10/320
        FNumber = 24/10
        ISOSpeedRatings = 320
        ExifVersion = "0220"
        DateTimeOriginal = "2015:06:22 23:11:06"
        DateTimeDigitized = "2015:06:22 23:11:06"
        ComponentsConfiguration = "?"
        ShutterSpeedValue = 500/100
        ExposureBiasValue = 0/3
        MeteringMode = 2
        LightSource = 0
        Flash = 25
        FocalLength = 410/100
        FlashPixVersion = "0100"
        ColorSpace = 1
        ExifImageWidth = 1920
        ExifImageLength = 1080
        InteroperabilityOffset = 608
        Interop Dir:(dir has 2 entries)
            InteropIndex = "R98"
            InteropVersion = "0100"
        CustomRendered = 0
        ExposureMode = 0
        WhiteBalance = 0
        DigitalZoomRatio = 100/100
        SceneCaptureType = 3
        SubjectDistanceRange = 0
     GPS Dir offset = 640
     GPS info dir:(dir has 6 entries)
        GPSLatitudeRef      ="N"
        GPSLatitude         =34/1, 41/1, 14345/1000, 41/1, 14345/1000, 135/1, 14345/1000, 135/1, 31/1
        GPSLongitudeRef     ="E"
        GPSLongitude        =135/1, 31/1, 34651/1000, 31/1, 34651/1000, 14/1, 34651/1000, 14/1, 11/1
        GPSTimeStamp        =14/1, 11/1, 6/1, 11/1, 6/1, 842019125/976238138, 6/1, 842019125/976238138, 842137600/459011        GPSDateStamp        ="2015:06:22"
     Continued directory (dir has 7 entries)
        Compression = 6
        Orientation = 1
        XResolution = 72/1
        YResolution = 72/1
        ResolutionUnit = 2
        ThumbnailOffset = 912
        ThumbnailLength = 4412
   Thumbnail size: 4412 bytes
   Approximate quality factor for qtable 0: 93 (scale 14.08, var 1.37)
   Approximate quality factor for qtable 1: 93 (scale 14.40, var -2.73)
   JPEG image is 1920w * 1080h, 3 color components, 8 bits per sample
   File name    : /home/marseille/DSC_1260.jpg
   File size    : 408873 bytes
   File date    : 2015:06:23 23:34:40
   Camera make  : Sony
   Camera model : SO-04E
   Date/Time    : 2015:06:22 23:11:06
   Resolution   : 1920 x 1080
   Flash used   : Yes (auto)
   Focal length :  4.1mm
   Exposure time: 0.031 s  (1/32)
   Aperture     : f/2.4
   ISO equiv.   : 320
   Whitebalance : Auto
   Metering Mode: center weight
   GPS Latitude : N 34d 41m 14.345s
   GPS Longitude: E 135d 31m 34.651s

位置情報以外として、カメラのメーカーやモデル、解像度、ファイルサイズ、撮影時間等の情報が取得できる。
また、位置情報として以下の項目から確認できる。

   GPSLatitudeRef      ="N"
   GPSLatitude         =34/1, 41/1, 14345/1000, 41/1, 14345/1000, 135/1, 14345/1000, 135/1, 31/1
   GPSLongitudeRef     ="E"
   GPSLongitude        =135/1, 31/1, 34651/1000, 31/1, 34651/1000, 14/1, 34651/1000, 14/1, 11/1
   GPS Latitude : N 34d 41m 14.345s
   GPS Longitude: E 135d 31m 34.651s

Latitude及びLongitudeに関する決まりは以下の通り

GPSLatitude(緯度)

Indicates the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.

GPSLongitude(経度)

Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If longitude is expressed as degrees, minutes and seconds, a typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be ddd/1,mmmm/100,0/1.

参考:http://exif.org/Exif2-2.PDF

googleMapを利用して位置を確認するためには、分・秒を10進数に変換し、度を足す必要がある。
計算式としては、以下の通りとなる。

  34+(41/60)+((14345/1000)/3600)
  = 34.6873

  135+(31/60)+((34651/1000)/3600)
  = 135.5263

でてきた値を「,」で連結して入力すればgoogleMap上でマッピングされる。

sanyamarseille
しがないセキュリティエンジニア。 SSCP、LPIC303、電気通信主任技術者、情報処理安全確保支援士、情報セキュリティスペシャリスト、VCP6.5-DCV、etc...
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away