I'm getting the EXIF data from an image on mobile using react-native, when reading the data I'm getting it back in the following format 33/1,53/1,87/100
How do I convert that to proper latitude
Here is my code
// Adds latitude and longitude
let latitude = ''
let longitude = ''
console.log(image.exif.GPSLatitude)
if(image.exif.GPSLatitude != null && image.exif.GPSLongitude != null){
console.log('running')
// latitude
const latitudeDegrees = image.exif.GPSLatitude.slice(0, image.exif.GPSLatitude.indexOf("/"));
const value1 = image.exif.GPSLatitude.substr(image.exif.GPSLatitude.indexOf(",") + 1);
const latitudeMinutes = value1.slice(0, value1.indexOf("/"));
const value2 = value1.substr(value1.indexOf(",") + 1);
const latitudeSeconds = value2.slice(0, value2.indexOf("/"));
latitude = { name : 'latitude', data : _helpers.convertDegreeAngleToDecimal(latitudeDegrees, latitudeMinutes, latitudeSeconds )};
// longitude
const longitudeDegrees = image.exif.GPSLongitude.slice(0, image.exif.GPSLongitude.indexOf("/"));
const value1L = image.exif.GPSLongitude.substr(image.exif.GPSLongitude.indexOf(",") + 1);
const longitudeMinutes = value1L.slice(0, value1L.indexOf("/"));
const value2L = value1L.substr(value1L.indexOf(",") + 1);
const longitudeSeconds = value2L.slice(0, value2L.indexOf("/"));
longitude = { name : 'longitude', data : _helpers.convertDegreeAngleToDecimal(longitudeDegrees, longitudeMinutes, longitudeSeconds)};
}
console.log(latitude)
console.log(longitude)
const array4 = update(array3, {$push: [latitude]});
const array5 = update(array4, {$push: [longitude]});
The helper function
// Function
module.exports = {
convertDegreeAngleToDecimal: function (degrees, minutes, seconds) {
// Decimal degrees =
// whole number of degrees,
// plus minutes divided by 60,
// plus seconds divided by 3600
return degrees + (minutes/60) + (seconds/3600);
}
}
And these are the values I'm sending
33 53 87
151 12 3560
Orginal format before conversion
33/1,53/1,87/100
151/1,12/1,3560/100