地表覆盖类型增加四个计划信息到特征中,修改粗糙度产品掩膜

dev
tian jiax 2024-01-10 16:24:57 +08:00
parent 8b1a71ef36
commit 32267348fe
12 changed files with 80 additions and 61 deletions

7
.gitignore vendored
View File

@ -30,13 +30,8 @@
/vegetationPhenology/tool/ /vegetationPhenology/tool/
/vegetationPhenology/VegetationPhenology/ /vegetationPhenology/VegetationPhenology/
/backScattering/baseTool/ /backScattering/baseTool/
/landcover_c_sar/dist/
/leafAreaIndex/dist/
/soilSalinity/tool/
/landcover_c_sar/tool/
/atmosphericDelay-C-SAR/tool/ /atmosphericDelay-C-SAR/tool/
/deformation-C-SAR/tool/ /deformation-C-SAR/tool/
/dem-C-SAR/tool/ /dem-C-SAR/tool/
/soilMoistureTop/tool/ /soilMoistureTop/tool/
/backScattering/dist/

View File

@ -45,7 +45,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Cal</ParaSource> <ParaSource>Cal</ParaSource>
<ParaValue>E:\202306hb\sar_img\GF3B_SYC_QPSI_008316_E116.1_N43.3_20230622_L1A_AHV_L10000202892.tar.gz</ParaValue> <ParaValue>E:\VegetationPhenology-likun\lijiang\GF3B_KSC_QPSI_007906_E100.2_N27.0_20230525_L1A_AHV_L10000190531.tar.gz</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -60,7 +60,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>File</DataType> <DataType>File</DataType>
<ParaSource>Cal</ParaSource> <ParaSource>Cal</ParaSource>
<ParaValue>E:\202306hb\dem</ParaValue> <ParaValue>E:\VegetationPhenology-likun\lijiang\dem</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>True</EnMultipleChoice> <EnMultipleChoice>True</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -92,7 +92,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Cal</ParaSource> <ParaSource>Cal</ParaSource>
<ParaValue>D:\micro\WorkSpace\Ortho\Output\GF3B_SYC_QPSI_008316_E116.1_N43.3_20230622_L1A_AHV_L10000202892-ortho.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\Ortho\Output\GF3B_KSC_QPSI_007906_E100.2_N27.0_20230525_L1A_AHV_L10000190531-ortho.tar.gz</ParaValue>
<MaxValue>DEFAULT</MaxValue> <MaxValue>DEFAULT</MaxValue>
<MinValue>DEFAULT</MinValue> <MinValue>DEFAULT</MinValue>
<OptionValue>DEFAULT</OptionValue> <OptionValue>DEFAULT</OptionValue>

View File

