📜  python显示地图 - Python(1)

📅  最后修改于: 2023-12-03 14:46:45.108000             🧑  作者: Mango

Python显示地图

在Python中,我们可以使用不同的库来显示地图,这些库可以用于数据可视化或者地理信息系统。以下是一些常用的Python库:

1. Folium

Folium是一个基于Python的库,可以创建交互式地图。它使用Leaflet.js库作为后端,可以轻松地绘制地图,并支持多个数据格式。以下是一个简单的例子:

import folium

# 创建Map对象
m = folium.Map(location=[45.5236, -122.6750], zoom_start=13)

# 在地图上添加Marker
folium.Marker(location=[45.5236, -122.6750], popup='Portland, OR').add_to(m)

# 保存地图
m.save('map.html')

这个代码片段会创建一个包含一个Marker的交互式地图,并将地图保存为HTML文件。我们可以用Web浏览器打开该文件,并与地图交互。

2. Basemap

Basemap是一个基于Matplotlib的库,可以创建静态地图。它支持多个地理投影和数据格式,并提供了多个预定义的地图图层。以下是一个简单的例子:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

# 创建地图
m = Basemap(projection='merc', llcrnrlat=-80, urcrnrlat=80,
            llcrnrlon=-180, urcrnrlon=180, lat_ts=20, resolution='c')

# 绘制海岸线、国境线和州线
m.drawcoastlines()
m.drawcountries()
m.drawstates()

# 在地图上添加Marker
x, y = m(-122.3, 47.6)
m.plot(x, y, 'bo', markersize=10)

# 显示地图
plt.show()

这个代码片段会创建一个包含一个Marker的静态地图,并在Matplotlib窗口中显示该地图。

3. Geopandas

Geopandas是一个库,可以用于地理数据的处理和操作。它提供了与Pandas库类似的接口,支持多个数据格式,如GeoJSON和Shapefile。以下是一个简单的例子:

import geopandas as gpd
import matplotlib.pyplot as plt

# 读取Shapefile文件
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

# 绘制地图
ax = world.plot(color='white', edgecolor='black')

# 在地图上添加Marker
ax.plot(-122.3, 47.6, marker='o', color='red', markersize=5)

# 显示地图
plt.show()

这个代码片段会创建一个包含一个Marker的静态地图,并在Matplotlib窗口中显示该地图。该程序使用一个名为naturalearth_lowres的内置数据集,其中包含了世界地图的Shapefile文件。

以上是一些常用的Python库,用于显示地图。每个库都有其独特的优点和适用场景。根据应用场景和个人偏好选择适合自己的库即可。