最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python提取照片坐標(biāo)信息的實例代碼

 更新時間:2019年08月14日 10:16:20   作者:張景源  
這篇文章主要介紹了python提取照片坐標(biāo)信息的實例代碼,文中給大家提到了Python利用exifread庫來解析照片的經(jīng)緯度,通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

python提取照片坐標(biāo)信息的代碼如下所示:

from PIL import Image
from PIL.ExifTags import TAGS
import os
output="Z://result.csv"
out=open(output,'a')
out.write('lat,lon\n')
fpath="Z://iphonephoto"
for item in os.walk(fpath):
 ob=item[2]
 for i in ob:
  name=fpath+'/'+str(i)
  ret={}
  try:
   img=Image.open(name)
   if hasattr(img,'_getexif'):
    exifinfo=img._getexif()
    if exifinfo !=None:
     for tag,value in exifinfo.items():
      decoded=TAGS.get(tag,tag)
      ret[decoded]=value
      N1 = ret['GPSInfo'][2][0][0]
      N2 = ret['GPSInfo'][2][1][0]
      N3 = ret['GPSInfo'][2][2][0]
      N=int(N1)+int(N2)*(1.0/60)+int(N3)*(1.0/360000)
      E1 = ret['GPSInfo'][4][0][0]
      E2 = ret['GPSInfo'][4][1][0]
      E3 = ret['GPSInfo'][4][2][0]
      E=int(E1)+int(E2)*(1.0/60)+int(E3)*(1.0/360000)
      out.write(str(N)+','+str(E)+'\n')
  except:
   pass
out.close()

PS:Python小列子-讀取照片位置

Python exifread

Python利用exifread庫來解析照片的經(jīng)緯度,對接百度地圖API顯示拍攝地點。

import exifread
import re
import json
import requests
def latitude_and_longitude_convert_to_decimal_system(*arg):
 """
 經(jīng)緯度轉(zhuǎn)為小數(shù), 作者嘗試適用于iphone6、ipad2以上的拍照的照片,
 :param arg:
 :return: 十進制小數(shù)
 """
 return float(arg[0]) + ((float(arg[1]) + (float(arg[2].split('/')[0]) / float(arg[2].split('/')[-1]) / 60)) / 60)
