Как загрузить изображения Sentinel из движка Google Earth, используя API Python в tfrecord

При попытке загрузить дозорное изображение для определенного места файл 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» я ожидаю, что файл будет загружен на мой диск.


person Mohit Anand    schedule 23.03.2019    source источник
comment
Можете ли вы предоставить пример файла изображения, который не может быть открыт?   -  person anki    schedule 26.03.2019


Ответы (1)


Я думаю, вам следует подумать о следующих вещах:

Формат файла

Если вы хотите открыть файл с помощью PIL или OpenCV, а не с помощью TensorFlow, лучше использовать GeoTIFF. Попробуйте использовать этот формат и посмотрите, улучшится ли ситуация.

Сохранение на диск

Обычно сохранение на диск — это поведение по умолчанию. Однако вы можете попробовать принудительно записать на свой диск:

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

Далее вы можете попробовать настроить папку, в которую должны отправляться изображения:

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

Кроме того, страница справки по экспорту данных и эта tutorial являются хорошей отправной точкой для дальнейших исследований.

person anki    schedule 26.03.2019
comment
GeoTIFF работает, но я не могу сохранить с помощью TFRecord, и да, я хочу использовать его с тензорным потоком. В документации Earth Engine указано, что мы можем сохранить его с помощью TFRecords. Заранее спасибо. - person Mohit Anand; 01.04.2019