Day: April 19, 2015

Swift:EXIF表示のサンプルプログラムの開発に着手3

GPS情報をすべてリストするテストプログラムを作成しました。

GPS Dictionary Keysをすべて表示するテストプログラムを作成しました。GPSの緯度・経度情報をコマンドプロンプトを使わないで変更するプログラムを作るために、まず、何がGPS情報として入っているのかを調査しました。

 No. キー  プレビュ
0 GPS Version [Optional((
2, GPS バージョン: 2.3.0.0
3,
0,
0
1 GPS LatitudeRef [Optional(N)] イメージの方角の基準: 真北
2 GPS Latitude [Optional(33.55751166666667)] 緯度: 33° 33′ 27.042″ N
3 GPS LongitudeRef [Optional(E)]
4 GPS Longitude [Optional(130.202605)] 経度: 130° 12′ 9.378″ E
5 GPS AltitudeRef [Optional(0)]
6 GPS Altitude [Optional(17)] 高度: 17 m (55.77 ft)
7 GPS TimeStamp [Optional(04:03:48)] GPS 時刻: 04:03:48 UTC
8 GPS Satellites [Optional(8)] 測位用衛生信号: 8
9 GPS Status [Optional(A)] GPS 受信機の状態: A
10 GPS MeasureMode [Optional(3)] 測位方法: 3 次元
11 GPS DOP [Optional(1.25)] 測位の信頼性: 1.25
12 GPS SpeedRef [Optional(K)] 速度の単位: キロメートル/時
13 GPS Speed [Optional(0.04)] 速度: 0.04
14 GPS TrackRef [nil]
15 GPS Track [nil]
16 GPS ImgDirectionRef [Optional(T)]
17 GPS ImgDirection [Optional(199.71)] イメージの方角: 199.71
18 GPS MapDatum [Optional(WGS-84)] 測位用地図データ: WGS-84
19 GPS DestLatitudeRef [nil]
20 GPS DestLatitude [nil]
21 GPS DestLongitudeRef [nil]
22 GPS DestLongitude [nil]
23 GPS DestBearingRef [nil]
24 GPS DestBearing [nil]
25 GPS DestDistanceRef [nil]
26 GPS DestDistanceRef [nil]
27 GPS DestDistance [nil]
28 GPS ProcessingMethod [nil]
29 GPS AreaInformation [nil]
30 GPS DateStamp [Optional(2015:04:18)] GPS 日付: 2015/04/18
31 GPS Differental [nil]

スクリーンショット 2015-04-20 21.08.43

Swift:EXIF表示のサンプルプログラムの開発に着手2

GPSの情報は入手の仕方が違います。

EXIFにGPS情報があるものだと思っていたのですが、思い違いだったようです。情報はdictionary毎に取り出さないといけないようです。

var gps: AnyObject? = imageDict.objectForKey (kCGImagePropertyGPSDictionary)  //GPS辞書
var latitude: AnyObject? = gps?.objectForKey (kCGImagePropertyGPSLatitude) //緯度
println(“GPS latitude=\(latitude)”)      
var longitude: AnyObject? = gps?.objectForKey(kCGImagePropertyGPSLongitude) //経度
println(“GPS longitude=\(longitude)”) 

ということなら、dictionary毎に正確にどの情報が取り出せるのか、理解する必要があります。