引入依赖

<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.11.0</version>
</dependency>
编写解析代码工具类

public static void main(String[] args) throws Exception{
File file = new File("D:\\DJI_0066.JPG");
printImageTags(file);
}
/**
* 读取照片里面的信息
*/
private static void readPicture(File file) throws Exception{
Metadata metadata = ImageMetadataReader.readMetadata(file);
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
String tagName = tag.getTagName(); //标签名
String desc = tag.getDescription(); //标签信息
if (tagName.equals("Image Height")) {
System.out.println("图片高度: "+desc);
} else if (tagName.equals("Image Width")) {
System.out.println("图片宽度: "+desc);
} else if (tagName.equals("Date/Time Original")) {
System.out.println("拍摄时间: "+desc);
}else if (tagName.equals("GPS Latitude")) {
System.err.println("纬度 : "+desc);
// System.err.println("纬度(度分秒格式) : "+pointToLatlong(desc));
} else if (tagName.equals("GPS Longitude")) {
System.err.println("经度: "+desc);
// System.err.println("经度(度分秒格式): "+pointToLatlong(desc));
}
}
}
}
/**
* 经纬度格式 转换为 度分秒格式 ,如果需要的话可以调用该方法进行转换
* @param point 坐标点
* @return
*/
public static String pointToLatlong (String point ) {
Double du = Double.parseDouble(point.substring(0, point.indexOf("°")).trim());
Double fen = Double.parseDouble(point.substring(point.indexOf("°")+1, point.indexOf("'")).trim());
Double miao = Double.parseDouble(point.substring(point.indexOf("'")+1, point.indexOf("\"")).trim());
Double duStr = du + fen / 60 + miao / 60 / 60 ;
return duStr.toString();
}
}
运行结果如下

图片高度: 3648 pixels
图片宽度: 5472 pixels
图片宽度: 5472 pixels
图片高度: 3648 pixels
拍摄时间: 2020:07:21 09:03:30
纬度 : 31° 58' 24.41"
经度: 118° 48' 11.97"
图片宽度: 160 pixels
图片高度: 112 pixels
经纬度转换之后

纬度 : 31° 58' 24.41"
纬度(度分秒格式) : 31.97344722222222
经度: 118° 48' 11.97"
经度(度分秒格式): 118.803325

从照片中读取经纬度信息相关推荐

  1. 利用EXIF库读取jpg文件中的经纬度信息

    利用EXIF库读取jpg文件中的经纬度信息 EXIF库API参考:http://code.ciaoca.com/javascript/exif-js/ <!DOCTYPE html> &l ...

  2. 从数码照片中读取定位信息

    摘要:数码照片在拍摄时会记录照片的拍摄信息,如果拍照时开启了GPS定位服务功能,则就会记录拍摄时的经纬度坐标及高程信息.本文介绍如何读取数码照片中的位置信息,以及根据位置信息转换成shapefile格 ...

  3. 从数据库中读取经纬度,在google map 上进行标注(一)

    这个文章写给像我一样刚刚接触google maps api 的同志们,希望他们看到我的文章后能有点启发,也希望我的文章能让更多人看见. 有很多人在自己的网页上嵌入google 地图时需要标注自己想要的 ...

  4. Failed to introspect Class [com.controller.HardWareController] from ClassLoa在ssm中读取串口信息

    标题:Failed to introspect Class [com.controller.HardWareController] from ClassLoa在ssm中读取串口信息 之前使用java程 ...

  5. 从属性资源文件中读取连接数据库信息

    从属性资源文件中读取连接数据库信息 jdbc.properties 属性配置文件 driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:330 ...

  6. jpg中读取GPS信息

    需要读取EXIF信息,自己阅读了一些资料,现在共享一下 需要注意的是,由于EXIF是一种可交换的文件格式,所以可以用在Intel系列和Motorola系列的CPU上(至于两者CPU的区别,大家可以到网 ...

  7. JavaWEB中读取配置信息

    第一种方法是使用java.io和java.util包,缺点是路径的概念要清晰, 例子: Properties prop = new Properties(); InputStream in = get ...

  8. python中读取word信息_Python实现批量读取word中表格信息的方法

    本文实例讲述了Python实现批量读取word中表格信息的方法.分享给大家供大家参考.具体如下: 单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个py ...

  9. 从 ADNI 的 XML 文件中读取临床信息

    本文配合手把手式介绍 ADNI 影像数据下载使用. 仅给出了如下读取XML文件中的project和subject信息的部分代码,读取其他内容采用一样的写法即可. 只适合自己批量读取一下XML文件,所以 ...

最新文章

  1. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 7. 支持向量机
  2. 技术图文:如何在CSDN上写自己的技术Blog?
  3. lucene python_Python下的Lucene,PyLucene
  4. MSSQL-SQL SERVER 分页原理
  5. maven依赖循环引用_shiro+spring boot+mybatis启动循环引用问题解决思路和方案
  6. wifi rssi 计算 距离_WiFi和WLAN是一样的?真相在这里
  7. 在WIN7下硬盘安装XP双系统
  8. c++面向对象高级编程 学习十七 const, new, delete
  9. ubuntu14.10 linux-header更新,Ubuntu 14.04 怎样升级到 Ubuntu 14.10
  10. 基于JAVA+Servlet+JSP+MYSQL的心理咨询预约管理系统
  11. linux如何看java安装路径,linux查看java的安装路径
  12. RHEL7和RHEL6的主要变化
  13. matlab2c使用c++实现matlab函数系列教程-triu函数
  14. Gym 101246G Revolutionary Roads
  15. 人脸识别 Face Recognition安装使用
  16. tinyxml读xml文件
  17. 啦啦外卖40.7 APP小程序三端 独立开源版本
  18. VMware ESXI 5.5 注册码
  19. ioccc_konno
  20. python捕捉warning_Python warnings.warn方法代码示例

热门文章

  1. 英语发音规则---B字母
  2. SAP中报表清单导出的常用方法
  3. 解决无法将主机文件拖动复制到VMware虚拟机中的问题
  4. C语言如何求出一堆整数的最大值
  5. mysql的题目_mysql经典例题
  6. 面试中人事问题以及回答
  7. 解决前端跨域的问题.Access to XMLHttpRequest at http://xxx.xxx from origin 'http://localhost:8000' has been bl
  8. 【BLE】BQB认证
  9. 树莓派4+lede+移远5G模组RM500Q
  10. ubuntu eclipse java_ubuntu 下安装eclipse amp;java环境配置