使用Python创建交互式地图:利用geopandas、shapely和folium可视化Excel数据

在本文中,我们将介绍如何使用Python中的几个库,如geopandas、shapely、folium和pandas,从Excel文件中读取数据并创建交互式地图。

首先,我们需要安装所需的库。可以使用pip命令安装这些库:

pip install geopandas shapely folium pandas

接下来,我们来看一下代码:

import geopandas as gpd
from shapely.geometry import Point
import folium
import pandas as pd

filename = 'D:\\TaoF\\Desktop\\站点分布地图.html'
df = pd.read_excel('data.xlsx', sheet_name='Sheet1', header=0)

# 将DataFrame转换为GeoDataFrame
geometry = [Point(xy) for xy in zip(df['Longitude'], df['Latitude'])]
gdf = gpd.GeoDataFrame(df, geometry=geometry)

# 创建地图对象
m = folium.Map(location=[df['Latitude'].mean(), df['Longitude'].mean()], zoom_start=10)

# 添加数据点
for index, row in df.iterrows():
    if row['Name'] == 'Physical Port Down':
        folium.Marker(location=[row['Latitude'], row['Longitude']], icon=folium.Icon(color='blue')).add_to(m)
    elif row['Name'] == 'The Device is offline':        
        folium.Marker(location=[row['Latitude'], row['Longitude']], icon=folium.Icon(color='red')).add_to(m)

# 显示地图
# 将地图保存为HTML文件
m.save(filename)

首先,我们导入了所需的库,并定义了一个文件名用于保存最终的HTML文件。然后,我们使用pandas库从Excel文件中读取数据,并将其存储在一个DataFrame中。

接下来,我们将DataFrame转换为GeoDataFrame。这是通过创建一个包含所有经纬度坐标的shapely Point对象列表,并将其作为geometry参数传递给gpd.GeoDataFrame()函数来完成的。

然后,我们使用folium库创建一个地图对象。我们指定了初始位置和缩放级别,并根据DataFrame中的值向地图添加数据点。在这个例子中,我们根据“Name”列的值来确定标记的颜色。

最后,我们将地图保存为HTML文件。

运行此代码后,在指定位置生成一个HTML文件。打开该文件即可查看交互式地图。

以上就是本文关于如何使用Python中的geopandas、shapely、folium和pandas库从Excel文件中读取数据并创建交互式地图的介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值