Guest User

Untitled

a guest
Sep 26th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.IOException;
  3.  
  4. import org.apache.sanselan.Sanselan;
  5. import org.apache.sanselan.ImageReadException;
  6. import org.apache.sanselan.common.IImageMetadata;
  7. import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
  8. import org.apache.sanselan.formats.tiff.TiffImageMetadata;
  9. import org.apache.sanselan.formats.tiff.TiffImageMetadata.GPSInfo;
  10.  
  11.  
  12. public class Main {
  13.  
  14. /**
  15. * ファイル(JPEG)からGPS情報を取得します。
  16. * @param file 取得元のファイル
  17. * @return GPS情報
  18. */
  19. public static GPSInfo getGPSInfo(File file) {
  20. IImageMetadata metadata = null;
  21. try {
  22. metadata = Sanselan.getMetadata(file);
  23. } catch (ImageReadException e) {
  24. } catch (IOException e) {
  25. }
  26. if (metadata == null) return null;
  27.  
  28. if (!(metadata instanceof JpegImageMetadata)) return null;
  29. TiffImageMetadata exif = ((JpegImageMetadata) metadata).getExif();
  30.  
  31. GPSInfo gpsInfo = null;
  32. try {
  33. gpsInfo = exif.getGPS();
  34. } catch (ImageReadException e) {
  35. }
  36.  
  37. return gpsInfo;
  38. }
  39.  
  40.  
  41. public static void main(String[] args) {
  42. GPSInfo gpsInfo = getGPSInfo(new File("test.jpg"));
  43. if (gpsInfo != null) {
  44. try {
  45. double lat = gpsInfo.getLatitudeAsDegreesNorth();
  46. double lng = gpsInfo.getLongitudeAsDegreesEast();
  47.  
  48. // lat: 35.366944, lng: 136.617833 等
  49. System.out.printf("lat: %f, lng: %f\n", lat, lng);
  50. } catch (ImageReadException e) {
  51. }
  52. }
  53. }
  54.  
  55. }
Add Comment
Please, Sign In to add comment