国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)

這篇具有很好參考價(jià)值的文章主要介紹了【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?
  1. 使用exifread庫(kù)讀取圖片的經(jīng)緯度信息(WGS84坐標(biāo))
  2. 使用高德開(kāi)放API將經(jīng)緯度轉(zhuǎn)為高德底圖經(jīng)緯度,并輸出具體位置
  3. 使用folium庫(kù),以高德底圖為基準(zhǔn),在網(wǎng)頁(yè)上可視化顯示地圖和興趣點(diǎn)

一、獲取圖片經(jīng)緯度

????????之前發(fā)過(guò)類似的文章,這里就不贅述了。下面代碼中有相應(yīng)注釋。

def Get_LatLon(path_image):
    """
    :param path_image: 輸入圖片路徑
    :return: 返回緯度、經(jīng)度
    """
    # 獲取圖片的經(jīng)緯度信息
    f = open(path_image, 'rb')
    contents = exifread.process_file(f)
    longitude = contents["GPS GPSLongitude"].values
    longitude_f = longitude[0].num/longitude[0].den + (longitude[1].num/longitude[1].den/60) + (longitude[2].num/longitude[2].den/3600)
    latitude = contents["GPS GPSLatitude"].values
    latitude_f = latitude[0].num/latitude[0].den + (latitude[1].num/latitude[1].den/60) + (latitude[2].num/latitude[2].den/3600)
    # print("經(jīng)度:", longitude_f)  # contents['GPS GPSLatitudeRef']
    # print("緯度:", latitude_f)  # contents['GPS GPSLongitudeRef']
    f.close()
    return latitude_f, longitude_f
【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)

二、高德開(kāi)放API將經(jīng)緯度轉(zhuǎn)為高德底圖經(jīng)緯度,并輸出具體位置

1.注冊(cè)賬號(hào),獲取key

????????打開(kāi)高德開(kāi)放平臺(tái),注冊(cè)賬號(hào)后點(diǎn)擊控制臺(tái)。點(diǎn)擊我的應(yīng)用,然后創(chuàng)建應(yīng)用后就會(huì)得到一個(gè)key。對(duì)于地理編碼官方也有說(shuō)明文檔,可以自行參考。

?

?

2.使用高德開(kāi)放API將經(jīng)緯度轉(zhuǎn)為高德底圖經(jīng)緯度,并輸出具體位置

def Get_address(latitude_f2, longitude_f2):
    """
    :param latitude_f2: 輸入WGS84緯度
    :param longitude_f2: 輸入WGS84經(jīng)度
    :return: 返回地址、高德經(jīng)緯度
    """
    key = '**********'
    # 高德地圖api
    url_lonlat = f'https://restapi.amap.com/v3/assistant/coordinate/convert?locations=%s,%s&coordsys=gps' \
                 f'&output=json&key={key}' % (longitude_f2, latitude_f2)
    r_lonlat = requests.get(url_lonlat)
    gaode_lonlat = r_lonlat.json()['locations']
    # 獲取高德經(jīng)緯度
    url_address = f'https://restapi.amap.com/v3/geocode/regeo?output=json&location=%s&key={key}' \
                  f'&radius=1000&extensions=all' % gaode_lonlat
    r_address = requests.get(url_address)
    gaode_address = r_address.json()['regeocode']['formatted_address']
    # 獲取經(jīng)緯度對(duì)應(yīng)的詳細(xì)地址
    return gaode_address, gaode_lonlat
【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)

三、folium庫(kù)以高德底圖為基準(zhǔn)在網(wǎng)頁(yè)上可視化顯示地圖和興趣點(diǎn)

