通过azure databricks上的pyspark UDF使用多边形分割图像
我有一个带有属性的数据框,该属性包含通过WKT定义的几何体。我只有一张照片。我想将图像分割成由这些多边形定义的边界 我计划使用rasterio并通过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
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