if (latitude.length != 3 || longitude.length != 3) {
throw new ImageReadException("Expected three values for latitude and longitude.");
}
final RationalNumber latitudeDegrees = latitude[0];
final RationalNumber latitudeMinutes = latitude[1];
final RationalNumber latitudeSeconds = latitude[2];
final RationalNumber longitudeDegrees = longitude[0];
final RationalNumber longitudeMinutes = longitude[1];
final RationalNumber longitudeSeconds = longitude[2];
return new GPSInfo(latitudeRef, longitudeRef, latitudeDegrees,
latitudeMinutes, latitudeSeconds, longitudeDegrees,
longitudeMinutes, longitudeSeconds);
}