有一个使用 Shapely 函数 concave_hull 和 MultiPoint 的 udf:
def get_concavehull(Multi_Point: Iterator[pd.Series]) -> Iterator[pd.Series]:
print(type(Multi_Point))
return Multi_Point.apply(lambda x: concave_hull(MultiPoint(x), ratio = 1.0))
get_concavehull_udf = pandas_udf(get_concavehull, returnType=StringType())
如何让它与 Spark 数据框一起使用?已经针对 dataframe 的 pandas 版本对其进行了测试并且它可以工作,但是当我在 Spark 中应用它时它会抛出错误'TypeError:iteration over a 0-d array'。
在这里,我将底层函数应用于 Pandas 数据框。