python:folium库实现地图可视化

本文详细介绍了Python的Folium库,用于地图可视化。从安装库开始,逐步展示如何创建基本地图,添加标记、圆圈,以及绘制热力图。示例代码包括了不同地图源的选择,以及在地图上添加点和圆的多种方式,适合初学者和进阶者学习使用。
摘要由CSDN通过智能技术生成

python:folium库实现地图可视化

folium库是一个python地图可视化的库,可以实现一下复杂的功能

安装库

首先看一下是否安装了这个库

import folium

没有的话可以用conda安装

conda install folium -c conda-forge

没有Anaconda的话可以使用pip

pip install folium
简单使用

通过下面的代码,我们可以看到我们想要的经纬度的地图,作者在这里写了四个tiles,通过修改tiles可以修改使用不同的地图,通过修改location可以修改不同的中心点经纬度。

import  folium
import  webbrowser

## 初始化地图
m = folium.Map(
        location= [31.2389, 121.4992],
        zoom_start=12,
        # tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', # 高德街道图
        tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        # tiles='https://mt.google.com/vt/lyrs=s&x={x}&y={y}&z={z}', # google 卫星图
        # tiles='https://mt.google.com/vt/lyrs=h&x={x}&y={y}&z={z}', # google 地图
        attr='default'
    )

m.save('f1.html')
webbrowser.open('f1.html')

通过添加几行代码,我们可以添加一个点到地图上,第一个列表是经纬度,popup是这个点弹出的信息,color决定的标记的这个点的颜色,icon可以选择点上的不同信息

import  folium
import  webbrowser

## 初始化地图
m = folium.Map(
        location= [31.2389, 121.4992],
        zoom_start=12,
        # tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', # 高德街道图
        tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        # tiles='https://mt.google.com/vt/lyrs=s&x={x}&y={y}&z={z}', # google 卫星图
        # tiles='https://mt.google.com/vt/lyrs=h&x={x}&y={y}&z={z}', # google 地图
        attr='default'
    )

# 添加marker到地图
folium.Marker([31.2453,121.4857], popup='123', tooltip='tooltip',icon=folium.Icon(color='red')).add_to(m)
folium.Marker([31.2418,121.4953], popup='456', tooltip='tooltip',icon=folium.Icon(color='green',icon='info-sign')).add_to(m)


m.save('f1.html')
webbrowser.open('f1.html')

通过另外的几行代码,我们可以画一个圆到地图上

import  folium
import  webbrowser

## 初始化地图,指定上海市
m = folium.Map(
        location= [31.2389, 121.4992],
        zoom_start=12,
        # tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', # 高德街道图
        tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        # tiles='https://mt.google.com/vt/lyrs=s&x={x}&y={y}&z={z}', # google 卫星图
        # tiles='https://mt.google.com/vt/lyrs=h&x={x}&y={y}&z={z}', # google 地图
        attr='default'
    )

# 添加marker到地图
folium.Marker([31.2453,121.4857], popup='123', tooltip='tooltip',icon=folium.Icon(color='red')).add_to(m)
folium.Marker([31.2418,121.4953], popup='456', tooltip='tooltip',icon=folium.Icon(color='green',icon='info-sign')).add_to(m)

#标记一个空心的圈
folium.Circle(
    location=[31.2453,121.4857], #圆圈中心的经纬度
    radius=10000, # 圆的半径 单位为米(m)
    color='crimson', #圈的颜色
    popup='popup',
    fill=False #是否填充
).add_to(m)

#标记一个实心圆
folium.CircleMarker(
    location=[31.2453,121.4857],
    radius=100,
    popup='popup',
    color='#DC143C', #圈的颜色
    fill=True, #是否填充
    fill_color='#6495ED' #填充颜色
).add_to(m)

m.save('f1.html')
webbrowser.open('f1.html')
高级操作

通过folium我们还可以绘制热力图

import  folium
import  webbrowser

## 初始化地图,指定上海市
m = folium.Map(
        location= [48.269596,-122.200035],
        zoom_start=12,
        # tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', # 高德街道图
        tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        # tiles='https://mt.google.com/vt/lyrs=s&x={x}&y={y}&z={z}', # google 卫星图
        # tiles='https://mt.google.com/vt/lyrs=h&x={x}&y={y}&z={z}', # google 地图
        attr='default'
    )
    
'''
绘制热力图
'''
Loc_hot = Loc_hot = [
   [48.269596,-122.200035],
   [48.269596,-122.200035],
   [48.269596,-122.180035],
   [48.339596,-122.260035],
   [48.339596,-122.220035],
   [48.409596,-122.300035]
   ]
folium.plugins.HeatMap(Loc_hot).add_to(m)

m.save('f1.html')
webbrowser.open('f1.html')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LyaJpunov

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值