使用python rasterio和pyspark进行tif图像处理

am46iovg  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(220)

我使用python rasterio处理tif图像,为了提高速度,我还使用spark,下面给出了我的示例代码

import rasterio
from pyspark.sql import SparkSession

def customFunction1(row, dem):
  #print(row)
  x = row.split("|")
  latitude = float(x[2])
  longitude = float(x[3])
  row, col = dem.index(longitude, latitude)
  dem_data = dem.read(1)
  return dem_data[row,col]

spark = SparkSession \
.builder \
.appName("Python Spark Rasterio") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()

rddFromFile = spark.sparkContext.textFile("file.csv")
with rasterio.open('1.tif') as src:
  sample2 = rddFromFile.map(lambda row: customFunction1(row, src))
  sample2.saveAsTextFile("new.csv")

当我运行上述代码时,出现错误“无法序列化对象:typeerror:self.\u无法将hds转换为python对象进行pickle”
rasterio似乎不支持使用spark进行并行处理。因为我需要处理大量的数据,所以有没有其他方法可以做到这一点。任何我可以用来处理数百万条记录的其他库的建议。谢谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题