pyspark - 通过 pyspark udfs 在 azure databricks 上使用多边形切割图像
问题描述
我有一个带有属性的数据框,其中包含通过 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 上的数据块兼容的库来分发分段?
PS:由于与 Azure 上的数据块不兼容,我无法安装 rasterframes。
解决方案
推荐阅读
- javascript - 悬停在标记上时不要更改鼠标图标
- python - 如何在 Python 中使用 matplotlib 优雅地绘制大量子图?
- mongodb - 如何重新组合展开的文档?
- python - 如何在熊猫数据框列中同质化日期类型?
- c# - 将变量从视图传递到控制器
- c# - MVC .net 核心:Validator.TryValidateObject 不验证属性,在伙伴类中定义
- python - Django 中的更新表单必须更新对象的所有字段吗?
- python - 使用python请求登录github
- android - 二进制 XML 文件第 24 行:AdapterView 不支持 addView(View, LayoutParams)
- python - 我需要让用户输入报价。通过空格将引用拆分为单个单词。在新行上显示每个单词