使用 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 (将#修改为@)