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

Python根據(jù)經(jīng)緯度在地圖上顯示(folium)

這篇具有很好參考價值的文章主要介紹了Python根據(jù)經(jīng)緯度在地圖上顯示(folium)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、folium介紹

1.folium.Map參數(shù)簡要介紹

1、location地圖中心點(diǎn) 經(jīng)緯度,list 或者 tuple 格式,順序?yàn)?latitude(緯度), longitude(經(jīng)度)

2、zoom_start地圖等級 縮放值,默認(rèn)為 10,值越大比例尺越小,地圖放大級別越大

3、tiles 顯示樣式,默認(rèn)*‘OpenStreetMap’*,也就是開啟街道顯示;也有一些其他的內(nèi)建地圖樣式,如’Stamen Terrain’、‘Stamen Toner’、‘Mapbox Bright’、'Mapbox Control Room’等;也可以傳入’None’來繪制一個沒有風(fēng)格的樸素地圖,或傳入一個URL來使用其它的自選osm

4、crs 地理坐標(biāo)參考系統(tǒng),默認(rèn)為"EPSG3857"

5、width:int型或str型,int型時,傳入的是地圖寬度的像素值;str型時,傳入的是地圖寬度的百分比,形式為’xx%‘。默認(rèn)為’100%’

6、height:控制地圖的高度,格式同width

7、max_zoom:int型,控制地圖可以放大程度的上限,默認(rèn)為18

8、attr:str型,當(dāng)在tiles中使用自選URL內(nèi)的osm時使用,用于給自選osm命名

9、control_scale:bool型,控制是否在地圖上添加比例尺,默認(rèn)為False即不添加

10、no_touch:bool型,控制地圖是否禁止接受來自設(shè)備的觸控事件譬如拖拽等,默認(rèn)為False,即不禁止

2.folium.Marker參數(shù)介紹

1、location:同folium.Map()中的同名參數(shù),用于確定標(biāo)記部件的經(jīng)緯位置

2、popup:str型或folium.Popup()對象輸入,用于控制標(biāo)記部件的具體樣式(folium內(nèi)部自建了許多樣式),默認(rèn)為None,即不顯示部件

3、icon:folium.Icon()對象,用于設(shè)置popup定義的部件的具體顏色、圖標(biāo)內(nèi)容等

二、Python根據(jù)經(jīng)緯度在地圖上顯示(示例)

輸入經(jīng)緯度生成地圖,Python,python,數(shù)學(xué)建模,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-622169.html

1.經(jīng)緯度坐標(biāo)標(biāo)記

import pandas as pd
import folium
from folium.plugins import MarkerCluster

data = pd.read_excel('******.xlsx')  # 讀取文件
data_1 = data[data['類型'] == '***1']
data_2 = data[data['類型'] == '***2']
data_1.reset_index(inplace=True, drop=True)
data_2.reset_index(inplace=True, drop=True)
# print(data_1.head())
# print(data_2.head())
# exit()
m = folium.Map(location=[31.97117, 116.49872],  # 中心點(diǎn)
               zoom_start=8,  # 初始地圖等級
               # 騰訊地圖瓦片
               tiles='http://rt1.map.gtimg.com/realtimerender?z={z}&x={x}&y={-y}&type=vector&style=6',
               # 默認(rèn)參數(shù)
               attr='default')
flag = False  # 是否使用聚合
if flag:
    # 創(chuàng)建聚合
    marker_cluster = MarkerCluster().add_to(m)
    # for循環(huán)添加標(biāo)記點(diǎn)
    for i in range(len(data_1)):
        folium.Marker(location=[data_1.loc[i, '緯度'], data_1.loc[i, '經(jīng)度']],  # 坐標(biāo)用[緯度,經(jīng)度]
                      popup=folium.Popup(str(data_1.loc[i, 'NAME']),
                                         parse_html=True,
                                         tooltip=str(data_1.loc[i, 'NAME']),
                                         max_width=100),  # 提示語橫向完全顯示
                      icon=folium.Icon(color='red')
                      ).add_to(marker_cluster)
    for j in range(len(data_2)):
        folium.Marker(location=[data_2.loc[j, '緯度'], data_2.loc[j, '經(jīng)度']],  # 坐標(biāo)用[緯度,經(jīng)度]
                      popup=folium.Popup(str(data_2.loc[j, 'NAME']),
                                         parse_html=True,
                                         tooltip=str(data_2.loc[j, 'NAME']),
                                         max_width=100),  # 提示語橫向完全顯示
                      icon=folium.Icon(color='blue')
                      ).add_to(marker_cluster)
else:
    # for循環(huán)添加標(biāo)記點(diǎn)
    for i in range(len(data_1)):
        folium.Marker(location=[data_1.loc[i, '緯度'], data_1.loc[i, '經(jīng)度']],  # 坐標(biāo)用[緯度,經(jīng)度]
                      popup=folium.Popup(str(data_1.loc[i, 'NAME']),
                                         parse_html=True,
                                         tooltip=str(data_1.loc[i, 'NAME']),
                                         max_width=100),  # 提示語橫向完全顯示
                      icon=folium.Icon(color='red'),
                      ).add_to(m)
    for j in range(len(data_2)):
        folium.Marker(location=[data_2.loc[j, '緯度'], data_2.loc[j, '經(jīng)度']],  # 坐標(biāo)用[緯度,經(jīng)度]
                      popup=folium.Popup(str(data_2.loc[j, 'NAME']),
                                         parse_html=True,
                                         tooltip=str(data_2.loc[j, 'NAME']),
                                         max_width=100),  # 提示語橫向完全顯示
                      icon=folium.Icon(color='blue'),
                      ).add_to(m)
'''為地圖對象添加點(diǎn)擊顯示經(jīng)緯度的子功能'''
m.add_child(folium.LatLngPopup())
# 點(diǎn)擊新增
# m.add_child(folium.ClickForMarker())
m.save('坐標(biāo)分布圖.html')

2.經(jīng)緯度坐標(biāo)分組標(biāo)記

import pandas as pd
import folium
from folium.plugins import MarkerCluster
from folium import FeatureGroup, LayerControl

tile = 'http://rt1.map.gtimg.com/realtimerender?z={z}&x={x}&y={-y}&type=vector&style=0'

df = pd.read_excel('******.xlsx')  # 讀取文件
df_1 = df[df['類型'] == '***1']
df_2 = df[df['類型'] == '***2']
df_1.reset_index(inplace=True, drop=True)
df_2.reset_index(inplace=True, drop=True)
distriction = df['所屬市'].drop_duplicates()

m = folium.Map(location=[30.97117, 132.49872],  # 地圖中心點(diǎn)
               tiles=None,
               control_scale=True,  # 顯示比例尺
               zoom_start=8)  # 初始等級
folium.TileLayer(tiles=tile, attr='default', name='省').add_to(m)  # 地圖瓦片添加命名

# #創(chuàng)建組
for i in distriction:
    exec(str(i) + ' = ' + 'FeatureGroup(name="' + str(i) + '",show=False).add_to(m)')

# 創(chuàng)建聚合
for j in distriction:
    # 是否將臨近點(diǎn)聚合
    # exec(str(j) + 'mc = ' + 'MarkerCluster().add_to(' + str(j) + ')')
    exec(str(j) + 'mc = ' + str(j))

# for循環(huán)添加標(biāo)記點(diǎn)
for k in range(len(df_1)):
    exec('''folium.Marker(location=[df_1.loc[k,'緯度'], df_1.loc[k,'經(jīng)度']],  
                  popup=folium.Popup(str(df_1.loc[k,'NAME']), 
                                     parse_html=True, 
                                     max_width=150),                #提示語橫向完全顯示
                  icon=folium.Icon(color='red')      
                 ).add_to(''' + str(df_1.loc[k, '所屬市']) + 'mc)')
for k in range(len(df_2)):
    exec('''folium.Marker(location=[df_2.loc[k,'緯度'], df_2.loc[k,'經(jīng)度']],  
                  popup=folium.Popup(str(df_2.loc[k,'NAME']), 
                                     parse_html=True, 
                                     max_width=150),                #提示語橫向完全顯示 
                  icon=folium.Icon(color='blue')      
                 ).add_to(''' + str(df_2.loc[k, '所屬市']) + 'mc)')

LayerControl(collapsed=False).add_to(m)
'''為地圖對象添加點(diǎn)擊顯示經(jīng)緯度的子功能'''
m.add_child(folium.LatLngPopup())
m.save('省市坐標(biāo)分布圖.html')  # 保存到當(dāng)前目錄下

到了這里,關(guān)于Python根據(jù)經(jīng)緯度在地圖上顯示(folium)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Vue+OpenLayers 創(chuàng)建地圖并顯示鼠標(biāo)所在經(jīng)緯度

    Vue+OpenLayers 創(chuàng)建地圖并顯示鼠標(biāo)所在經(jīng)緯度

    本文用的是高德地圖 頁面 初始化地圖 附css代碼

    2024年01月17日
    瀏覽(30)
  • Cesium 在地圖鼠標(biāo)點(diǎn)擊進(jìn)行定位,并顯示經(jīng)緯度

    vue工程加載cesium 可以參考之前的文章:vue 使用cesium簡單介紹_vue使用cesium_夜跑者的博客-CSDN博客 這篇文章介紹一下如何響應(yīng)鼠標(biāo)左鍵獲取經(jīng)緯度,以及在地圖上添加廣告牌。 1)響應(yīng)鼠標(biāo)左鍵,并獲取經(jīng)緯度 ? ? ? ? 主要用到了2個接口ScreenSpaceEventHandler,?setInputAction,代碼

    2024年02月17日
    瀏覽(37)
  • 小程序map拖動地圖顯示地圖中心標(biāo)記點(diǎn)及經(jīng)緯度方法

    小程序map拖動地圖顯示地圖中心標(biāo)記點(diǎn)及經(jīng)緯度方法

    最近做畢設(shè),需要獲取地點(diǎn)坐標(biāo),有了地圖地圖,想想怎么來簡單點(diǎn)。 就上網(wǎng)搜了搜(官方有提供地圖選點(diǎn)返回經(jīng)緯度的,但是感覺手指操作不太精準(zhǔn),就想著換一種) 然后自己寫了個demo(代碼再后面) 大體思路是在map中心放個很小的圈圈定位用(map中flex垂直水平居中不

    2024年02月05日
    瀏覽(23)
  • vue2嵌入高德地圖選擇地址后顯示地址和經(jīng)緯度

    vue2嵌入高德地圖選擇地址后顯示地址和經(jīng)緯度

    以高德地圖為里,申請key,選擇js api服務(wù),獲取key和密鑰. vue2項(xiàng)目代碼引入相關(guān)依賴: 封裝成組件: 頁面引用:

    2024年01月20日
    瀏覽(26)
  • mysql根據(jù)經(jīng)緯度計算距離

    要在MySQL中根據(jù)經(jīng)緯度計算距離,你可以使用以下方法: 使用Haversine公式:Haversine公式是一種常用的方法,用于計算兩個球面上點(diǎn)之間的距離。下面是一個示例查詢,展示如何在MySQL中使用Haversine公式計算經(jīng)緯度距離: 在上面的查詢中, your_table 是包含經(jīng)度和緯度信息的表。

    2024年02月14日
    瀏覽(36)
  • ES 地圖經(jīng)緯度搜索

    ES 地圖經(jīng)緯度搜索

    ES中提供了一個數(shù)據(jù)類型 geo_point,這個類型就是用來存儲經(jīng)緯度的。 創(chuàng)建一個帶geo_point類型的索引,并添加測試數(shù)據(jù) ?

    2024年02月12日
    瀏覽(27)
  • 高德根據(jù)經(jīng)緯度,查詢所在位置信息

    高德根據(jù)經(jīng)緯度,查詢所在位置信息

    根據(jù)JSON對象獲取信息 String cityInfo = GaoDeUtils.getAddressByJWD(request.getClog(), request.getClat()); JSONObject resultSucces = JSONObject.parse(cityInfo); JSONObject addr=resultSucces.getJSONObject(“regeocode”); AddressComponent addressComponent = JSON.parseObject(JSON.toJSONString(addr.get(“addressComponent”)), AddressComponent.class); 創(chuàng)

    2024年02月08日
    瀏覽(19)
  • 根據(jù)經(jīng)緯度計算兩點(diǎn)之間的距離

    根據(jù)經(jīng)緯度計算兩點(diǎn)之間的距離

    前言 在我們平時使用美團(tuán),餓了么等app進(jìn)行訂餐,或者使用貓眼進(jìn)行訂電影票的時候,都有一個距離的排序,表明該家店距離我們當(dāng)前的位置,這種基于地理位置的服務(wù),統(tǒng)一被稱為LBS(Location Based Service),而LBS的實(shí)現(xiàn)則是借助于GIS,WC(無線通信)等信息技術(shù)來實(shí)現(xiàn)。而今

    2024年02月05日
    瀏覽(62)
  • 騰訊地圖獲得地圖經(jīng)緯度數(shù)據(jù)進(jìn)行描邊

    騰訊地圖獲得地圖經(jīng)緯度數(shù)據(jù)進(jìn)行描邊

    登錄騰訊地圖?微信小程序JavaScript SDK | 騰訊位置服務(wù) ? 接口調(diào)用:直接瀏覽器調(diào)用就行 一,可以先通過查詢地區(qū)名字來獲得地區(qū)碼: https://apis.map.qq.com/ws/district/v1/search?key=你申請獲得keykeyword=梁溪區(qū) 二,用地區(qū)碼查詢描邊經(jīng)緯度: 你申請獲得key https://apis.map.qq.com/ws/distric

    2023年04月24日
    瀏覽(26)
  • 使用騰訊地圖獲取地址經(jīng)緯度

    1、在終端執(zhí)行 2.在main.js引入? 或則直接在需要頁面引入 3、寫方法 具體的參考騰訊開發(fā)文檔https://lbs.qq.com/service/webService/webServiceGuide/webServiceGeocoder

    2024年02月09日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包