Python 一行代码算出每个省面积的神器—Geopandas

再说不会用python计算地球表面多边形面积,可不能了!(记录五种可行方法) 由于地理投影导致导致每个像元实际地面面积不同,越靠近北极实际面积越小,越靠近赤道实际面积越大,如果不进行面积加权就简单平均,会导致温度较实际温度偏低。学习地球科学的小伙伴经常会因为无法计算网格的面积大小或者其他更加不规则的区域的面积而让头发惨死在手中,因此今天对计算地球表面多边形面积的方法进行了整理。......... 阅读详情

GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。

它继承pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDataFrame类,使得其操纵和分析平面几何对象非常方便。

1.准备


开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

请选择以下任一种方式输入命令安装依赖:
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

由于geopandas涉及到许多第三方依赖,pip安装起来非常麻烦。因此在本教程中,我只推荐使用conda安装geopandas:

conda install geopandas

一行语句即可完成安装。

2.基本使用

设定坐标绘制简单的图形:

import geopandas
from shapely.geometry import Polygon
p1 = Polygon([(0, 0), (1, 0), (1, 1)])
p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
p3 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])
g = geopandas.GeoSeries([p1, p2, p3])

# g:
# result:
# 0 POLYGON ((0 0, 1 0, 1 1, 0 0))
# 1 POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))
# 2 POLYGON ((2 0, 3 0, 3 1, 2 1, 2 0))
# dtype: geometry

这些变量所形成的图形如下:



这里有一个重要且强大的用法,通过area属性,geopandas能直接返回这些图形的面积:

>>> print(g.area)
0    0.5
1    1.0
2    1.0
dtype: float64

不仅如此,通过plot属性函数,你还可以直接生成matplotlib图。

>>> g.plot()

通过matplot的pyplot,可以将图片保存下来:

import matplotlib.pyplot as plt
g.plot()
plt.savefig("test.png")

学会上面的基本用法, 我们就可以进行简单的地图绘制及面积的计算了。

3.绘制并算出每个省的面积

此外,它最大的亮点是可以通过 Fiona(底层实现,用户不需要管),读取比如ESRI shapefile(一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式)。

import geopandas
import matplotlib.pyplot as plt
from shapely.geometry import Polygon

maps = geopandas.read_file('1.shx')
# 读取的数据格式类似于
# geometry
# 0 POLYGON ((1329152.341 5619034.278, 1323327.591...
# 1 POLYGON ((-2189253.375 4611401.367, -2202922.3...
# 2 POLYGON ((761692.092 4443124.843, 760999.873 4...
# 3 POLYGON ((-34477.046 4516813.963, -41105.128 4...
# ... ...
maps.plot()
plt.savefig("test.png")

如代码所示,通过read_file你可以读取shx、gpkg、geojson等数据。读取出来的图形如下:

同样,这个shapefile是省级行政区的,每一个省级行政区都被划分为一个区块,因此可以一行语句算出每个省级行政区所占面积:

print(maps.area)
# 0 4.156054e+11
# 1 1.528346e+12
# 2 1.487538e+11
# 3 4.781135e+10
# 4 1.189317e+12
# 5 1.468277e+11
# 6 1.597052e+11
# 7 9.770609e+10
# 8 1.385692e+11
# 9 1.846538e+11
# 10 1.015979e+11
# ... ...

怎么样,是不是很酷?它还有许多更库的特性,欢迎阅读官方文档:
https://geopandas.readthedocs.io/

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领AI全套资料!
GeoPandas 空间分析实战:从基础操作到高级应用 本文系统介绍了GeoPandas在Python空间数据分析中的实战应用,从环境配置、数据读取与可视化等基础操作,到坐标系转换、空间连接、叠加分析等核心功能,并深入探讨了性能优化与高级特性。通过丰富的操作示例,帮助数据分析师和开发者高效处理地理空间数据,实现从基础到进阶的技能提升。 阅读详情

相关推荐

Python实战:基于Geopandas与Rasterio实现多面矢量对栅格数据的智能批量掩膜

本文详细介绍了如何利用Python的Geopandas和Rasterio库,实现基于SHP矢量文件对TIF栅格影像的智能批量掩膜裁剪。通过自动化脚本解决传统GIS软件手动操作效率低下的问题,重点讲解了坐标系对齐、核心函数构建、内存优化及异常处理等关键步骤,为遥感与地理空间数据分析提供高效解决方案。

weixin_29079643的博客 258

python 读取shp计算中国各省面积(平方公里)或者某个区域面积

内蒙古自治区 1152428.1676986692。北京市 16406.495592841242。天津市 11736.026846500068。山西省 156737.73202281503。吉林省 60893.505554947114。黑龙江省 452554.1845194698。安徽省 107711.00079354183。河南省 187214.85961237646。河北省 197927.2826204766。上海市 5144.586641542533。江苏省 38247.57089204991。

