如何解决格陵兰岛生产多边形的 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 举报,一经查实,本站将立刻删除。