700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python:地理地图folium标记物icon 圆圈 圆形 热力图 经纬度点之间的线绘制

Python:地理地图folium标记物icon 圆圈 圆形 热力图 经纬度点之间的线绘制

时间:2023-09-10 20:15:36

相关推荐

Python:地理地图folium标记物icon 圆圈 圆形 热力图 经纬度点之间的线绘制

python:地理地图folium标记物icon,圆圈,圆形,热力图,经纬度点之间的线绘制

import webbrowser as wbimport foliumfrom folium.plugins import HeatMap, MiniMap, MarkerClusterimport numpy as np# 绘制热力图def draw_heatmap(map):data = (np.random.normal(size=(100, 3)) *np.array([[1, 1, 1]]) +np.array([[30, 104, 1]])).tolist()HeatMap(data).add_to(map)# 增加小地图def draw_minimap(map):minimap = MiniMap(toggle_display=True,tile_layer='Stamen Watercolor',position='topleft',width=100,height=100)map.add_child(minimap)# 在地图上绘制无边框圆形,填充颜色def draw_CircleMarker(loc, radius, map):folium.CircleMarker(location=loc,radius=radius,color="cornflowerblue",stroke=False,fill=True,fill_opacity=0.6,opacity=1,popup="{} 像素".format(radius),tooltip=str(loc),).add_to(map)# 在地图上绘制一个小Info标记物def draw_icon(map, loc):mk = folium.features.Marker(loc)pp = folium.Popup(str(loc))ic = folium.features.Icon(color="blue")mk.add_child(ic)mk.add_child(pp)map.add_child(mk)# 在地图上绘制一个圆圈def draw_Circle(map, loc, radius):folium.CircleMarker(location=loc,radius=radius,color="red",weight=3,fill=False,fill_opacity=0.6,opacity=1,).add_to(map)# 绘制可缩放的标记物数字指示def draw_MarkerCluster(map, loc):marker_cluster = MarkerCluster().add_to(map)folium.Marker(location=loc,popup="弹窗消息1",icon=folium.Icon(color="green", icon="ok-sign"),).add_to(marker_cluster)folium.Marker(location=loc,popup="弹窗消息2",icon=folium.Icon(color="red", icon="remove-sign"),).add_to(marker_cluster)folium.Marker(location=loc,popup="弹窗消息3",icon=None,).add_to(marker_cluster)# 画线def draw_line(map, loc1, loc2):kw = {"opacity": 1.0, "weight": 6}folium.PolyLine(smooth_factor=10,locations=[loc1, loc2],color="red",tooltip="连线两个经纬度点",**kw,).add_to(map)def draw_lines(map, coordinates):folium.PolyLine(smooth_factor=50,locations=coordinates,color="#FF0000",weight=2,tooltip="连接多个城市之间的线",).add_to(map)folium.PolyLine(smooth_factor=50,locations=coordinates,color="grey",tooltip="灰色的线条",weight=5,).add_to(map)if __name__ == '__main__':latlngs = [[39.929986, 116.395645], # 北京中心点经纬度[31.249162, 121.487899], # 上海中心点经纬度[23.19, 113.30765], # 广州中心点经纬度[22.546054, 114.025974], # 深圳中心点经纬度[30.679943, 104.067923]] # 成都中心点经纬度map = folium.Map([30., 104.], # 地图中心tiles='stamentoner', # stamentoner,Stamen Watercolor,OpenStreetMap'zoom_start=6)draw_heatmap(map)draw_minimap(map)draw_CircleMarker(loc=latlngs[0], radius=20, map=map)draw_MarkerCluster(map, latlngs[1])draw_Circle(map, latlngs[2], radius=15)draw_icon(map, latlngs[3])draw_line(map, latlngs[0], latlngs[4])draw_lines(map, latlngs)map.save('m.html')wb.open('m.html')

代码运行后如同所示:

更多folium示例请查阅/github/python-visualization/folium/tree/master/examples/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。