You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将GeoPandas中CRS对应的面积单位转换为平方米?

问题解答

你当前计算得到的面积数值单位是平方度,没有实际使用意义,原因是你使用的EPSG:4269属于地理坐标系,这类坐标系用经纬度标识位置,默认单位是度,因此.area属性返回的面积单位就是平方度,和官方文档描述的「面积单位和当前CRS单位一致」规则匹配。

要得到以平方米为单位的面积,你需要将矢量数据转换为单位为米的投影坐标系,针对你研究的苏必利尔湖所在的北美区域,推荐两类适配的投影:

  • 等面积投影:EPSG:5070(北美阿尔伯斯等面积投影),面积计算精度更高,线性单位为米
  • UTM投影:EPSG:26915(NAD83 / UTM zone 15N),适配苏必利尔湖所在的经度范围,线性单位为米

修改后的代码示例如下:

import geopandas as gpd

water = gpd.read_file("/Users/user/Downloads/tlgdb_2020_a_us_areawater.gdb")
lakeSup = water.loc[water['FULLNAME'].str.contains('Lk Superior', na=False)]
# 替换原有坐标系转换逻辑,转成单位为米的投影坐标系,这里以EPSG:5070为例
lakeSup = lakeSup.to_crs(epsg=5070)
# 此时计算得到的area字段单位就是平方米
lakeSup['area'] = lakeSup.area
print(lakeSup.head(10))

如果你的研究区域不在北美,只需要替换为适配目标区域、线性单位为米的投影坐标系即可,避免投影变形导致面积计算误差。

内容的提问来源于stack exchange,提问作者user12379114

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:00:00