Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.IOException;
- import org.apache.sanselan.Sanselan;
- import org.apache.sanselan.ImageReadException;
- import org.apache.sanselan.common.IImageMetadata;
- import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
- import org.apache.sanselan.formats.tiff.TiffImageMetadata;
- import org.apache.sanselan.formats.tiff.TiffImageMetadata.GPSInfo;
- public class Main {
- /**
- * ファイル(JPEG)からGPS情報を取得します。
- * @param file 取得元のファイル
- * @return GPS情報
- */
- public static GPSInfo getGPSInfo(File file) {
- IImageMetadata metadata = null;
- try {
- metadata = Sanselan.getMetadata(file);
- } catch (ImageReadException e) {
- } catch (IOException e) {
- }
- if (metadata == null) return null;
- if (!(metadata instanceof JpegImageMetadata)) return null;
- TiffImageMetadata exif = ((JpegImageMetadata) metadata).getExif();
- GPSInfo gpsInfo = null;
- try {
- gpsInfo = exif.getGPS();
- } catch (ImageReadException e) {
- }
- return gpsInfo;
- }
- public static void main(String[] args) {
- GPSInfo gpsInfo = getGPSInfo(new File("test.jpg"));
- if (gpsInfo != null) {
- try {
- double lat = gpsInfo.getLatitudeAsDegreesNorth();
- double lng = gpsInfo.getLongitudeAsDegreesEast();
- // lat: 35.366944, lng: 136.617833 等
- System.out.printf("lat: %f, lng: %f\n", lat, lng);
- } catch (ImageReadException e) {
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment