当前位置 博文首页 > Python利用folium实现地图可视化

    Python利用folium实现地图可视化

    作者:Harris-H 时间:2021-05-30 17:51

    folium的简介

    用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化。Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示。它不单单可以在地图上展示数据的分布图,还可以使用Vincent/Vega在地图上加以标记。

    这个开源库中有许多来自OpenStreetMap、MapQuest Open、MapQuestOpen Aerial、Mapbox和Stamen的内建地图元件,而且支持使用Mapbox或Cloudmade的API密钥来定制个性化的地图元件。Folium支持GeoJSON和TopoJSON两种文件格式的叠加,也可以将数据连接到这两种文件格式的叠加层,最后可使用color-brewer配色方案创建分布图。

    Folium可以让你用Python强大生态系统来处理数据,然后用Leaflet地图来展示。Folium内置一些来自OpenStreetMap、MapQuest Open、MapQuest Open Aerial、Mapbox和Stamen的地图元件(tilesets),并且支持用Mapbox或者Cloudmade API keys来自定义地图元件。Folium支持GeoJSON和TopJSON叠加(overlays),绑定数据来创造一个分级统计图(Choropleth map)。但是,Folium库绘制热点图的时候,需要联网才可显示。

    1.安装folium模块

    pip install folium

    2.安装jupyter

    pip install jupyter

    便于查看地图

    3.查看世界地图

    import folium
    m = folium.Map() # 显示地图
    m

    在这里插入图片描述

    4.查看中国地图

    import folium
    m = folium.Map(location=[30,100],zoom_start=3)
    m
    • location 经纬度,list 或者 tuple 格式,顺序为 latitude(纬度), longitude(经度)
    • zoom_start 缩放值,默认为 10,值越大比例尺越小,地图放大级别越大
    • tiles 显示样式,默认*‘OpenStreetMap'*,也就是开启街道显示
    • crs 地理坐标参考系统,默认为"EPSG3857"

    5.武汉市地图

    m = folium.Map(location=[30.6,114.4],zoom_start=8) # 武汉市地图

    在这里插入图片描述

    修改样式

    m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Toner')

    在这里插入图片描述

    m = folium.Map(location=[30.6,114.4],zoom_start=8,tiles='Stamen Terrain')

    在这里插入图片描述

    6.添加标记

    import folium
    wuhan_map = folium.Map(location=[30.6,114.4],zoom_start=8)
    
    # 添加标记
    folium.Marker(
        location=[30.6,114.3], # 位置
        popup='Wu Han City Marker', # 鼠标点击 弹出的说明
        icon=folium.Icon(icon='cloud') # 图标样式
    ).add_to(wuhan_map)
    
    folium.Marker(
        location=[30.6,114.33],
        popup='Timberline Lodge',
        icon=folium.Icon(color='green')
    ).add_to(wuhan_map)
    
    folium.Marker(
        location=[30.6,114.35],
        popup='Some Other Location',
        icon=folium.Icon(color='red', icon='info-sign')
    ).add_to(wuhan_map)
    folium.Circle(  # 添加圆
        radius=200,
        location=(30.6,114.32),
        popup='The Waterfront',
        color='crimson',
        fill=False,
    ).add_to(wuhan_map)
    
    folium.CircleMarker(    #添加蓝色圆环
        location=(30.6,114.37),
        radius=50,
        popup='Laurelhurst Park',
        color='#3186cc',
        fill=True,
        fill_color='#3186cc'
    ).add_to(wuhan_map)
    
    # 获取点的经纬度
    # wuhan_map.add_child(folium.LatLngPopup())
    
    # 动态添加标签
    wuhan_map.add_child(folium.ClickForMarker(popup='Waypoint'))
    

    在这里插入图片描述

    7.查找武汉科技大学

    import foliumposition = [30.4415, 114.2628] # 武科大的经纬度school_mp = folium.Map(location=position,zoom_start=15)school_mp

    在这里插入图片描述

    8.未解决

    ​ 弹出pop_up显示图片不会。

    9.参考文章

    传送门1

    经纬度查询api

    js
    下一篇:没有了