计算带有Geopandas的多边形的正确面积

时间:2019-08-10 11:36:22

标签: python area geopandas

我最近尝试使用地理熊猫和随附的世界文件来计算国家/地区大小;而且我无法计算出所选国家/地区的正确尺寸。也许有人可以给我提示我做错了什么?

尝试了各种shapefile(以及geopandas随附的随附的world文件); epsg:4326中的所有afaik

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

那么肯尼亚(离赤道也很近)吗?投影不正确吗?

1 个答案:

答案 0 :(得分:1)

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