def find_GPS_image(pic_path):
 GPS = {}
 date = ''
 with open(pic_path, 'rb') as f:
  tags = exifread.process_file(f)
  for tag, value in tags.items():
   if re.match('GPS GPSLatitudeRef', tag):
    GPS['GPSLatitudeRef'] = str(value)
   elif re.match('GPS GPSLongitudeRef', tag):
    GPS['GPSLongitudeRef'] = str(value)
   elif re.match('GPS GPSAltitudeRef', tag):
    GPS['GPSAltitudeRef'] = str(value)
   elif re.match('GPS GPSLatitude', tag):
    try:
     match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups()
     GPS['GPSLatitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])
    except:
     deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')]
     GPS['GPSLatitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec)
   elif re.match('GPS GPSLongitude', tag):
    try:
     match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups()
     GPS['GPSLongitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])
    except:
     deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')]
     GPS['GPSLongitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec)
   elif re.match('GPS GPSAltitude', tag):
    GPS['GPSAltitude'] = str(value)
   elif re.match('.*Date.*', tag):
    date = str(value)
 return {'GPS_information': GPS, 'date_information': date}
def find_address_from_GPS(GPS):
 print(GPS)
 """
 使用Geocoding API把經(jīng)緯度坐標(biāo)轉(zhuǎn)換為結(jié)構(gòu)化地址。
 :param GPS:
 :return:
 """
 secret_key = 'xxxxxxxxxxxxxxxxxxxx'    # 百度地圖創(chuàng)應(yīng)用的秘鑰 
 if not GPS['GPS_information']:
  return '該照片無GPS信息'
 lat, lng = GPS['GPS_information']['GPSLatitude'], GPS['GPS_information']['GPSLongitude']
 baidu_map_api = "http://api.map.baidu.com/geocoder/v2/?ak={0}&callback=renderReverse&location={1},{2}s&output=json&pois=0".format(
  secret_key, lat, lng)
 response = requests.get(baidu_map_api)
 content = response.text.replace("renderReverse&&renderReverse(", "")[:-1]
 baidu_map_address = json.loads(content)
 formatted_address = baidu_map_address["result"]["formatted_address"]
 # province = baidu_map_address["result"]["addressComponent"]["province"]
 # city = baidu_map_address["result"]["addressComponent"]["city"]
 # district = baidu_map_address["result"]["addressComponent"]["district"]
 return formatted_address
GPS_info = find_GPS_image(pic_path='lllll.jpg')  # 照片
address = find_address_from_GPS(GPS=GPS_info)
print(address) 

總結(jié)

以上所述是小編給大家介紹的python提取照片坐標(biāo)信息的實例代碼 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • PyTorch CNN實戰(zhàn)之MNIST手寫數(shù)字識別示例

    PyTorch CNN實戰(zhàn)之MNIST手寫數(shù)字識別示例

    本篇文章主要介紹了PyTorch CNN實戰(zhàn)之MNIST手寫數(shù)字識別示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • python下PyGame的下載與安裝過程及遇到問題

    python下PyGame的下載與安裝過程及遇到問題

    這篇文章主要介紹了python下PyGame的下載與安裝過程及遇到問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Django中使用Json返回數(shù)據(jù)的實現(xiàn)方法

    Django中使用Json返回數(shù)據(jù)的實現(xiàn)方法

    這篇文章主要介紹了Django中使用Json返回數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python http接口自動化測試框架實現(xiàn)方法示例

    Python http接口自動化測試框架實現(xiàn)方法示例

    這篇文章主要介紹了Python http接口自動化測試框架實現(xiàn)方法,結(jié)合實例形式分析了Python針對http接口測試的相關(guān)實現(xiàn)與使用操作技巧,需要的朋友可以參考下
    2018-12-12
  • 淺談django中的認(rèn)證與登錄

    淺談django中的認(rèn)證與登錄

    下面小編就為大家?guī)硪黄獪\談django中的認(rèn)證與登錄。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 跟老齊學(xué)Python之Import 模塊

    跟老齊學(xué)Python之Import 模塊

    本文主要講解了基本的import模塊方法,首先從模塊的定義入手,接著講訴如何自己編寫模塊,非常簡單實用,有需要的朋友可以參考下
    2014-10-10
  • Pandas分組聚合之groupby()、agg()方法的使用教程

    Pandas分組聚合之groupby()、agg()方法的使用教程

    今天看到pandas的聚合函數(shù)agg,比較陌生,平時的工作中處理數(shù)據(jù)的時候使用的也比較少,為了加深印象,總結(jié)一下使用的方法,下面這篇文章主要給大家介紹了關(guān)于Pandas分組聚合之groupby()、agg()方法的使用教程,需要的朋友可以參考下
    2023-01-01
  • Windows系統(tǒng)下Chromedriver.exe安裝及配置詳細教程

    Windows系統(tǒng)下Chromedriver.exe安裝及配置詳細教程

    ChromeDriver.exe是一款實用的chrome瀏覽器驅(qū)動工具,能夠用于自動化測試、網(wǎng)絡(luò)爬蟲和操作瀏覽器,其主要作用是模擬瀏覽器操作,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Chromedriver.exe安裝及配置的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Python基本語法經(jīng)典教程

    Python基本語法經(jīng)典教程

    這篇文章主要介紹了Python基本語法,較為詳細的分析了Python基本語法所涉及的流程控制語句,表達式,函數(shù),對象,類型,數(shù)學(xué)運算等概念與使用技巧,需要的朋友可以參考下
    2016-03-03
  • 詳解Python在七牛云平臺的應(yīng)用(一)

    詳解Python在七牛云平臺的應(yīng)用(一)

    這篇文章主要介紹了詳解Python在七牛云平臺的應(yīng)用(一),涉及Python通過官方庫對空間的操作,上傳的步驟,操作方法等相關(guān)內(nèi)容,以及完整的操作代碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12

最新評論

富宁县| 黎城县| 张家港市| 襄汾县| 阳西县| 濉溪县| 澄城县| 西林县| 廊坊市| 监利县| 广饶县| 郁南县| 搜索| 上犹县| 河池市| 寻甸| 和顺县| 上高县| 磐石市| 略阳县| 富蕴县| 高雄市| 新竹县| 兴仁县| 阿合奇县| 油尖旺区| 北川| 阳曲县| 饶河县| 宝清县| 库尔勒市| 麟游县| 岑巩县| 东源县| 昌图县| 海城市| 沙田区| 景德镇市| 昌都县| 色达县| 济源市|