地图信息可视化 的实现就是将不可展开的曲面上的地理坐标信息转化为二维平面进行显示,这个过程也叫地图投影(空间三维投影到平面二维)
地图投影的要求:等面积、等角度、等距离。总的来说就是映射到二维平面中的任何点通过比例尺放大到实际标准一致,即为成功进行地图投影。
当然,没有任何一种投影的方法可以同时满足:等面积、等角度、等距离这三个要求,所以投影方法分为三种:等面投影、等角投影、等距投影
常见的三种电视中看得见的地图投影:墨卡托投影(圆柱投影)、阿伯斯投影(圆锥投影)、方位投影
图片来源:https://it.sohu.com/a/738294084_121343791
那么如何用python来绘制我们想要的地图?首先可以通过python来使用GenPandas和Basemap两个包,这两个安装包都内置有世界地图的绘制数据信息,其不仅可以绘制不同投影的地图,同时也可以根据不同的地区名来提取对应地区的地理数据,从而绘制全局或局部地区的地图。
在国家地理信息统计局可以下载SHP格式的地图数据 ,并使用绘图软件来打开这些SHP格式文件,就可以绘制相应地图。同时也可以下载json格式的地图数据,也可以通过绘制软件和python中涉及的两个包进行读取并绘制。幸运的是GenPandas中自带有世界地图的数据信息,可以直接通过以下方式进行使用:
python安装genpandas的时候记得使用镜像: Conda create -n gen_pandas python=3.7 Conda activate gen_pandas pip install geopandas matplotlib descartes -i https://mirrors.aliyun.com/pypi/simple/如果还是显示没有genpandas就看一下python解释器对应的是不是gen_pandas虚拟环境中的解释器,如下:
然后运行下面这个代码:查看数据集格式
pythonimport geopandas as gpd # 加载内置的世界地图数据集(来自Natural Earth) world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) print(world.head()) # 输出前5行示例运行结果:
然后运行以下代码:
pythonimport matplotlib.pyplot as plt import geopandas as gpd # 加载内置的世界地图数据集(来自Natural Earth) world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) # 绘制基础地图 fig, ax = plt.subplots(figsize=(15, 10)) world.plot(ax=ax, color='lightblue', edgecolor='black') # 添加标题和坐标轴 ax.set_title("World Map (Natural Earth Dataset)", fontsize=16) ax.set_axis_off() # 隐藏坐标轴 plt.show()得到以下全球地图:
Python可视化——地理空间型图表(自用)
爱吃泡芙的小白白2025-03-08 9:49
相关推荐
dialect_26 分钟前
KMP算法总要学点什么1 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪前端精髓1 小时前
结构化输出with_structured_output(抽卡)尹人入圣2 小时前
目前热门的IP驱动产业新场景新工具开开心心_Every3 小时前
快速隐藏程序工具自定义快捷键一键切换chenbingjie_c3 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理Nuanyt3 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)吴卫斌3 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“2601_967987373 小时前
Python——入门级(定义功能def函数)超级架构师4 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架


