Python geopandas:中国地图绘制与数据操作详解

版权申诉
0 下载量 181 浏览量 更新于2024-09-02 收藏 378KB DOCX 举报
Pythongeopandas 是一个结合了 Python 和地理空间数据分析的强大工具,特别适用于在中国地图上进行数据可视化。本文档详细介绍了如何使用 geopandas 进行中国地图的绘制,主要涉及以下几个关键知识点: 1. **GeoJSON 文件读取**: geopandas 提供的 `read_file()` 方法方便地读取 GeoJSON 文件,如 "中国省级地图GS(2021)1719号.geojson" 和 "九段线GS(2021)1719号.geojson"。默认情况下,这些数据是以 WGS84 坐标系绘制的,通过 `gpd.read_file()` 函数加载后可以直接在地图上显示。 2. **投影转换**: 在进行更精确的地图展示时,可能需要对数据进行投影转换。文档示例中提到的 `to_crs()` 方法用于将数据从 WGS84 转换到 EPSG:2343 这样的特定投影,这对于中国地图的可视化尤为重要,因为不同的投影能够更好地反映中国的地理位置特征。 3. **绘图数据操作**: 为了在地图上添加其他数据,例如散点数据,首先需要将这些数据转换为 geopandas 的 GeoDataFrame 格式。通过 `GeoDataFrame(points_from_xy(lon, lat))` 功能,将经度 (`lon`) 和纬度 (`lat`) 数据转换为点坐标,并指定坐标系(此处为 EPSG:4326)。 4. **数据预处理**: 将散点数据 `scatter` 转换成带有地理信息的 GeoDataFrame 后,为了适应地图绘制,还需要将其转换到与地图相同的投影(这里是 EPSG:2343),这可以通过 `to_crs()` 函数实现,并且设置了 `inplace=True` 参数,意味着转换后的数据会覆盖原始数据。 5. **地图可视化**: 使用 matplotlib 的 `plt.subplots()` 创建一个新的绘图窗口,设置大小和分辨率,然后利用 geopandas 的 `plot()` 方法将数据添加到地图上。对于不同类型的几何对象,如省级地图和九段线,可能需要调整颜色和边框样式。文档还提到了修改字体设置的 `plt.rcParams` 属性。 通过这些步骤,可以实现从数据加载、预处理到最终地图绘制的完整流程,使用户能够在 Python 环境中方便地处理和可视化中国的地理信息数据。此外,这些技巧也可以应用于其他地理空间数据分析项目,只要适当调整投影和数据类型即可。