def Show_map(address1, lonlat):
    """
    :param address1: 高德地址
    :param lonlat: 高德經(jīng)緯度
    :return: 打開(kāi)html,可視化地圖
    """
    tiles1 = 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
    # 高德底圖api
    map_url = folium.Map([float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
                         tiles=tiles1,
                         attr="&copy; <a href=http://ditu.amap.com/>高德地圖</a>",
                         zoom_start=15,
                         control_scale=True,
                         )
    # 底圖的基本設(shè)置
    folium.Marker(
        location=[float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
        popup=folium.Popup('%s' % address1, max_width=20),
        icon=folium.Icon(color='red', icon='info-sign')  # 標(biāo)記顏色圖標(biāo)
    ).add_to(map_url)
    # 添加標(biāo)記點(diǎn)
    folium.Circle(
        radius=3000,
        location=[float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
        popup=folium.Popup('范圍', max_width=20),
        color="crimson",
        fill=False,
    ).add_to(map_url)
    # 添加圓圈
    map_url.add_child(folium.ClickForMarker(popup="新點(diǎn)"))
    # 添加新點(diǎn)
    map_url.add_child(plugins.MeasureControl(position='topleft'))
    # 地圖測(cè)距離
    map_url.add_child(folium.LatLngPopup())
    # 經(jīng)緯度查詢
    map_url.save('map.html')
    # 保存為html
    webbrowser.open('map.html')
【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)

四、完整代碼

????????記得自己修改key和圖片路徑!

# -*- coding: utf-8 -*-
"""
@Time : 2023/6/1 15:29
@Auth : RS迷途小書童
@File :Positioning based on images.py
@IDE :PyCharm
@Purpose :通過(guò)圖片獲取其準(zhǔn)確位置并在網(wǎng)頁(yè)上可視化
"""
import exifread
import requests
import folium
# 地圖模塊
import webbrowser
# 瀏覽器調(diào)用
from folium import plugins


def Get_LatLon(path_image):
    """
    :param path_image: 輸入圖片路徑
    :return: 返回緯度、經(jīng)度
    """
    # 獲取圖片的經(jīng)緯度信息
    f = open(path_image, 'rb')
    contents = exifread.process_file(f)
    longitude = contents["GPS GPSLongitude"].values
    longitude_f = longitude[0].num/longitude[0].den + (longitude[1].num/longitude[1].den/60) + (longitude[2].num/longitude[2].den/3600)
    latitude = contents["GPS GPSLatitude"].values
    latitude_f = latitude[0].num/latitude[0].den + (latitude[1].num/latitude[1].den/60) + (latitude[2].num/latitude[2].den/3600)
    # print("經(jīng)度:", longitude_f)  # contents['GPS GPSLatitudeRef']
    # print("緯度:", latitude_f)  # contents['GPS GPSLongitudeRef']
    f.close()
    return latitude_f, longitude_f


def Get_address(latitude_f2, longitude_f2):
    """
    :param latitude_f2: 輸入WGS84緯度
    :param longitude_f2: 輸入WGS84經(jīng)度
    :return: 返回地址、高德經(jīng)緯度
    """
    key = '*******'
    # 高德地圖api
    url_lonlat = f'https://restapi.amap.com/v3/assistant/coordinate/convert?locations=%s,%s&coordsys=gps' \
                 f'&output=json&key={key}' % (longitude_f2, latitude_f2)
    r_lonlat = requests.get(url_lonlat)
    gaode_lonlat = r_lonlat.json()['locations']
    # 獲取高德經(jīng)緯度
    url_address = f'https://restapi.amap.com/v3/geocode/regeo?output=json&location=%s&key={key}' \
                  f'&radius=1000&extensions=all' % gaode_lonlat
    r_address = requests.get(url_address)
    gaode_address = r_address.json()['regeocode']['formatted_address']
    # 獲取經(jīng)緯度對(duì)應(yīng)的詳細(xì)地址
    return gaode_address, gaode_lonlat


def Show_map(address1, lonlat):
    """
    :param address1: 高德地址
    :param lonlat: 高德經(jīng)緯度
    :return: 打開(kāi)html,可視化地圖
    """
    tiles1 = 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
    # 高德底圖api
    map_url = folium.Map([float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
                         tiles=tiles1,
                         attr="&copy; <a href=http://ditu.amap.com/>高德地圖</a>",
                         zoom_start=15,
                         control_scale=True,
                         )
    # 底圖的基本設(shè)置
    folium.Marker(
        location=[float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
        popup=folium.Popup('%s' % address1, max_width=20),
        icon=folium.Icon(color='red', icon='info-sign')  # 標(biāo)記顏色圖標(biāo)
    ).add_to(map_url)
    # 添加標(biāo)記點(diǎn)
    folium.Circle(
        radius=3000,
        location=[float(lonlat.split(',')[1]), float(lonlat.split(',')[0])],
        popup=folium.Popup('范圍', max_width=20),
        color="crimson",
        fill=False,
    ).add_to(map_url)
    # 添加圓圈
    map_url.add_child(folium.ClickForMarker(popup="新點(diǎn)"))
    # 添加新點(diǎn)
    map_url.add_child(plugins.MeasureControl(position='topleft'))
    # 地圖測(cè)距離
    map_url.add_child(folium.LatLngPopup())
    # 經(jīng)緯度查詢
    map_url.save('map.html')
    # 保存為html
    webbrowser.open('map.html')


if __name__ == "__main__":
    file_image = "G:/721_0211_W.jpeg"
    latitude_f1, longitude_f1 = Get_LatLon(file_image)
    # 輸入圖片路徑,獲取WGS84經(jīng)緯度
    address, lonlat = Get_address(latitude_f1, longitude_f1)
    # 獲取高德地址和經(jīng)緯度
    Show_map(address, lonlat)
    # 在網(wǎng)頁(yè)上可視化顯示
【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)

?

本文章主要是分享個(gè)人在學(xué)習(xí)Python過(guò)程中寫過(guò)的一些代碼。有些部分參考了前人以及官網(wǎng)的教程,如有侵權(quán)請(qǐng)聯(lián)系作者刪除,大家有問(wèn)題可以隨時(shí)留言交流,博主會(huì)及時(shí)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-473455.html

?

到了這里,關(guān)于【Python入門教程】獲取圖片可視化精準(zhǔn)定位(逆地理編碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Python入門教程】基于OpenCV視頻分解成圖片+圖片組合成視頻(視頻抽幀組幀)

    ? ? ? ? 在人工智能爆火的今天,深度學(xué)習(xí)被廣泛應(yīng)用于各個(gè)領(lǐng)域。深度學(xué)習(xí)的模型訓(xùn)練離不開(kāi)大量的樣本庫(kù)。我之前分享過(guò)【Python爬蟲(chóng)】批量爬取網(wǎng)頁(yè)的圖片制作數(shù)據(jù)集,今天跟大家分享一下如何使用OpenCV庫(kù)對(duì)視頻進(jìn)行抽幀,從而增加樣本圖片的數(shù)量。正好也順便分享一下

    2024年02月04日
    瀏覽(29)
  • python教程 入門學(xué)習(xí)筆記 第4天 數(shù)據(jù)類型 獲取數(shù)據(jù)類型 字符串拼接

    數(shù)據(jù)類型 1、能直接處理的基本數(shù)據(jù)類型有5個(gè):整型、浮點(diǎn)型、字符串、布爾值、空 1)整型(int)=整數(shù),例如0至9,-1至-9,100,-8180等,人數(shù)、年齡、頁(yè)碼、門牌號(hào)等 沒(méi)有小數(shù)位的數(shù)字,是整型 2)浮點(diǎn)型(float)=小數(shù),例如金額、身高、體重、距離、長(zhǎng)度、π等 精確到小

    2024年02月14日
    瀏覽(28)
  • python如何實(shí)現(xiàn)點(diǎn)云可視化交互——Open3D實(shí)例教程(獲取所選點(diǎn)的信息)保姆級(jí)教學(xué)

    python如何實(shí)現(xiàn)點(diǎn)云可視化交互——Open3D實(shí)例教程(獲取所選點(diǎn)的信息)保姆級(jí)教學(xué)

    Open3D是目前python中可用的用于 3D 數(shù)據(jù)處理的現(xiàn)代庫(kù),可以對(duì)點(diǎn)云、網(wǎng)格等三維數(shù)據(jù)進(jìn)行讀取、采樣、配準(zhǔn)、可視化等操作。其中對(duì)點(diǎn)云等三維模型進(jìn)行可視化的功能在Python中顯得非常方便。 在通過(guò)對(duì)官方文檔的研究之后作者發(fā)現(xiàn)在Open3D的多種可視化函數(shù)中出現(xiàn)了返回所選點(diǎn)

    2024年02月02日
    瀏覽(41)
  • Annotorious入門教程:圖片注釋工具

    Annotorious入門教程:圖片注釋工具

    最近有工友問(wèn)我前端怎么給圖片做標(biāo)注。使用 Fabric.js 或者 Konva.js 等庫(kù)確實(shí)可以實(shí)現(xiàn),但我又好奇有沒(méi)有專門做圖片標(biāo)注的工具呢? 在網(wǎng)上搜了一下發(fā)現(xiàn) Annotorious 可以實(shí)現(xiàn)這個(gè)功能。 Annotorious 提供了圖片注釋和標(biāo)注功能,而且用法很簡(jiǎn)單。 本文分為 【快速入門】和【API講

    2024年02月08日
    瀏覽(20)
  • Android入門教程 | ImageView 圖片顯示

    Android入門教程 | ImageView 圖片顯示

    為了讓App界面更美觀生動(dòng),我們可以放上圖片。 顯示圖片是“剛需”。不論是書籍,報(bào)紙,網(wǎng)站,都有顯示圖片的需求。畢竟“無(wú)圖無(wú)真相”。 在 Android 應(yīng)用開(kāi)發(fā)中,我們通常使用 ImageView 來(lái)顯示圖片。 ImageView的主要屬性 ImageView的使用 ImageView經(jīng)常用來(lái)顯示圖片。例如直接顯

    2024年02月03日
    瀏覽(23)
  • Midjourney 繪畫保姆級(jí)入門 圖片教程

    Midjourney 繪畫保姆級(jí)入門 圖片教程

    對(duì)于想了解Midjourney 繪畫的同學(xué)們,現(xiàn)在有福利了。Midjourney 繪畫保姆級(jí)入門及圖片教程現(xiàn)分享給大家參考。 一、賬號(hào)申請(qǐng)( 5個(gè)步驟 ) 二、初步登錄(3個(gè)流程 ) 三、指令教程( 18個(gè)指令) ? ? ? ? /imagine? ? ? ? ? ?使用提示生成圖像 /settings ? ? ? ? ? 查看和調(diào)整 Midjourney Bot 的

    2024年02月11日
    瀏覽(37)
  • 【教程篇】AI繪畫Stable Diffusion入門教程之提示詞和生成圖片步驟 最簡(jiǎn)單上手方法

    【教程篇】AI繪畫Stable Diffusion入門教程之提示詞和生成圖片步驟 最簡(jiǎn)單上手方法

    實(shí)在不會(huì)就照葫蘆畫瓢~ 這個(gè)主要是說(shuō)電腦端,本地使用Stable Diffusion軟件出圖的教程,手機(jī)用戶和移動(dòng)端用戶請(qǐng)看副推文~ 這是一個(gè)直接給出圖照葫蘆畫瓢的教程,給0基礎(chǔ)小白上手出圖的一個(gè)簡(jiǎn)單教程,更多東西還是要自己多去學(xué)習(xí)和摸索,下面給出的也只是根據(jù)我本地測(cè)試

    2024年02月21日
    瀏覽(132)
  • 當(dāng)~python批量獲取某電商:商品數(shù)據(jù)并作可視化

    當(dāng)~python批量獲取某電商:商品數(shù)據(jù)并作可視化

    前言 嗨嘍,大家好呀~這里是愛(ài)看美女的茜茜吶 開(kāi)發(fā)環(huán)境: 首先我們先來(lái)安裝一下寫代碼的軟件(對(duì)沒(méi)安裝的小白說(shuō)) Python 3.8 / 編譯器 Pycharm 2021.2版本 / 編輯器 專業(yè)版是付費(fèi)的 文章下方名片可獲取魔法永久用~ 社區(qū)版是免費(fèi)的 第三方模塊使用: requests pip install requests 數(shù)據(jù)請(qǐng)

    2024年02月04日
    瀏覽(23)
  • 【 Python 入門教程 ② 】Python IDLE 下載教程

    【 Python 入門教程 ② 】Python IDLE 下載教程

    本章節(jié)我們將向大家介紹如何下載 Python 官方編輯器 —— IDLE。 Python 可應(yīng)用于多平臺(tái)包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多個(gè)DOS版本) PalmOS Nokia 移動(dòng)手機(jī) Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVM

    2023年04月18日
    瀏覽(24)
  • 【7月最新實(shí)現(xiàn)】使用Python獲取全網(wǎng)招聘數(shù)據(jù),實(shí)現(xiàn)可視化分析

    哈嘍兄弟們,今天來(lái)實(shí)現(xiàn)采集一下最新的qcwu招聘數(shù)據(jù)。 因?yàn)榫W(wǎng)站嘛,大家都爬來(lái)爬去的,人家就會(huì)經(jīng)常更新,所以代碼對(duì)應(yīng)的也要經(jīng)常重新去寫。 對(duì)于會(huì)的人來(lái)說(shuō),當(dāng)然無(wú)所謂,任他更新也攔不住,但是對(duì)于不會(huì)的小伙伴來(lái)說(shuō),網(wǎng)站一更新,當(dāng)場(chǎng)自閉。 所以這期是出給不會(huì)

    2024年02月12日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包