gpt4 book ai didi

python-3.x - 如何使用 tfrecord 中的 python API 从 Google Earth 引擎下载哨兵图像

转载 作者:行者123 更新时间:2023-12-03 00:00:44 26 4
gpt4 key购买 nike

尝试下载特定位置的哨兵图像时,默认情况下会在驱动器中生成 tif 文件,但 openCV 或 PIL.Image() 无法读取该文件。下面是相同的代码。如果我使用文件格式为 tfrecord.驱动器中没有下载任何图像。

starting_time = '2018-12-15' 
delta = 15
L = -96.98
B = 28.78
R = -97.02
T = 28.74

cordinates = [L,B,R,T]
my_scale = 30
fname = 'sinton_texas_30'


llx = cordinates[0]
lly = cordinates[1]
urx = cordinates[2]
ury = cordinates[3]

geometry = [[llx,lly], [llx,ury], [urx,ury], [urx,lly]]

tstart = datetime.datetime.strptime(starting_time, '%Y-%m-%d') tend =
tstart+datetime.timedelta(days=delta)
collSent = ee.ImageCollection('COPERNICUS/S2').filterDate(str(tstart).split('')[0], str(tend).split(' ')[0]).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)).map(mask2clouds)


medianSent = ee.Image(collSent.reduce(ee.Reducer.median())) cropLand = ee.ImageCollection('USDA/NASS/CDL').filterDate('2017-01-01','2017-12-31').first()
task_config = {
'scale': my_scale,
'region': geometry,
'fileFormat':'TFRecord'
}

f1 = medianSent.select(['B1_median','B2_median','B3_median'])


taskSent = ee.batch.Export.image(f1,fname+"_Sent",task_config)
taskSent.start()

我希望输出在 python 中是可读的,这样我就可以转换成 numpy。如果文件格式为“tfrecord”,我希望该文件下载到我的驱动器中。

最佳答案

我认为你应该考虑以下事情:

文件格式

如果您想使用 PIL 或 OpenCV 打开文件,而不是使用 TensorFlow 打开文件,您宁愿使用 GeoTIFF。尝试使用这种格式,看看情况是否有所改善。

保存到驱动器

通常情况下,保存到云端硬盘是默认行为。但是,您可以尝试强制写入驱动器:

ee.batch.Export.image.toDrive(image=f1, ...)

您可以进一步尝试设置一个文件夹,将图像发送到:

ee.batch.Export.image.toDrive(image=f1, folder='foo', ...)

此外,Export data help page还有这个tutorial是进一步研究的良好起点。

关于python-3.x - 如何使用 tfrecord 中的 python API 从 Google Earth 引擎下载哨兵图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com