hypon的博客 1484

chatgpt赋能python:Python画地图轨迹图教程

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

xuhss_com的博客 1429

python 高德地图 距离计算 面积计算

参考了这个:https://blog.youkuaiyun.com/u014793102/article/details/103869480 面积计算: 高德网址:https://developer.amap.com/demo/javascript-api/example/calcutation/ring-area 也就是说 这些个坐标边界计算出来的结果面积就是左边那个数字。 代码: from math import asin, sqrt, cos, pi def st_area(wkt_list): #

q742971636的博客 2332

Arcgis中利用python语言对shp文件批量计算面积

Arcgis中利用python语言对shp文件批量计算面积,注释详细,只需更改shp文件输入及结果输出文件夹路径即可

vmware vsphere 证书过期告警处理方法

vSphere Clinet 管理页面出现“证书告警” ,检查证书未发现现有证书有过期现象

m0_51902127的博客 3638

Geopandas 一行代码算出每个省的面积

GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。它继承pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDat...

Python实用宝典网 2270

wsl --install 不执行,显示帮助信息

在安装使用wsl的时候碰到了wsl --install 不执行,而显示帮助信息,提供了解决方案。

水滴爬呀爬 2773

Python之深入解析一行代码计算每个省面积的神器Geopandas

一、前言 GeoPandas 是一个基于 pandas,针对地理数据做了特别支持的第三方模块。 它继承 pandas.Series 和 pandas.Dataframe,实现了 GeoSeries 和 GeoDataFrame 类,使得其操纵和分析平面几何对象非常方便。 二、准备 ① Python 安装 在 windows 上安装 Python: 下载 Python 的最新版本:访问链接 Python 官网,在 Windows 操作系统上安装 Python 3.10.0,大家也可以自行选择最新版

╰つ栺尖篴夢ゞ 850

从个体到群体:Cartool实战静息态EEG微状态聚类全解析

本文详细解析了使用Cartool软件进行静息态EEG微状态聚类的完整实战流程。从个体水平聚类到群体模板提取,再到指标量化,文章深入探讨了k-means算法的应用、GFP峰值数据的使用技巧以及关键参数设置,为脑电信号处理研究者提供了从数据准备到结果解读的全方位指南。

weixin_29062671的博客 290

用Verilog手把手教你搭建一个5级流水线的MIPS CPU(附完整代码与仿真)

本文详细介绍了如何使用Verilog从零构建一个5级流水线的MIPS处理器,包括开发环境配置、核心模块实现、流水线冲突处理等关键技术。通过完整的代码示例和仿真方法,帮助读者掌握CPU设计的基本原理和实践技巧,特别适合想要入门处理器设计的工程师和学习者。

weixin_30613727的博客 462

Python库,GeoPandas,Folium

我将为你系统性地解析GeoPandas和Folium这两个处理地理空间数据的核心工具。它们分别承担了数据处理和地图可视化的角色,可以单独使用,也常常协同工作。

leohu0723的博客 584

从零构建无线AM信号模拟系统:基于STM32与AD9959的国赛一等奖方案解析

本文详细解析了基于STM32F103RCT6与AD9959芯片构建无线AM信号模拟系统的国赛一等奖方案。文章从项目背景、核心芯片选型出发,深入剖析了系统架构、硬件电路设计及软件控制逻辑,重点分享了“直流偏置叠加法”实现AM调制、多径模拟以及高频电路调试的实战经验与避坑指南,为参加全国大学生电子设计大赛的选手提供了一套完整、可靠的复现路径。

weixin_29182481的博客 181

用Geopandas玩转地理空间数据可视化与分析

尝试地理分析项目时,发现其预装环境已经配置好Geopandas全家桶,省去了繁琐的安装过程。一键部署的功能特别适合分享动态地图应用,生成的网页链接可以直接发给同事查看分析结果。安装时建议使用conda管理依赖,避免常见的地理库兼容性问题。通过Geopandas这个Python神器,我们可以轻松实现从基础地图绘制到高级空间分析的全流程操作。地理空间分析在智慧城市、物流规划等领域应用广泛,掌握这些核心技能能让数据真正"落地"。建议从行政区划等公开数据集开始练习,逐步挑战更复杂的空间分析任务。

JetFalcon67的博客 714

Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)

本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。

tree8的博客 329

EDF Browser使用说明和技巧

edf browser使用说明和一些小技巧

Erhu_666的博客 8324

GIS空间分析实战:从数据处理到选址建模的完整Python工作流

地理信息系统(GIS)是处理和分析空间数据的核心技术体系,其核心原理在于将现实世界的地理要素抽象为矢量(点、线、面)和栅格数据模型,通过坐标参考系统进行精准的空间定位。这项技术的价值在于能够将抽象的地理信息转化为可量化、可分析的结构化数据,从而支持空间关系查询、缓冲区分析、叠加分析等复杂运算。在工程实践中,GIS广泛应用于城市规划、环境监测、物流优化和商业选址等场景。本文聚焦于智慧城市项目中的设施选址问题,通过Python生态中的GeoPandas、Shapely等工具链,系统演示如何将原始地理空间数据转化

