40
40
import fiona
41
41
from pycold .common import DatasetInfo
42
42
from pycold .utils import class_from_dict
43
- from pathlib import Path
43
+
44
44
45
45
# define constant here
46
46
QA_CLEAR = 0
@@ -220,12 +220,12 @@ def single_image_stacking_hls(
220
220
:return:
221
221
"""
222
222
try :
223
- QA_band = gdal_array .LoadFile (join (folder , "{}.Fmask.tif" .format (folder . split ( '/' )[ - 1 ] )))
223
+ QA_band = gdal_array .LoadFile (join (join ( source_dir , folder ) , "{}.Fmask.tif" .format (folder )))
224
224
except ValueError as e :
225
225
# logger.error('Cannot open QA band for {}: {}'.format(folder, e))
226
- logger .error ("Cannot open QA band for {}: {}" .format (folder . split ( '/' )[ - 1 ] , e ))
226
+ logger .error ("Cannot open QA band for {}: {}" .format (folder , e ))
227
227
return False
228
-
228
+
229
229
# convertQA = np.vectorize(qabitval)
230
230
QA_band_unpacked = qabitval_array_HLS (QA_band ).astype (np .short )
231
231
if clear_threshold > 0 :
@@ -236,7 +236,7 @@ def single_image_stacking_hls(
236
236
clear_ratio = 1
237
237
238
238
if clear_ratio > clear_threshold :
239
- [collection , sensor , tile_id , imagetime , version1 , version2 ] = folder .split ( '/' )[ - 1 ]. rsplit ("." )
239
+ [collection , sensor , tile_id , imagetime , version1 , version2 ] = folder .rsplit ("." )
240
240
year = imagetime [0 :4 ]
241
241
doy = imagetime [4 :7 ]
242
242
file_name = sensor + tile_id + year + doy + collection + version1
@@ -250,54 +250,54 @@ def single_image_stacking_hls(
250
250
if sensor == "L30" :
251
251
try :
252
252
B1 = gdal_array .LoadFile (
253
- join (folder , "{}.B02.tif" .format (folder . split ( '/' )[ - 1 ] ))
253
+ join (join ( source_dir , folder ) , "{}.B02.tif" .format (folder ))
254
254
)
255
255
B2 = gdal_array .LoadFile (
256
- join (folder , "{}.B03.tif" .format (folder . split ( '/' )[ - 1 ] ))
256
+ join (join ( source_dir , folder ) , "{}.B03.tif" .format (folder ))
257
257
)
258
258
B3 = gdal_array .LoadFile (
259
- join (folder , "{}.B04.tif" .format (folder . split ( '/' )[ - 1 ] ))
259
+ join (join ( source_dir , folder ) , "{}.B04.tif" .format (folder ))
260
260
)
261
261
B4 = gdal_array .LoadFile (
262
- join (folder , "{}.B05.tif" .format (folder . split ( '/' )[ - 1 ] ))
262
+ join (join ( source_dir , folder ) , "{}.B05.tif" .format (folder ))
263
263
)
264
264
B5 = gdal_array .LoadFile (
265
- join (folder , "{}.B06.tif" .format (folder . split ( '/' )[ - 1 ] ))
265
+ join (join ( source_dir , folder ) , "{}.B06.tif" .format (folder ))
266
266
)
267
267
B6 = gdal_array .LoadFile (
268
- join (folder , "{}.B07.tif" .format (folder . split ( '/' )[ - 1 ] ))
268
+ join (join ( source_dir , folder ) , "{}.B07.tif" .format (folder ))
269
269
)
270
270
B7 = np .full (B6 .shape , 0 ) # assign zero
271
271
272
272
except Exception as e :
273
273
# logger.error('Cannot open spectral bands for {}: {}'.format(folder, e))
274
- logger .error ("Cannot open Landsat bands for {}: {}" .format (folder . split ( '/' )[ - 1 ] , e ))
274
+ logger .error ("Cannot open Landsat bands for {}: {}" .format (folder , e ))
275
275
return False
276
276
elif sensor == "S30" :
277
277
try :
278
278
B1 = gdal_array .LoadFile (
279
- join (folder , "{}.B02.tif" .format (folder . split ( '/' )[ - 1 ] ))
279
+ join (join ( source_dir , folder ) , "{}.B02.tif" .format (folder ))
280
280
)
281
281
B2 = gdal_array .LoadFile (
282
- join (folder , "{}.B03.tif" .format (folder . split ( '/' )[ - 1 ] ))
282
+ join (join ( source_dir , folder ) , "{}.B03.tif" .format (folder ))
283
283
)
284
284
B3 = gdal_array .LoadFile (
285
- join (folder , "{}.B04.tif" .format (folder . split ( '/' )[ - 1 ] ))
285
+ join (join ( source_dir , folder ) , "{}.B04.tif" .format (folder ))
286
286
)
287
287
B4 = gdal_array .LoadFile (
288
- join (folder , "{}.B8A.tif" .format (folder . split ( '/' )[ - 1 ] ))
288
+ join (join ( source_dir , folder ) , "{}.B8A.tif" .format (folder ))
289
289
)
290
290
B5 = gdal_array .LoadFile (
291
- join (folder , "{}.B11.tif" .format (folder . split ( '/' )[ - 1 ] ))
291
+ join (join ( source_dir , folder ) , "{}.B11.tif" .format (folder ))
292
292
)
293
293
B6 = gdal_array .LoadFile (
294
- join (folder , "{}.B12.tif" .format (folder . split ( '/' )[ - 1 ] ))
294
+ join (join ( source_dir , folder ) , "{}.B12.tif" .format (folder ))
295
295
)
296
296
B7 = np .full (B6 .shape , 0 )
297
297
298
298
except Exception as e :
299
299
# logger.error('Cannot open spectral bands for {}: {}'.format(folder, e))
300
- logger .error ("Cannot open Landsat bands for {}: {}" .format (folder . split ( '/' )[ - 1 ] , e ))
300
+ logger .error ("Cannot open Landsat bands for {}: {}" .format (folder , e ))
301
301
return False
302
302
303
303
if (
@@ -1840,8 +1840,6 @@ def main(
1840
1840
]
1841
1841
elif collection == "HLS" :
1842
1842
folder_list = [f for f in listdir (source_dir ) if f .startswith ("HLS" )]
1843
- if folder_list == []:
1844
- folder_list = [folder for folder , dir , file in os .walk (source_dir ) if Path (folder ).name .startswith ('HLS.' )]
1845
1843
elif collection == "HLS14" :
1846
1844
folder_list = [y for x in os .walk (source_dir ) for y in glob (os .path .join (x [0 ], "*.hdf" ))]
1847
1845
@@ -1866,16 +1864,18 @@ def main(
1866
1864
"AutoPrepareDataARD starts: {}" .format (datetime .now (tz ).strftime ("%Y-%m-%d %H:%M:%S" ))
1867
1865
)
1868
1866
1869
- os .makedirs (out_dir , exist_ok = True )
1867
+ if not os .path .exists (out_dir ):
1868
+ os .mkdir (out_dir )
1870
1869
1871
1870
if is_partition is True :
1872
1871
for i in range (dataset_info .n_block_y ):
1873
1872
for j in range (dataset_info .n_block_x ):
1874
1873
block_folder = "block_x{}_y{}" .format (j + 1 , i + 1 )
1875
1874
if not os .path .exists (join (out_dir , block_folder )):
1876
- os .makedirs (join (out_dir , block_folder ))
1875
+ os .mkdir (join (out_dir , block_folder ))
1877
1876
1878
- os .makedirs (tmp_path , exist_ok = True )
1877
+ if not os .path .exists (tmp_path ):
1878
+ os .mkdir (tmp_path )
1879
1879
1880
1880
if hpc is True :
1881
1881
if collection == "ARD" or collection == "ARD-C2" :
@@ -1937,8 +1937,8 @@ def main(
1937
1937
]
1938
1938
elif collection == "HLS" :
1939
1939
ordinal_dates = [
1940
- pd .Timestamp .toordinal (dt .datetime (int (folder . split ( '/' )[ - 1 ] [15 :19 ]), 1 , 1 ))
1941
- + int (folder . split ( '/' )[ - 1 ] [19 :22 ])
1940
+ pd .Timestamp .toordinal (dt .datetime (int (folder [15 :19 ]), 1 , 1 ))
1941
+ + int (folder [19 :22 ])
1942
1942
- 1
1943
1943
for folder in folder_list
1944
1944
]
0 commit comments