EXIFデータから読み取って、写真のタイムゾーンを特定しようとしています(UTC形式で撮影された日付を変換します)。写真を撮って、そのメタデータを調べてみました。
{
ColorModel = RGB;
DPIHeight = 72;
DPIWidth = 72;
Depth = 8;
Orientation = 6;
PixelHeight = 1936;
PixelWidth = 2592;
"{Exif}" = {
ApertureValue = "2.970854";
BrightnessValue = "-2.571174";
ColorSpace = 1;
ComponentsConfiguration = (
1,
2,
3,
0
);
DateTimeDigitized = "2012:12:13 01:21:55";
DateTimeOriginal = "2012:12:13 01:21:55";
ExifVersion = (
2,
2,
1
);
ExposureMode = 0;
ExposureProgram = 2;
ExposureTime = "0.06666667";
FNumber = "2.8";
Flash = 16;
FlashPixVersion = (
1,
0
);
FocalLenIn35mmFilm = 35;
FocalLength = "3.85";
ISOSpeedRatings = (
1000
);
MeteringMode = 5;
PixelXDimension = 2592;
PixelYDimension = 1936;
SceneCaptureType = 0;
SensingMethod = 2;
ShutterSpeedValue = "3.9112";
SubjectArea = (
1295,
967,
699,
696
);
WhiteBalance = 0;
};
"{GPS}" = {
Altitude = "258.794";
AltitudeRef = 0;
ImgDirection = "24.38477";
ImgDirectionRef = T;
Latitude = "45.02183333333333";
LatitudeRef = N;
Longitude = "7.610833333333334";
LongitudeRef = E;
TimeStamp = "00:21:53.87";
};
"{TIFF}" = {
DateTime = "2012:12:13 01:21:55";
Make = Apple;
Model = "iPhone 4";
Orientation = 6;
ResolutionUnit = 2;
Software = "6.0.1";
XResolution = 72;
YResolution = 72;
"_YCbCrPositioning" = 1;
};
}
現地時間 (DateTimeOriginal) と UTC 時間 ({GPS}->TimeStamp) があるようですが、この 2 つの間のオフセットについては示されていません。DateTimeOriginal と TimeStamp の違いを特定するために何かを行うことはできますが、2 番目のものには日付がないため、2 つの異なる日をまたぐ場合には注意が必要なようです。
完全な UTC 日付、またはタイムゾーン付きの現地時間を取得する方法はありますか?
緯度/経度データからタイムゾーンを決定することも考えていましたが、これも外部サービスを使用して座標から国を取得する必要があるため、複雑なようです。