weixin_30800987的博客 377

099、多摄融合与变焦系统:广角到长焦的无缝切换算法

本文分享了多摄融合与变焦系统开发中的实战经验和关键挑战。作者通过一个旗舰机项目案例,揭示了广角到长焦切换时画面抖动问题的根源——融合算法误将视差当作运动补偿,并提出"视差冻结窗口"的解决方案。文章总结了三大多摄融合难点:物理视差处理、亮度差异补偿和切换时机把控,详细阐述了分层架构设计、融合权重计算等核心技术。同时强调了产线校准的重要性,并给出五项实用建议:允许边缘鬼影保留、参数场景化配置、加强产线检测、完善调试接口,以及合理运用AI技术。全文展现了多摄融合技术在时间、空间和感知维度上的复杂平衡艺术。

sundong_81的博客 48

数据科学实战:用Python开源工具解决加勒比海气候与灾害风险

数据科学通过从海量信息中提取洞察,为解决复杂现实问题提供决策支持。其核心原理在于运用统计学、机器学习与领域知识,将原始数据转化为可行动的智能。在工程实践中,Python生态的开源工具如pandas、scikit-learn和TensorFlow,极大地降低了技术门槛,使数据获取、清洗、建模到可视化的全链条成为可能。这种技术组合的价值在于能够处理多源异构数据,构建可解释、可复现的分析流程,尤其适用于需要融合地理空间与社会经济信息的场景。例如,在气候变化与灾害风险评估领域,通过整合卫星遥感、气象数据和人口经济指

weixin_34008805的博客 340

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python地球科学数据分析实战:从数据处理到可视化与空间统计

在科学计算与数据分析领域,Python凭借其丰富的生态系统已成为处理复杂数据的首选工具。其核心原理在于通过NumPy、Pandas等库提供高效的多维数组和表格操作能力,结合Matplotlib等可视化库实现数据洞察。这一技术组合在需要处理多源、多维、时空关联性强数据的领域,如地球科学,展现出巨大价值。它能将海量的卫星遥感、气候模型等网格与矢量数据,通过xarray、geopandas等专业库进行高效清洗、对齐与空间分析,并利用Cartopy、Holoviews创建静态或交互式地图。最终,这些方法被广泛应用于

weixin_34005042的博客 341

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

毕业设计实战:基于Python的城市租房信息数据分析与检测系统架构解析

毕业设计实战:基于Python的城市租房信息数据分析与检测系统架构解析摘要:面对毕业设计中常见的数据杂乱、爬虫反爬严苛、分析维度单一等痛点,本文详解如何构建一个基于Python的城市租房信息数据分析与检测系统。通过合理选型Scrapy+Requests组合应对动态反爬,利用Pandas与GeoPandas实现空间与价格多维分析,并集成异常房源检测逻辑。读者可掌握从数据采集、清洗、存储到可视化与规则引擎的完整链路,显著提升系统健壮性与学术价值。

2600_94960119的博客 301

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ArcGIS 10.8合法入门指南:学生版/开发者计划与QGIS替代方案

地理信息系统(GIS)是空间数据分析与可视化的核心技术,其基础原理涵盖坐标系管理、空间关系运算、缓冲区与叠加分析等关键能力。ArcGIS作为行业标杆平台,其10.8版本因兼容传统操作逻辑与初步云服务集成,成为高校教学与初学者实践的重要载体。然而,所谓‘永久免费版’实为高风险破解包,易引发系统崩溃、功能失效与数据丢失。真正可持续的路径在于理解Esri官方授权体系——ArcGIS for Student Use提供完整Advanced级桌面授权,Developer Program则支持永久免费开发与$50/月云

weixin_33947521的博客 431

GIS与交通融合实战:从空间数据到智能决策的完整项目指南

地理信息系统(GIS)的核心在于对空间数据进行采集、管理与分析,其原理是通过对点、线、面等地理对象的几何与拓扑关系建模,实现对现实世界的数字化映射。这一技术价值在于将静态的空间信息转化为可计算、可分析的结构化知识,从而支撑科学的决策。在工程实践中,GIS与交通工程的交叉融合,催生了网络分析、时空数据挖掘等关键技术,广泛应用于智慧城市、物流优化与自动驾驶等场景。本文聚焦于GIS开发与交通数据分析,通过一个完整的“交通事故热点分析”实战项目,系统演示了如何利用Geopandas、OSMnx等工具链,将空间统计理

weixin_30267785的博客 354
上一篇: 女学霸考692分想当“程序媛”,女生到底要不要学计算机?
下一篇: 用Python搞定豆瓣上征婚交友的小姐姐们~
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值