繁体   English   中英

使用 geopandas 计算多边形的正确面积

[英]Calculating correct area for polygons with geopandas

我最近尝试使用 geopandas 和包含的世界文件计算国家大小; 我无法计算所选国家/地区的正确大小。 也许有人可以给我一个提示,我在哪里犯了错误?

尝试了各种形状文件(以及 geopandas 附带的世界文件); epsg 中的所有 afaik:4326

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
cnames = ['Austria','Sweden','Kenya']
epsgs = ['3857','3395']

for c in cnames:
    carea = world[world['name'] == c]
    for e in epsgs:
        carea = carea.to_crs(epsg=e)
        area = int(pd.to_numeric(carea['geometry'].area)/10**6)
        print(area)

预期结果是:

  • 奥地利:83,879 平方公里
  • 瑞典:450,295 平方公里
  • 肯尼亚:580,367 平方公里

我得到的实际结果:

  • 奥地利:187163
  • 奥地利:186592
  • 瑞典:2190160
  • 瑞典:2187138
  • 肯尼亚:595731
  • 肯尼亚:591749

那么肯尼亚非常接近(也靠近赤道)? 重投影不对吗?

要获得正确的面积,您必须使用“等面积”投影。 最适合您的代码的是epsg 6933 它是圆柱等积投影。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM