folium 是一个基于 Python 的交互式地图库,它能让你轻松创建美观且交互性强的地图。folium 本质上是对 JavaScript 库 Leaflet.js 的封装,因此你可以在 Python 环境中借助它创建各种地图,并且这些地图可以在网页中显示。下面为你详细介绍 folium 库的相关内容。

安装

可以使用 pip 来安装 folium 库:

pip install folium

基本用法

1. 创建一个简单的地图

import folium

# 创建一个地图对象,指定地图的中心位置和初始缩放级别
m = folium.Map(location=[37.7749, -122.4194], zoom_start=12)

# 保存地图为 HTML 文件
m.save('simple_map.html')
在上述代码中,首先导入 folium 库,接着创建一个地图对象 m,并指定地图的中心位置(纬度和经度)以及初始缩放级别。最后将地图保存为 HTML 文件,在浏览器中打开该文件就能看到地图。

2. 添加标记

import folium

# 创建地图对象
m = folium.Map(location=[37.7749, -122.4194], zoom_start=12)

# 添加一个标记到地图上
folium.Marker(
    location=[37.7749, -122.4194],
    popup='旧金山',
    icon=folium.Icon(color='red', icon='info-sign')
).add_to(m)

# 保存地图
m.save('map_with_marker.html')
此代码在地图上添加了一个标记,标记的位置由 location 参数指定,popup 参数用于设置鼠标悬停在标记上时显示的文本,icon 参数用于设置标记的图标样式。

3. 添加多边形

import folium

# 创建地图对象
m = folium.Map(location=[37.7749, -122.4194], zoom_start=12)

# 定义多边形的边界坐标
coordinates = [
    [37.7749, -122.4194],
    [37.7849, -122.4194],
    [37.7849, -122.4294],
    [37.7749, -122.4294]
]

# 添加多边形到地图上
folium.Polygon(
    locations=coordinates,
    color='blue',
    fill=True,
    fill_color='blue',
    fill_opacity=0.2
).add_to(m)

# 保存地图
m.save('map_with_polygon.html')
这段代码定义了一个多边形的边界坐标,然后使用 folium.Polygon 类将多边形添加到地图上,同时可以设置多边形的颜色、填充颜色和填充透明度等属性。

总结

folium 库提供了丰富的功能,能够帮助你轻松创建交互式地图,并添加各种地理元素,如标记、多边形等。你可以根据具体需求进一步定制地图的样式和功能,例如更改地图的底图、添加图层控制等。