我正在更新我的應用程序以允許在使用UIImagePickerControllerSourceTypeSavedPhotosAlbum時將照片上傳到包含的GPS元數據。 GPS數據的準確性非常重要。我遇到了一個問題,即使用ALAsset導出的位置數據與在Photoshop中打開相同照片時可以看到的照片的實際exif數據不同。ALAsset GPS元數據與exif GPS數據不匹配
我用兩種方法來讀取在Xcode的GPS數據:
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset) {
CLLocation *location = [myasset valueForProperty:ALAssetPropertyLocation];
latitudeString = [NSString stringWithFormat:@"%g",point.latitude];
longitudeString = [NSString stringWithFormat:@"%g",point.longitude];
}
和
ALAssetRepresentation *representation = [myasset defaultRepresentation];
NSDictionary *metadata = [representation metadata];
NSDictionary *gpsDict = [metadata objectForKey:@"{GPS}"];
NSNumber *latitudeNumber = [gpsDict objectForKey:@"Latitude"];
NSNumber *longitudeNumber = [gpsDict objectForKey:@"Longitude"];
if ([[gpsDict valueForKey:@"LatitudeRef"] isEqualToString:@"S"])
{
//latitudeNumber = -latitudeNumber;
}
if ([[gpsDict valueForKey:@"LongitudeRef"] isEqualToString:@"W"])
{
//longitudeNumber = -longitudeNumber);
}
在我使用作爲一個例子的代表性照片兩套以上代碼給我一個緯度47.576333其中轉換爲47,34,35N
如果我在Photoshop中查看exif數據 - 緯度是47,34,59N
這些數字很接近 - 但它們並不相同。沒有大約30%的照片發生這種情況。任何想法爲什麼?
編輯 - 照片店不給秒 - 它給34.59分鐘,這確實是準確的。
47,34,35N不是一個正確的表示,再看一下,是47 * 34'35「N(稱爲DMS)還是47 * 34.35'N(稱爲DM),其中」*「 「表示我的ipad沒有的度數符號。 – AlexWien 2013-03-07 08:54:43