Python 地图基础教程教程

文章目录

  • 前言
  • 1. 环境准备
    • 1.1Python安装
    • 1.2选择Python开发环境
    • 1.3安装必要库
  • 二、绘制基本世界地图
    • 1.导入必要的库:
    • 2. 加载世界地图数据:
    • 3. 绘制地图:
  • 三、自定义地图样式
    • 1.按面积给国家着色:
    • 2. 突出显示特定国家:
  • 四、添加地理信息
    • 1.显示国家名称:
    • 2. 添加其他地理要素:
  • 五、保存地图


前言

地图在生活、科研、商业等诸多领域都有着广泛的应用,从日常出行的导航,到地理信息系统(GIS)中的数据分析,再到市场调研中的区域分布展示。在 Python 的世界里,拥有丰富的库可以助力我们轻松创建和定制各类地图,将地理数据以直观、生动的方式呈现出来。本教程将带你踏入 Python 地图绘制的大门,从基础操作逐步深入到个性化定制,让你掌握使用 Python 制作地图的技能。


1. 环境准备

1.1Python安装

访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489
Python 3.13安装教程:https://blog.csdn.net/u014164303/article/details/146024500

Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c
Python 3.13下载地址:https://pan.quark.cn/s/bce37ebd7f70

1.2选择Python开发环境

PyCharm 社区版(免费)或专业版(需付费或申请教育版)。安装完成后,打开 PyCharm,创建一个新的项目,在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大,提供代码自动补全、调试等功能,适合开发大型项目。

Pycharm安装教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下载地址:https://pan.quark.cn/s/5756c8cf8b2a

1.3安装必要库

在开始绘制地图之前,需要安装一些必要的 Python 库。

  • Matplotlib:这是一个功能强大的绘图库,用于创建各种静态、动态和交互式的可视化图表,在地图绘制中,它主要负责图形的展示与渲染。通过以下命令安装:

pip install matplotlib

  • Geopandas:专门用于处理地理空间数据的库,它基于 Pandas 进行了扩展,使得地理数据的处理和分析更加便捷。它能读取和处理多种地理数据格式,如 GeoJSON、Shapefile 等,并能与 Matplotlib 结合绘制地图。安装命令如下:

pip install geopandas

  • Shapely:用于处理几何形状的库,在 Geopandas 处理地理数据时,Shapely 提供了对几何对象(如点、线、多边形等)的操作支持。安装命令为:
    pip install shapely

  • Descartes:这个库与 Matplotlib 结合使用,能够帮助绘制地理数据中的几何形状。安装命令:

pip install descartes

二、绘制基本世界地图

1.导入必要的库:

在 Python 脚本或交互式环境中,首先导入绘制地图所需的关键库。

import geopandas as gpd
import matplotlib.pyplot as plt

这里geopandas用于加载和处理地理数据,matplotlib负责地图的实际绘制与显示。

2. 加载世界地图数据:

Geopandas 提供了便捷的方式来加载世界地图数据集,该数据集包含各个国家的边界信息及地理坐标。

world = gpd.read_file(gpd.datasets.get_path(‘naturalearth_lowres’))

执行上述代码后,world变量将成为一个包含世界地图数据的 GeoDataFrame 对象。你可以通过以下代码查看数据的概况:

print(world.head())

这会显示出数据的前几行,其中包含国家名称、ISO 代码、人口、区域等相关信息。

3. 绘制地图:

利用 Matplotlib 的绘图函数,绘制出基本的世界地图。

world.plot(figsize=(10, 6))
plt.title(“世界地图”)
plt.show()

figsize参数用于设置生成地图图像的大小,单位为英寸。plt.title添加地图的标题,plt.show则将绘制好的地图展示出来。运行这段代码,你将看到一个简单的世界地图。

三、自定义地图样式

1.按面积给国家着色:

为了使地图更具信息展示性,可以根据国家面积大小为每个国家分配不同的颜色。

world[‘area’] = world.geometry.area
world.plot(column=‘area’, figsize=(10, 6), legend=True, cmap=‘blues’)
plt.title(“按国家面积着色的世界地图”)
plt.show()

上述代码中,首先计算每个国家的面积并存储在area列中。然后在plot函数中,通过column='area’指定根据面积列来为国家着色,legend=True显示颜色图例,cmap='blues’设置颜色映射为蓝色系,面积越大颜色越深。

2. 突出显示特定国家:

若想在地图上突出显示某些特定国家,如中国和美国,可通过数据过滤实现。

highlight = world[world[‘name’].isin((‘China’, ‘United States of America’))]
ax = world.plot(figsize=(10, 6), color=‘lightgray’)
highlight.plot(ax=ax, color=‘red’)
plt.title(“突出显示中国和美国的世界地图”)
plt.show()

这段代码使用isin方法筛选出中国和美国的数据,存储在highlight变量中。先以浅灰色绘制整个世界地图,然后在同一坐标轴ax上,用红色突出绘制中国和美国,使这两个国家在地图上显著区分开来。

四、添加地理信息

1.显示国家名称:

在地图上标注国家名称能让地图信息更完整。

fig, ax = plt.subplots(figsize=(10, 6))
world.plot(ax=ax, color=‘lightblue’, edgecolor=‘black’)
for x, y, label in zip(world.geometry.centroid.x, world.geometry.centroid.y, world[‘name’]):
ax.text(x, y, label, fontsize=4, ha=‘center’, color=‘black’)
plt.title(“带有国家名称的世界地图”)
plt.show()

这里通过world.geometry.centroid获取每个国家几何形状的质心坐标(x和y),结合国家名称,使用ax.text方法在地图相应位置标注国家名称。fontsize设置字体大小,ha='center’使文字居中显示。

2. 添加其他地理要素:

除国家名称外,还可添加更多地理要素,如城市、河流等。这需要额外的地理数据文件,例如,若有城市坐标数据文件cities.csv,可按以下方式读取并标注城市:

import pandas as pd
cities = pd.read_csv(‘cities.csv’)
fig, ax = plt.subplots(figsize=(10, 6))
world.plot(ax=ax, color=‘lightgreen’, edgecolor=‘black’)
for index, row in cities.iterrows():
x, y = row[‘longitude’], row[‘latitude’]
ax.plot(x, y, ‘ro’, markersize=5)
ax.text(x, y, row[‘city_name’], fontsize=4, ha=‘left’, color=‘red’)
plt.title(“带有城市标注的世界地图”)
plt.show()

上述代码读取城市数据文件,文件中应包含城市的经度、纬度和名称等信息。通过循环遍历城市数据,在地图上用红色圆点标注城市位置,并在旁边标注城市名称。

五、保存地图

当完成地图的绘制和定制后,可以将其保存为图像文件,方便后续使用。

world.plot(figsize=(10, 6), color=‘lightyellow’)
plt.title(“保存的世界地图”)
plt.savefig(“world_map.png”, dpi=300)

plt.savefig方法用于保存地图,第一个参数为保存的文件名,dpi参数设置图像的分辨率,数值越高图像越清晰。保存的文件格式可以根据需要更改,如.jpg、.pdf等。

通过本教程的学习,你已经掌握了使用 Python 绘制地图的基本方法,包括地图数据的加载、样式自定义、地理信息添加以及地图保存等操作。在实际应用中,你可以根据具体需求,进一步探索和扩展地图绘制的功能,处理更复杂的地理数据,创建出满足各种需求的精美地图。

你可能感兴趣的:(python,python,Python地图,Python基础教程,Python地图教程,Python地图入门,Python绘制地图,Python地图源码)