List of usage examples for org.apache.commons.imaging.formats.tiff TiffDirectory getFieldValue
public Object getFieldValue(final TagInfo tag) throws ImageReadException
From source file:slash.navigation.photo.PhotoFormat.java
private String parseRoot(TiffImageMetadata metadata, TagInfo tag) throws ImageReadException { TiffDirectory rootDirectory = metadata.findDirectory(DIRECTORY_TYPE_ROOT); return rootDirectory != null ? trim((String) rootDirectory.getFieldValue(tag)) : null; }
From source file:slash.navigation.photo.PhotoFormat.java
private String parseExif(TiffImageMetadata metadata, TagInfo tag) throws ImageReadException { TiffDirectory exifDirectory = metadata.findDirectory(DIRECTORY_TYPE_EXIF); return exifDirectory != null ? trim((String) exifDirectory.getFieldValue(tag)) : null; }
From source file:slash.navigation.photo.PhotoFormat.java
private Integer parseExifInteger(TiffImageMetadata metadata, TagInfo tag) throws ImageReadException { TiffDirectory exifDirectory = metadata.findDirectory(DIRECTORY_TYPE_EXIF); if (exifDirectory == null) return null; Object fieldValue = exifDirectory.getFieldValue(tag); return fieldValue != null ? new Integer(fieldValue.toString()) : null; }
From source file:slash.navigation.photo.PhotoFormat.java
private RationalNumber parseExifRationalNumber(TiffImageMetadata metadata, TagInfo tag) throws ImageReadException { TiffDirectory exifDirectory = metadata.findDirectory(DIRECTORY_TYPE_EXIF); if (exifDirectory == null) return null; return (RationalNumber) exifDirectory.getFieldValue(tag); }
From source file:slash.navigation.photo.PhotoFormat.java
private CompactCalendar parseExifTime(TiffImageMetadata metadata, CompactCalendar startDate) throws ImageReadException { String dateString = null;/*from w w w . j a v a2 s . c om*/ TiffDirectory exifDirectory = metadata.findDirectory(DIRECTORY_TYPE_EXIF); if (exifDirectory != null) { dateString = parseExif(metadata, EXIF_TAG_DATE_TIME_ORIGINAL); if (dateString == null) dateString = parseExif(metadata, EXIF_TAG_DATE_TIME_DIGITIZED); } TiffDirectory rootDirectory = metadata.findDirectory(DIRECTORY_TYPE_ROOT); if (rootDirectory != null && dateString == null) dateString = (String) rootDirectory.getFieldValue(TIFF_TAG_DATE_TIME); return dateString != null ? parseDate(dateString, DATE_TIME_FORMAT) : startDate; }
From source file:slash.navigation.photo.PhotoFormat.java
private RationalNumber getFieldValue(TiffDirectory directory, TagInfoRational tagInfoRational) { try {// w w w .j a v a 2s . co m return directory.getFieldValue(tagInfoRational); } catch (ImageReadException e) { log.fine("Could not parse " + tagInfoRational + ": " + getLocalizedMessage(e)); return null; } }
From source file:slash.navigation.photo.PhotoFormat.java
private Double parseAltitude(TiffDirectory directory) throws ImageReadException { RationalNumber altitudeNumber = getFieldValue(directory, GPS_TAG_GPS_ALTITUDE); if (altitudeNumber == null) return null; double altitude = altitudeNumber.doubleValue(); Byte altitudeRef = directory.getFieldValue(GPS_TAG_GPS_ALTITUDE_REF); return altitudeRef == 1 ? -altitude : altitude; }
From source file:slash.navigation.photo.PhotoFormat.java
private Double parseSpeed(TiffDirectory directory) throws ImageReadException { RationalNumber speedNumber = getFieldValue(directory, GPS_TAG_GPS_SPEED); if (speedNumber == null) return null; double speed = speedNumber.doubleValue(); String speedRef = (String) directory.getFieldValue(GPS_TAG_GPS_SPEED_REF); if (speedRef != null) { if (GPS_TAG_GPS_SPEED_REF_VALUE_MPH.equals(speedRef)) speed = statuteMilesToKiloMeter(speed); else if (GPS_TAG_GPS_SPEED_REF_VALUE_KNOTS.equals(speedRef)) speed = nauticMilesToKiloMeter(speed); }//from w w w .jav a 2 s . co m return speed; }
From source file:slash.navigation.photo.PhotoFormat.java
private CompactCalendar parseGPSTime(TiffDirectory directory, CompactCalendar startDate) throws ImageReadException { String dateString = (String) directory.getFieldValue(GPS_TAG_GPS_DATE_STAMP); CompactCalendar date = dateString != null ? parseDate(dateString, DATE_FORMAT) : startDate; RationalNumber[] timeStamp = (RationalNumber[]) directory.getFieldValue(GPS_TAG_GPS_TIME_STAMP); if (timeStamp != null) { Calendar calendar = date.getCalendar(); calendar.set(HOUR, timeStamp[0].intValue()); calendar.set(MINUTE, timeStamp[1].intValue()); calendar.set(SECOND, timeStamp[2].intValue()); date = fromCalendar(calendar);/*from ww w .j ava 2 s . c om*/ } return date; }
From source file:slash.navigation.photo.PhotoFormat.java
private Integer parseSatellites(TiffDirectory directory) throws ImageReadException { String satellites = (String) directory.getFieldValue(GPS_TAG_GPS_SATELLITES); return satellites != null ? parseInteger(satellites) : null; }