我编写了一个基本函数来递归地从ox.gdf_from_place
函数中查找shapely
多边形。基本上是调用ox.gdf_from_place
,直到返回一个多边形。问题是我的函数即使执行得很好也不会返回任何结果
有没有人对如何使这项工作成功有什么建议
import shapely
import osmnx as ox
result_num = 0
def recursive_find_poly(poi, result_num):
country = ox.gdf_from_place(poi, which_result=result_num)
if type(country.unary_union) != shapely.geometry.polygon.Polygon:
result_num += 1
recursive_find_poly(poi, result_num)
else:
return country
test = recursive_find_poly('Istanbul', result_num)
在
if
子句中忘记了一个return
语句:否则,匹配调用返回的值将丢失
据我所知,递归函数应该总是返回一些东西,或者根本不应该返回任何东西。所以我认为递归函数的问题是:当你在if块中时,它不返回任何东西,但是当它在else块中时,它确实返回一些东西。如果你想办法重写你的函数,使它总是返回一些东西,我想它会工作的
相关问题 更多 >
编程相关推荐