通过azure databricks上的pyspark UDF使用多边形分割图像

通过azure databricks上的pyspark UDF使用多边形分割图像,pyspark,azure-databricks,rasterio,Pyspark,Azure Databricks,Rasterio,我有一个带有属性的数据框,该属性包含通过WKT定义的几何体。我只有一张照片。我想将图像分割成由这些多边形定义的边界 我计划使用rasterio并通过udf分发图像(阅读后)。但是,光栅内部内存似乎无法进行酸洗和分发。下面是一段代码片段,描述了我试图实现的目标 img = rasterio.open('/dbfs/mnt/mymount/USDA_cropscape_exports/CDL_Iowa_2020.tif') def cliplu ( wkt_in ) : poly = shwk

我有一个带有属性的数据框,该属性包含通过WKT定义的几何体。我只有一张照片。我想将图像分割成由这些多边形定义的边界

我计划使用rasterio并通过udf分发图像(阅读后)。但是,光栅内部内存似乎无法进行酸洗和分发。下面是一段代码片段,描述了我试图实现的目标

img = rasterio.open('/dbfs/mnt/mymount/USDA_cropscape_exports/CDL_Iowa_2020.tif')

def cliplu ( wkt_in ) :
  poly = shwkt.loads( wkt_in )
  sub_image_nd = rasterio.mask.mask( img , [poly] , crop=True )[0].read(1)
  return sub_image_nd  

clip_landuseimg_udf = pyspkF.udf( lambda x : cliplu(x) , StringType() )

section_boundaries_df = section_boundaries_df.withColumn( 'clipped_img' , clip_landuseimg_udf( 'bbox_wkt' ) )
是否有任何方法可以使用与Azure上的DataRicks兼容的库来分发分段

PS:由于与Azure上的databricks不兼容,我无法安装rasterframes