@ -4,9 +4,10 @@ from tool.algorithm.image import ImageHandle
from tool.algorithm.algtools.PreProcess import PreProcess as pp from tool.algorithm.algtools.PreProcess import PreProcess as pp
import gc import gc
import os import os
import sys
from pathlib import Path from pathlib import Path
env_str = os.path.split(os.path.realpath(__file__))[0] env_str = os.path.dirname(os.path.abspath(sys.argv[0]))
os.environ['PROJ_LIB'] = env_str os.environ['PROJ_LIB'] = env_str
@ -60,11 +61,11 @@ def resampe_image(aux_dry_wet_unresame_path, mas_dry_wet_unresame_path, temp_dir
if __name__ == '__main__': if __name__ == '__main__':
mas_nc = r'F:\干涉大气延迟校正\大气延迟检验\大气延迟检验\ERA5_N25_N35_E115_E125_20220910_10.nc' mas_nc = r'D:\micro\WorkSpace\AtmosphericDelay\ERA5\ERA5_N42.0_N46.0_E114.0_E118.0_20230615_08.nc'
aux_nc = r'F:\干涉大气延迟校正\大气延迟检验\大气延迟检验\ERA5_N25_N35_E115_E125_20220922_10.nc' aux_nc = r'D:\micro\WorkSpace\AtmosphericDelay\ERA5\ERA5_N42.0_N46.0_E114.0_E118.0_20230910_08.nc'
dem_file = r'' dem_file = r'D:\micro\WorkSpace\AtmosphericDelay\ERA5\cut_dem.tif'
temp_dir = 'F://干涉大气延迟校正//大气延迟检验//大气延迟检验//nc_file//test//' temp_dir = r'D:\micro\WorkSpace\AtmosphericDelay\test_ztd\test'
out_path = 'F://干涉大气延迟校正//大气延迟检验//大气延迟检验//nc_file//' out_path = r'D:\micro\WorkSpace\AtmosphericDelay\test_ztd' + '\\'
# 读取气象数据 # 读取气象数据
ncHandle = NcHandle() ncHandle = NcHandle()
@ -76,23 +77,23 @@ if __name__ == '__main__':
base_file = out_path + "MasterNC_geo_h.tif" # 用来获取裁剪后气象数据的经纬度、分辨率等信息 base_file = out_path + "MasterNC_geo_h.tif" # 用来获取裁剪后气象数据的经纬度、分辨率等信息
# #
# # 1.2 计算主、辅影像垂直分层湿干延迟值,并保存干湿延迟图 # 1.2 计算主、辅影像垂直分层湿干延迟值,并保存干湿延迟图
# m_cdstack_dry_wet = Ady().aps_wrf_sar(base_file, m_temp, m_re_hum, m_geo, dem_file) # 主影像垂直分层干湿延迟值数组 m_cdstack_dry_wet = Ady().aps_wrf_sar(base_file, m_temp, m_re_hum, m_geo, dem_file) # 主影像垂直分层干湿延迟值数组
# m_dry_wet_path = out_path + "m_dry_wet.tif" # 主影像干湿延迟图保存路径 m_dry_wet_path = out_path + "m_dry_wet.tif" # 主影像干湿延迟图保存路径
# Ady().write_dry_wet_tif(dem_file, base_file, m_cdstack_dry_wet, m_dry_wet_path) Ady().write_dry_wet_tif(dem_file, base_file, m_cdstack_dry_wet, m_dry_wet_path)
#
# a_cdstack_dry_wet = Ady().aps_wrf_sar(base_file, a_temp, a_re_hum, a_geo, dem_file) # 辅影像垂直分层干湿延迟值数组 a_cdstack_dry_wet = Ady().aps_wrf_sar(base_file, a_temp, a_re_hum, a_geo, dem_file) # 辅影像垂直分层干湿延迟值数组
# a_dry_wet_path = out_path + "a_dry_wet.tif" # 辅影像干湿延迟图保存路径 a_dry_wet_path = out_path + "a_dry_wet.tif" # 辅影像干湿延迟图保存路径
# Ady().write_dry_wet_tif(dem_file, base_file, a_cdstack_dry_wet, a_dry_wet_path) Ady().write_dry_wet_tif(dem_file, base_file, a_cdstack_dry_wet, a_dry_wet_path)
# #
# #
# aux_dry_wet_resamed_path, mas_dry_wet_resamed_path = resampe_image(a_dry_wet_path, m_dry_wet_path, temp_dir) # 参照气象数据分辨率进行重采样 # aux_dry_wet_resamed_path, mas_dry_wet_resamed_path = resampe_image(a_dry_wet_path, m_dry_wet_path, temp_dir) # 参照气象数据分辨率进行重采样
#
# gc.collect() # 回收内存 gc.collect() # 回收内存
# # 1.4 输出主辅影像ztd数组 # 1.4 输出主辅影像ztd数组
# a_ztd = Ady().calc_ztd(a_dry_wet_path, dem_file) # 辅影像的ztd数组 a_ztd = Ady().calc_ztd(a_dry_wet_path, dem_file) # 辅影像的ztd数组
# m_ztd = Ady().calc_ztd(m_dry_wet_path, dem_file) # 主影像的ztd数组 m_ztd = Ady().calc_ztd(m_dry_wet_path, dem_file) # 主影像的ztd数组
# out_aux_ztd_path = out_path + "aux_ztd.tif" out_aux_ztd_path = out_path + "aux_ztd.tif"
# out_mas_ztd_path = out_path + "mas_ztd.tif" out_mas_ztd_path = out_path + "mas_ztd.tif"
# Ady().write_ztd_tif(dem_file, base_file, a_ztd, out_aux_ztd_path) # ztd数组->ztd影像 Ady().write_ztd_tif(dem_file, base_file, a_ztd, out_aux_ztd_path) # ztd数组->ztd影像
# Ady().write_ztd_tif(dem_file, base_file, m_ztd, out_mas_ztd_path) # ztd数组->ztd影像 Ady().write_ztd_tif(dem_file, base_file, m_ztd, out_mas_ztd_path) # ztd数组->ztd影像

View File

@ -87,7 +87,7 @@
<ParaType>Value</ParaType> <ParaType>Value</ParaType>
<DataType>string</DataType> <DataType>string</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>0,1,2,7,8,9,10</ParaValue> <ParaValue>0,1,2,7,8,9,10,11,12,13</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>True</EnMultipleChoice> <EnMultipleChoice>True</EnMultipleChoice>
<Control>UploadInput</Control> <Control>UploadInput</Control>
@ -135,7 +135,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>D:\micro\WorkSpace\LandCover\Output\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho-LANDClASS.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\LandCover\Output\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho-LANDCLASS.tar.gz</ParaValue>
</Parameter> </Parameter>
</Outputs> </Outputs>
</AlgCompt> </AlgCompt>

View File

@ -122,10 +122,15 @@ class LandCoverMeasCsv:
# raise Exception('there are empty data!', train_data) # raise Exception('there are empty data!', train_data)
if len(train_data_list) <= 1: if len(train_data_list) <= 1:
raise Exception('there is only one label type!', train_data_list) raise Exception('there is only one label type!', train_data_list)
num_list = []
for train_data in train_data_list:
if not len(train_data[3]) == 0:
num_list.append(len(train_data[3]))
max_num = np.min(num_list)
for train_data in train_data_list: for train_data in train_data_list:
logger.info(str(train_data[0]) + "," + str(train_data[2]) +"," + "num:" + str(len(train_data[3]))) logger.info(str(train_data[0]) + "," + str(train_data[2]) +"," + "num:" + str(len(train_data[3])))
max_num = self.__max_tran__num_per_class # max_num = self.__max_tran__num_per_class
logger.info("max number =" + str(max_num) + ", random select" + str(max_num) + " point as train data!") logger.info("max number =" + str(max_num) + ", random select" + str(max_num) + " point as train data!")
if (len(train_data[3]) > max_num): if (len(train_data[3]) > max_num):
train_data[3] = random.sample(train_data[3], max_num) train_data[3] = random.sample(train_data[3], max_num)

View File

@ -116,7 +116,7 @@ class LandCoverMain:
checkFlag, self.__parameters_dic = self.__check_handler.check_input_paras(self.__input_paras) checkFlag, self.__parameters_dic = self.__check_handler.check_input_paras(self.__input_paras)
self.__workspace_path = self.__alg_xml_handler.get_workspace_path() self.__workspace_path = self.__alg_xml_handler.get_workspace_path()
self.__create_work_space() self.__create_work_space()
self.__processing_paras = InitPara.init_processing_paras(self.__input_paras) self.__processing_paras = InitPara.init_processing_paras(self.__input_paras, self.__workspace_preprocessed_path)
self.__processing_paras.update(self.get_tar_gz_inf(self.__processing_paras["sar_path0"])) self.__processing_paras.update(self.get_tar_gz_inf(self.__processing_paras["sar_path0"]))
SrcImageName = os.path.split(self.__input_paras["AHV"]['ParaValue'])[1].split('.tar.gz')[0] SrcImageName = os.path.split(self.__input_paras["AHV"]['ParaValue'])[1].split('.tar.gz')[0]
result_name = SrcImageName + tar + ".tar.gz" result_name = SrcImageName + tar + ".tar.gz"
@ -498,6 +498,21 @@ class LandCoverMain:
out_path = os.path.join(dir, name) out_path = os.path.join(dir, name)
self.calInterpolation_bil_Wgs84_rc_sar_sigma(self.__processing_paras['paraMeter'], self.calInterpolation_bil_Wgs84_rc_sar_sigma(self.__processing_paras['paraMeter'],
self.__preprocessed_paras['sim_ori'], file, out_path) self.__preprocessed_paras['sim_ori'], file, out_path)
calOutDir = os.path.join(self.__workspace_processing_path, 'cal\\') # 添加四极化后向散射系数到特征图中
if not os.path.exists(calOutDir):
os.makedirs(calOutDir)
para_names_l1a = ["HH", "VV", "HV", "VH"]
for key in para_names_l1a:
name = key + '_geo.tif'
out_path = os.path.join(dir, name)
calOut_path = os.path.join(calOutDir, key + '_cal.tif')
AHVToPolsarpro.sar_backscattering_sigma(self.__preprocessed_paras[key],
self.__processing_paras['Origin_META'], calOut_path)
self.calInterpolation_bil_Wgs84_rc_sar_sigma(self.__processing_paras['paraMeter'],
self.__preprocessed_paras['sim_ori'],
calOut_path, out_path)
return dir return dir
def process_handle(self, start): def process_handle(self, start):
@ -549,7 +564,7 @@ class LandCoverMain:
logger.info('progress bar: 50%') logger.info('progress bar: 50%')
# 生成最优特征子集训练集 # 生成最优特征子集训练集
X_train, Y_train, optimal_feature = ml.gene_optimal_train_set(train_data_dic, feature_geo, 0.07, 0.85) X_train, Y_train, optimal_feature = ml.gene_optimal_train_set(train_data_dic, feature_geo, 0.07, 0.85) # 0.07, 0.85
# 训练模型 # 训练模型
cost = self.__processing_paras["Cost"] cost = self.__processing_paras["Cost"]

View File

@ -138,7 +138,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>D:\micro\WorkSpace\SoilSalinity\Output\GF3B_SYC_QPSI_008316_E116.2_N43.7_20230622_L1A_AHV_L10000202891-ortho-salinty.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\SoilSalinity\Output\GF3B_SYC_QPSI_008316_E116.2_N43.7_20230622_L1A_AHV_L10000202891-ortho-SSAA.tar.gz</ParaValue>
<MaxValue>DEFAULT</MaxValue> <MaxValue>DEFAULT</MaxValue>
<MinValue>DEFAULT</MinValue> <MinValue>DEFAULT</MinValue>
<OptionValue>DEFAULT</OptionValue> <OptionValue>DEFAULT</OptionValue>

View File

@ -38,7 +38,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\202306pj\GF3B_MYC_QPSI_008114_E121.6_N40.9_20230608_L1A_AHV_L10000196489-ortho.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\Ortho\Output\GF3B_SYC_QPSI_008316_E116.1_N43.3_20230622_L1A_AHV_L10000202892-ortho.tar.gz</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -68,7 +68,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tif</DataType> <DataType>tif</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\202306pj\n51_40_2020lc030.tif</ParaValue> <ParaValue>D:\Dict\50T_20220101-20230101.tif</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -83,7 +83,7 @@
<ParaType>Value</ParaType> <ParaType>Value</ParaType>
<DataType>string</DataType> <DataType>string</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>10;20;30;40;50;70;71;72;83;74;90</ParaValue> <ParaValue>empty</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>UploadInput</Control> <Control>UploadInput</Control>
@ -98,7 +98,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tif</DataType> <DataType>tif</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\202306pj\L9NDVI_GF3B_175394.tif</ParaValue> <ParaValue>F:\202306hb\NDVI\S2_202306_NDVI.tif</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -130,7 +130,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>D:\micro\WorkSpace\SurfaceRoughness\Output\GF3B_MYC_QPSI_008114_E121.6_N40.9_20230608_L1A_AHV_L10000196489-ortho-SR.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\SurfaceRoughness\Output\GF3B_SYC_QPSI_008316_E116.1_N43.3_20230622_L1A_AHV_L10000202892-ortho-SR.tar.gz</ParaValue>
</Parameter> </Parameter>
</Outputs> </Outputs>
</AlgCompt> </AlgCompt>

View File

@ -328,7 +328,7 @@ class MoistureMain:
product_path = os.path.join(self.__product_dic, SrcImageName) product_path = os.path.join(self.__product_dic, SrcImageName)
# 获取影像roi区域 # 获取影像roi区域
roi.cal_roi(product_path, product_geo_path, bare_land_mask_path, background_value=0) roi.cal_roi(product_path, product_geo_path, bare_land_mask_path, background_value=-9999)
# 生成快视图 # 生成快视图
self.imageHandler.write_quick_view(product_path) self.imageHandler.write_quick_view(product_path)

View File

@ -228,11 +228,11 @@ class ROIAlg:
logger.info("cal_roi success, path: %s", out_tif_path) logger.info("cal_roi success, path: %s", out_tif_path)
return True return True
# if __name__ == '__main__': if __name__ == '__main__':
# dir = r'G:\MicroWorkspace\C-SAR\SoilMoisture\Temporary\processing/' dir = r'G:\MicroWorkspace\C-SAR\SoilMoisture\Temporary\processing/'
# out_tif_path = dir + 'soil_moisture_roi.tif' out_tif_path = r'D:\micro\WorkSpace\SurfaceRoughness\Temporary\SurfaceRoughnessProduct_test.tif'
# in_tif_path = dir + 'soil_moisture.tif' in_tif_path = r'D:\micro\WorkSpace\SurfaceRoughness\Temporary\SurfaceRoughnessProduct_geo.tif'
# mask_path = dir + 'bare_land_mask.tif' mask_path = r'D:\micro\WorkSpace\SurfaceRoughness\Temporary\processing\roi\ndvi_mask.tif'
# background_value = np.nan background_value = 0
# ROIAlg.cal_roi(out_tif_path, in_tif_path, mask_path, background_value) ROIAlg.cal_roi(out_tif_path, in_tif_path, mask_path, background_value)
# pass pass

View File

@ -37,7 +37,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\VegetationPhenology-likun\rusuoces\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-ortho.tar.gz</ParaValue> <ParaValue>E:\VegetationPhenology-likun\lijiang\GF3B_KSC_QPSI_007906_E100.2_N27.0_20230525_L1A_AHV_L10000190531-ortho.tar.gz</ParaValue>
<MaxValue>DEFAULT</MaxValue> <MaxValue>DEFAULT</MaxValue>
<MinValue>DEFAULT</MinValue> <MinValue>DEFAULT</MinValue>
<OptionValue>DEFAULT</OptionValue> <OptionValue>DEFAULT</OptionValue>
@ -51,7 +51,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>csv</DataType> <DataType>csv</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\VegetationPhenology-likun\rusuoces\VegetationPhe_samples.csv</ParaValue> <ParaValue>E:\VegetationPhenology-likun\lijiang\VegetationPhe_samples.csv</ParaValue>
<MaxValue>DEFAULT</MaxValue> <MaxValue>DEFAULT</MaxValue>
<MinValue>DEFAULT</MinValue> <MinValue>DEFAULT</MinValue>
<OptionValue>DEFAULT</OptionValue> <OptionValue>DEFAULT</OptionValue>
@ -65,7 +65,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tif</DataType> <DataType>tif</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>E:\VegetationPhenology-likun\rusuoces\N47_25_2020LC030\n47_25_2020lc030.tif</ParaValue> <ParaValue>E:\VegetationPhenology-likun\lijiang\landcover.tif</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>File</Control> <Control>File</Control>
@ -80,7 +80,7 @@
<ParaType>Value</ParaType> <ParaType>Value</ParaType>
<DataType>string</DataType> <DataType>string</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>10</ParaValue> <ParaValue>3</ParaValue>
<EnModification>True</EnModification> <EnModification>True</EnModification>
<EnMultipleChoice>False</EnMultipleChoice> <EnMultipleChoice>False</EnMultipleChoice>
<Control>UploadInput</Control> <Control>UploadInput</Control>
@ -130,7 +130,7 @@
<ParaType>File</ParaType> <ParaType>File</ParaType>
<DataType>tar.gz</DataType> <DataType>tar.gz</DataType>
<ParaSource>Man</ParaSource> <ParaSource>Man</ParaSource>
<ParaValue>D:\micro\WorkSpace\VegetationPhenology\Output\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-ortho-VP.tar.gz</ParaValue> <ParaValue>D:\micro\WorkSpace\VegetationPhenology\Output\GF3B_KSC_QPSI_007906_E100.2_N27.0_20230525_L1A_AHV_L10000190531-ortho-VP.tar.gz</ParaValue>
<MaxValue>DEFAULT</MaxValue> <MaxValue>DEFAULT</MaxValue>
<MinValue>DEFAULT</MinValue> <MinValue>DEFAULT</MinValue>
<OptionValue>DEFAULT</OptionValue> <OptionValue>DEFAULT</OptionValue>

View File

@ -320,8 +320,12 @@ class PhenoloyMeasCsv_geo:
if train_data[3] == [] : if train_data[3] == [] :
raise Exception('there are empty data!', train_data) raise Exception('there are empty data!', train_data)
if len(train_data_list) <= 1:
raise Exception('there is only one label type!', train_data_list)
num_list = [] num_list = []
for train_data in train_data_list: for train_data in train_data_list:
if not len(train_data[3]) == 0:
num_list.append(len(train_data[3])) num_list.append(len(train_data[3]))
max_num = np.min(num_list) max_num = np.min(num_list)
for train_data in train_data_list: for train_data in train_data_list:
@ -331,8 +335,7 @@ class PhenoloyMeasCsv_geo:
if(len(train_data[3]) > max_num): if(len(train_data[3]) > max_num):
train_data[3] = random.sample(train_data[3], max_num) train_data[3] = random.sample(train_data[3], max_num)
if len(train_data_list) <= 1:
raise Exception('there is only one label type!', train_data_list)
return train_data_list return train_data_list
@staticmethod @staticmethod