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

使用 GeoDataFrames - 查找多边形区域

如何解决使用 GeoDataFrames - 查找多边形区域

我不完全确定这里有什么问题?我仍然是一个不熟悉 geo 工作的菜鸟。

代码如下:

geod = Geod(ellps='IAU76')
poly_wkt = gdf['polygon_wkt']
polygon_latlon = shapely.wkt.loads(poly_wkt)

这是结果:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-81-1768dce562b2> in <module>
      1 geod = Geod(ellps='IAU76')
      2 poly_wkt = gdf['polygon_wkt']
----> 3 polygon_latlon = shapely.wkt.loads(poly_wkt)

/opt/anaconda3/lib/python3.7/site-packages/shapely/wkt.py in loads(data)
      8 def loads(data):
      9     """Load a geometry from a WKT string."""
---> 10     return geos.WKTReader(geos.lgeos).read(data)
     11 
     12 def load(fp):

/opt/anaconda3/lib/python3.7/site-packages/shapely/geos.py in read(self,text)
    248         """Returns geometry from WKT"""
    249         if sys.version_info[0] >= 3:
--> 250             text = text.encode('ascii')
    251         geom = self._lgeos.GEOSWKTReader_read(self._reader,c_char_p(text))
    252         if not geom:

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

请注意,我只是在测试,所以 gdf 仅包含数据框中的一行。下面是 gdf['polygon_wkt']

'polyGON ((-79.4933048853656 43.7743030426707,-79.49308933771617 43.77435219959612,-79.49303123292202 43.77422072795962,-79.49324803281571 43.77417227872202,-79.4933048853656 43.7743030426707))'

我已经导入了 Geodshapelygeopandas 并且已经是最新版本,但不知道还能做什么。基本上,我的最终目标是找到该多边形所包围的区域。

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