我正在更新我的应用程序以允许在使用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