地理空间分析3——数据可视化与地理空间

写在开头

数据可视化是将数据以图形形式呈现,使其更易于理解和分析的过程。在地理空间分析中,数据可视化不仅能够展示地理位置信息,还能够有效地传达地理空间数据的模式、趋势和关联。本文将探讨数据可视化在地理空间分析中的作用,介绍Python中常用的数据可视化工具,并深入讨论静态地图制作、动态地图可视化以及热力图制作的技术和应用。

写在开头

地理空间分析是许多领域中关键的数据分析方向,如地理信息系统(GIS)、城市规划和环境科学。数据可视化在地理空间分析中的作用愈发重要,因为它能够将复杂的地理数据转化为直观的图形,为决策者和分析师提供更深入的见解。在Python中,有丰富的数据可视化工具,能够帮助我们更好地理解和传达地理空间数据的信息。

1 静态地图制作

静态地图是地理空间分析中最基础的形式之一。利用Matplotlib和Seaborn这两个强大的Python库,我们可以轻松地创建静态地图。通过添加数据标记和注释,我们能够在地图上突出显示关键信息,使得地理空间数据更具可解释性。

1.1 基本静态地图绘制

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 设置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文显示的字体,SimHei 是宋体的黑体版本
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示为方块的问题

# 示例数据
geo_data = pd.DataFrame({
   
    
    
    'longitude': [115.8575, 116.4074, 121.4737, 113.2644, 120.9842],
    'latitude': [28.6829, 39.9042, 31.2304, 23.1291, 24.8054],
    'category': ['A', 'B', 'C', 'A', 'B']
})

# 创建静态地图
plt.figure(figsize=(10, 8))
sns.scatterplot(x='longitude', y='latitude', data=geo_data, hue='category', s=100, palette='viridis')
plt.title('静态地图示例')
plt.xlabel('经度')
plt.ylabel('纬度')
plt.legend()
plt.show()

1.2 绘制中国地图

当使用 Python 绘制地图时,通常会使用地理信息系统(GIS)提供的地图数据。这些数据可以是矢量数据(Shapefile、GeoJSON等)或栅格数据。虽然我无法直接从网络读取文件,但你可以使用在线地图服务(如OpenStreetMap、Google Maps、Baidu Maps等)的API获取地图信息,然后将其转换为合适的格式进行绘制。在以下示例中,我将演示如何使用 geopandasfolium 库绘制中国地图

首先,确保你已经安装了相关的库:

pip install geopandas folium

绘制地图:

import geopandas as gpd
import folium

# 从替代来源获取'naturalearth_lowres'数据
world = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))

# 使用 folium 创建中国地图
m = folium.Map(location=[35, 105], zoom_start=4)
folium.GeoJson(world[world['name'] == 'China']).add_to(m)

m
# # 保存为 HTML 文件
# m.save('china_map.html')

1.3 绘制广州地图:

import folium

# 使用 folium 创建广州地图
m = folium.Map(location=[

猜你喜欢

转载自blog.csdn.net/qq_41780234/article/details/135367393