微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

格陵兰岛生产多边形的 Cartopy shapefile

如何解决格陵兰岛生产多边形的 Cartopy shapefile

我几个月来一直在使用 cartopy shapefile 阅读器,使用以下代码在格陵兰上创建蒙版

from cartopy.mpl.patch import geos_to_path
from shapely.geometry import Point
import cartopy.io.shapereader as shpreader


shpfilename = shpreader.natural_earth(resolution='110m',category='cultural',name='admin_0_countries')
reader = shpreader.Reader(shpfilename)
countries = reader.records()
country = next(countries)


gl_multipoly,= [country.geometry for country in countries
                 if country.attributes['NAME'] == 'Greenland']

main_gl_geom = sorted(gl_multipoly.geoms,key=lambda geom: geom.area)

但是现在当我来到最后一行“main_gl_geom”时,出现以下错误

AttributeError: 'polygon' object has no attribute 'geoms'

这是我以前从未得到过的,也不会出现在加拿大等其他国家/地区,但是在这种情况下,它创建了一个 Multiploygon 而格陵兰岛只是一个“多边形”,因此没有属性“geoms” ,所以我想知道我是否还需要做其他事情才能使其再次工作,或者为什么这可能会突然停止工作

解决方法

110m 分辨率下,格陵兰岛不是 MultiPolygon。您可以通过运行来检查:

gl_multipoly.geometryType()

结果是“多边形”。

您可以使用 resolution='50m' 重试。这次你会得到'MultiPolygon'。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。