zoukankan      html  css  js  c++  java
  • ExifInterface 获取GPS数据

    获取GPS的代码:

       
    ExifInterface ei 
    = new ExifInterface(Environment.getExternalStorageDirectory().getPath() + "/3.jpg");
      Log.w(
    "TEST","TAG_GPS_LATITUDE=" +  ei.getAttributeDouble(ei.TAG_GPS_LATITUDE, 0.0));
      Log.w(
    "TEST","TAG_GPS_LONGITUDE=" +  ei.getAttribute(ei.TAG_GPS_LONGITUDE));

    打印结果:

    12-30 08:01:46.127: WARN/TEST(4857): TAG_GPS_LATITUDE=22/1,32/1,1691/100
    12-30 08:01:46.127: WARN/TEST(4857): TAG_GPS_LONGITUDE=113/1,56/1,2468/100

    在windows上查看详细信息:

    维度:22;3216.91
    经度:
    1135624.68

    啊哈,一不小心让知道俺所在的位置了。大家不要往这地方扔炸弹啊。

    经纬度的格式:度;分;秒

    经纬度转换为double的公式:(秒/60 + 分)/ 60 + 度

     附资料:

    IT168技术】从Android 2.0开始新增了ExifInterface类,ExifInterface类主要描述多媒体文件比如JPG格式图片的一些附加信息,比如拍照的设备厂商,当时的日期时间,曝光时间,快门速度等。该类位于android.media.ExifInterface的位置,需要调用API Level至少为5即2.0 SDK。

      一、ExifInterface类给我们了一个实用的方法public byte[] getThumbnail () 这个方法可以生成一个缩略图,返回一个字节数组,我们通过以前讲到的通过OutputStream将其保存成一个JPG文件。当然如果要是显示到一个Drawable对象,可以通过decodeByteArray(byte[], int, int) 类来解析这个字节数组,不过具体生成的分辨率还不清楚。

      二、图片的MIME Exif信息

      图片的的Exif信息和MP3的ID3标签类似,使用了属性和值的存储方式。通过public void setAttribute (String tag, String value) 来设置,而获取可以通过 public int getAttributeInt (String tag, int defaultValue) 和 public String getAttribute (String tag) 两种方法都可以,getAttributeInt 重载方法一第二个参数为我们设置的默认值,如果成功则返回相应Tag的值;特定的整数内容为该方法直接返回值。而重载方法二该方法直接返回结果,如果失败则为null。

      目前Android SDK定义的Tag有:

      TAG_DATETIME 时间日期

      TAG_FLASH 闪光灯

      TAG_GPS_LATITUDE 纬度

      TAG_GPS_LATITUDE_REF 纬度参考

      TAG_GPS_LONGITUDE 经度

      TAG_GPS_LONGITUDE_REF 经度参考

      TAG_IMAGE_LENGTH 图片长

      TAG_IMAGE_WIDTH 图片宽

      TAG_MAKE 设备制造商

      TAG_MODEL 设备型号

      TAG_ORIENTATION 方向

      TAG_WHITE_BALANCE 白平衡

      从Android 2.0.1 SDK上看属性不是很多,详细的可能会在以后的版本中添加,调用示例如下

      String sFileName="cwj-android123.jpg";

      ExifInterface exif = new ExifInterface(filename);

      String sModel=exif.getAttribute(ExifInterface.TAG_MODEL);

      最终sModel就是拍照设备的型号,这里我们可以看到是Nexus One或HTC Hero等等的字符,当然是用数码相机拍照从PC上传的是该文件原始生成的设备,比如IXUS 980等等。

    http://doc.chinaunix.net/android/200910/488798.shtml

  • 相关阅读:
    Rx
    linux rpm 安装包制作
    kamctl start
    dedicated bearer
    Kamailio
    EPC sequence
    TD-LTE技术原理与系统设计
    SS7
    SCTP
    GTP
  • 原文地址:https://www.cnblogs.com/KiloNet/p/1922191.html
Copyright © 2011-2022 走看看