diff --git a/Ortho/OrthoMain.py b/Ortho/OrthoMain.py
index e69ccf13..8b07528a 100644
--- a/Ortho/OrthoMain.py
+++ b/Ortho/OrthoMain.py
@@ -538,6 +538,7 @@ class OrthoMain:
# 对映射表进行校正
sim_ori_tiff = out_dir_path + "\\" + "RD_sim_ori.tif"
out_sim_ori = out_dir_path + "\\" + "sim_ori-ortho.tif"
+ out_sim_ori_temp = self.__workspace_baseMap_path + "\\" + "sim_ori-ortho.tif"
parameter_path = os.path.join(self.__workspace_package_path, "orth_para.txt")
in_tif_paths = list(glob.glob(os.path.join(slc_paths, '*.tiff')))
out_rpc_db = os.path.join(self.__workspace_baseMap_path, 'rpc_line.tif')
@@ -573,7 +574,9 @@ class OrthoMain:
lon_new = im_geotrans[0] + x
lat_new = im_geotrans[3] - y
im_geosNew = [lon_new, im_geotrans[1], im_geotrans[2], lat_new, im_geotrans[4], im_geotrans[5]]
- ImageHandler().write_img(out_sim_ori, im_proj, im_geosNew, im_arr)
+ # ImageHandler().write_img(out_sim_ori, im_proj, im_geosNew, im_arr)
+ ImageHandler().write_img(out_sim_ori_temp, im_proj, im_geosNew, im_arr)
+ pp.resample_by_gdal(out_sim_ori_temp, out_sim_ori) # todo 重采样为方像元
os.remove(sim_ori_tiff)
return out_sim_ori
@@ -779,3 +782,4 @@ if __name__ == '__main__':
pass
end = datetime.datetime.now()
logger.info('running use time: %s ' % (end - start))
+
diff --git a/Ortho/Ortho_C_SAR_V3.xml b/Ortho/Ortho_C_SAR_V3.xml
index 27fe87b2..03016058 100644
--- a/Ortho/Ortho_C_SAR_V3.xml
+++ b/Ortho/Ortho_C_SAR_V3.xml
@@ -49,7 +49,7 @@
DEFAULT
DEFAULT
- F:\VegetationPhenology-likun\rusuoces\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764.tar.gz
+ F:\isce_yuan\lancover-yuan\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134.tar.gz
True
False
File
@@ -62,12 +62,12 @@
DEM数字高程影像
30m分辨率DEM数字高程影像tif
File
- File
+ tif
DEFAULT
DEFAULT
DEFAULT
Cal
- F:\VegetationPhenology-likun\rusuoces\dem
+ F:\xibei_LandCover\dem.tif
True
True
File
@@ -86,7 +86,7 @@
DEFAULT
DEFAULT
- F:\VegetationPhenology-likun\rusuoces\S1A
+ F:\isce_yuan\lancover-yuan\S1A_map
True
False
File
@@ -121,7 +121,7 @@
File
tar.gz
Cal
- D:\micro\WorkSpace\ortho\Output\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-ortho.tar.gz
+ D:\micro\WorkSpace\ortho\Output\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/atmosphericDelay-C-SAR/AtmosphericDelay.xml b/atmosphericDelay-C-SAR/AtmosphericDelay.xml
index 2d9a3b5c..ee147036 100644
--- a/atmosphericDelay-C-SAR/AtmosphericDelay.xml
+++ b/atmosphericDelay-C-SAR/AtmosphericDelay.xml
@@ -142,7 +142,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\AtmosphericDelay\Output\GF3_SAY_FSI_001614_E113.2_N34.5_20161129_L1A_HHHV_L10002015686
+ D:\micro\WorkSpace\AtmosphericDelay\Output\GF3_SAY_FSI_001614_E113.2_N34.5_20161129_L1A_HHHV_L10002015686-IADC.tar.gz
diff --git a/atmosphericDelay-C-SAR/AtmosphericDelayMain.py b/atmosphericDelay-C-SAR/AtmosphericDelayMain.py
index 57560cc6..e1fe7ebe 100644
--- a/atmosphericDelay-C-SAR/AtmosphericDelayMain.py
+++ b/atmosphericDelay-C-SAR/AtmosphericDelayMain.py
@@ -924,6 +924,8 @@ class AtmosphericMain:
self.atmospheric_product_path = self.__workspace_atmos_dely_path + srcName_m + tar + ".tif"
out_pha_path = os.path.join(apsWork, 'topo_pha.tiff')
bias_result = createpha(master_pha, aux_pha, mas_lambd, out_pha_path)
+ out_result_path = os.path.join(apsWork, 'topo_pha_ERA5.tif')
+ correct_single_ifgram(Filt_path, out_pha_path, out_result_path)
# bias_result = correct_single_ifgram(Filt_path, out_pha_path, self.atmospheric_product_path) # 剔除相位延迟后的数组->剔除相位延迟干涉图
ImageHandler.write_img(self.atmospheric_product_path, self.__proj, self.__geo, bias_result) # 剔除相位延迟后的数组->剔除相位延迟干涉图
diff --git a/backScattering/BackScatteringMain.py b/backScattering/BackScatteringMain.py
index cdc806ec..1a355c93 100644
--- a/backScattering/BackScatteringMain.py
+++ b/backScattering/BackScatteringMain.py
@@ -298,6 +298,7 @@ class ScatteringMain:
# 对映射表进行校正
sim_ori_tiff = out_dir_path + "\\" + "RD_sim_ori.tif"
out_sim_ori = out_dir_path + "\\" + "sim_ori-ortho.tif"
+ out_sim_ori_temp = self.__workspace_baseMap_path + "\\" + "sim_ori-ortho.tif"
parameter_path = os.path.join(self.__workspace_processing_path, "orth_para.txt")
in_tif_paths = list(glob.glob(os.path.join(slc_paths, '*.tiff')))
out_rpc_db = os.path.join(self.__workspace_baseMap_path, 'rpc_line.tif')
@@ -333,7 +334,8 @@ class ScatteringMain:
lon_new = im_geotrans[0] + x
lat_new = im_geotrans[3] - y
im_geosNew = [lon_new, im_geotrans[1], im_geotrans[2], lat_new, im_geotrans[4], im_geotrans[5]]
- ImageHandler().write_img(out_sim_ori, im_proj, im_geosNew, im_arr)
+ ImageHandler().write_img(out_sim_ori_temp, im_proj, im_geosNew, im_arr)
+ pp.resample_by_gdal(out_sim_ori_temp, out_sim_ori) #todo 重采样为方像元
os.remove(sim_ori_tiff)
return out_sim_ori
@@ -383,10 +385,8 @@ class ScatteringMain:
ortho_bsMap_path = self.__workspace_baseMap_path
bsMap_merged_path = DEMProcess.bsMap_merged(bsMap, meta_file_path, ortho_bsMap_path)
-
dem_path = self.cut_dem(dem_merged_path, meta_file_path)
-
in_slc_path = None
for slc_path in in_tif_paths:
if slc_path.find(".tiff") > 0 and (
diff --git a/backScattering/BackScatteringMain.spec b/backScattering/BackScatteringMain.spec
index 73405a6a..8c336f80 100644
--- a/backScattering/BackScatteringMain.spec
+++ b/backScattering/BackScatteringMain.spec
@@ -1,6 +1,29 @@
# -*- mode: python ; coding: utf-8 -*-
+import sys
+from shutil import copy
+import os
+cwdpath = os.getcwd()
+toolDir = os.path.join(cwdpath, 'tool')
+if os.path.exists(toolDir):
+ os.remove(toolDir)
+os.mkdir(toolDir)
+source_folder = '../tool'
+
+def copy_file(path_read, path_write):
+ names = os.listdir(path_read)
+ for name in names:
+ path_read_new = os.path.join(path_read, name)
+ path_write_new = os.path.join(path_write, name)
+ if os.path.isdir(path_read_new):
+ if not os.path.exists(path_write_new):
+ os.mkdir(path_write_new)
+ copy_file(path_read_new, path_write_new)
+ else:
+ copy(path_read_new, path_write_new)
+
+copy_file(source_folder, toolDir)
block_cipher = None
diff --git a/backScattering/BackScattering_C_SAR_V3.xml b/backScattering/BackScattering_C_SAR_V3.xml
index 2a19c44a..36665cac 100644
--- a/backScattering/BackScattering_C_SAR_V3.xml
+++ b/backScattering/BackScattering_C_SAR_V3.xml
@@ -42,7 +42,7 @@
File
tar.gz
Cal
- F:\VegetationPhenology-likun\rusuoces\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764.tar.gz
+ F:\MicroWorkspace\20240826Ortho\GF3B_MH1_UFS_012705_E116.4_N44.2_20240422_L1A_DH_L10000343416.tar.gz
True
False
File
@@ -57,7 +57,7 @@
File
File
Cal
- F:\VegetationPhenology-likun\lijiang\dem
+ F:\MicroWorkspace\20240826Ortho\dem
True
True
File
@@ -72,7 +72,7 @@
File
File
Cal
- F:\VegetationPhenology-likun\rusuoces\S1A
+ F:\MicroWorkspace\20240826Ortho\S1GBM
True
True
File
@@ -89,7 +89,7 @@
File
tar.gz
Cal
- D:\micro\WorkSpace\BackScattering\Output\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-cal.tar.gz
+ D:\micro\WorkSpace\BackScattering\Output\GF3B_MH1_UFS_012705_E116.4_N44.2_20240422_L1A_DH_L10000343416-cal.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/deformation-C-SAR/Deformation_C_SAR_V3.xml b/deformation-C-SAR/Deformation_C_SAR_V3.xml
index e784db6e..e947e526 100644
--- a/deformation-C-SAR/Deformation_C_SAR_V3.xml
+++ b/deformation-C-SAR/Deformation_C_SAR_V3.xml
@@ -79,7 +79,7 @@
DEFAULT
DEFAULT
Man
- 34.62;34.67;113.15;113.18
+ empty
True
True
UploadInput
diff --git a/deformation-C-SAR/geocoding.py b/deformation-C-SAR/geocoding.py
index d61854a3..73606da9 100644
--- a/deformation-C-SAR/geocoding.py
+++ b/deformation-C-SAR/geocoding.py
@@ -87,9 +87,10 @@ def read_tiff_dataset(tiff_data,band_idx=0):
def saveTiff(target_data_path,xsize,ysize,gt,srs,target_arr):
driver = gdal.GetDriverByName('GTiff') # 数据类型必须有,因为要计算需要多大内存空间
+ target_arr[np.where(target_data_path == -9999)] = 0
tiff_geo=driver.Create(target_data_path, int(xsize)+1, int(ysize)+1, 1, gdal.GDT_Float32)
tiff_geo.GetRasterBand(1).WriteArray(target_arr)
- tiff_geo.GetRasterBand(1).SetNoDataValue(-9999)
+ tiff_geo.GetRasterBand(1).SetNoDataValue(0)
tiff_geo.SetGeoTransform(gt)
tiff_geo.SetProjection(srs.ExportToWkt())
del tiff_geo
@@ -136,10 +137,71 @@ def geoCoding(tree,X_min,X_max,Y_min,Y_max,block_size,value_data,target_arr):
return target_arr
+
+def get_filt_fine_cor_path(isce_work_path):
+ flit_fine_cor_path_ls=[]
+ interferograms_path=os.path.join(isce_work_path,"Igrams")
+ for rootdir, dirs, files in os.walk(interferograms_path):
+ for filename in files:
+ # if filename=="filt_fine.unw.vrt":
+ if filename.endswith(".cor.vrt"):
+ flit_fine_cor_path_ls.append(os.path.join(rootdir, filename))
+
+ return flit_fine_cor_path_ls
+
+def detrend_2d(unw_filename,cor_filename, out_file):
+
+ unwImg = ImageHandler.get_data(unw_filename)
+ # unwImg = unwImgt[1,:,:]
+ corImg = ImageHandler.get_data(cor_filename)
+ height = corImg.shape[0]
+ width = corImg.shape[1]
+ lines_intv = int(np.floor(height * 0.005))
+ width_intv = int(np.floor(width * 0.005))
+ x = np.arange(1, width, width_intv)
+ y = np.arange(1, height, lines_intv)
+
+ pointX = []
+ pointY = []
+ pointZ = []
+
+ for i in y:
+ for j in x:
+ if corImg[i,j] < 0.2:
+ continue
+ else:
+ pointX.append(j)
+ pointY.append(i)
+ pointZ.append(unwImg[i,j])
+
+ int_xy = np.multiply(np.array(pointX), np.array(pointY))
+ int_xx = np.multiply(np.array(pointX), np.array(pointX))
+ int_yy = np.multiply(np.array(pointY), np.array(pointY))
+
+ design_matrix = np.column_stack((np.array(pointX), np.array(pointY), int_xy, int_xx, int_yy))
+ X = np.linalg.lstsq(design_matrix, pointZ, rcond=None)[0]
+ a = X[0] # 系数1
+ b = X[1] # 系数2
+ c = X[2] # 系数3
+ d = X[3] # 系数4
+ e = X[4] # 系数5
+
+ dtd_unw = np.zeros((height, width), dtype=float)
+ for ii in range(width):
+ for jj in range(height):
+ str = a * (ii+1) + b * (jj+1) + c * (ii+1) * (jj+1) + d * (ii+1) * (ii+1) + e * (jj+1) * (jj+1)
+ # dtd_unw[ii, jj] = unwImg[ii, jj] - str
+ dtd_unw[jj, ii] = unwImg[jj, ii] - str
+ dtd_unw[np.where(corImg==0)] = 0
+ ImageHandler.write_img(out_file, '', [0.0, 1.0, 0.0, 0.0, 0.0, 1.0], dtd_unw)
+ return dtd_unw
+
+
def get_Dem(isce_work_path,temp_work_path,pack_path,product_name):
# lamda=get_lambel_sentinel(isce_work_path)
lamda=0.055517
filt_topophase_unw_path=get_filt_fine_unw_path(isce_work_path)[0]
+ filt_topophase_cor_path = get_filt_fine_cor_path(isce_work_path)[0]
unw_tiff_path=os.path.join(temp_work_path,"unw.tiff")
vrt2tiff(filt_topophase_unw_path,unw_tiff_path,1)
@@ -166,7 +228,9 @@ def get_Dem(isce_work_path,temp_work_path,pack_path,product_name):
lat = lat_data[:, lat_data.shape[1]-1]
lat_min = np.min(lat)
lat_max = np.max(lat)
- unw_data=read_tiff_dataset(unw_tiff_path,band_idx=0)
+ out_detrend_path = os.path.join(temp_work_path, "detrend_unw.tif")
+ unw_data = detrend_2d(unw_tiff_path, filt_topophase_cor_path, out_detrend_path)
+ # unw_data=read_tiff_dataset(unw_tiff_path,band_idx=0)
hgt_data=read_tiff_dataset(hgt_tiff_path,band_idx=0)
los_data=los_data.reshape(-1)
@@ -230,9 +294,9 @@ def get_Dem(isce_work_path,temp_work_path,pack_path,product_name):
return dem_target_data_path
if __name__ == '__main__':
- isce_work_path = r"D:\micro\WorkSpace\Dem\Temporary\processing\isce_workspace"
- temp_work_path = r"D:\micro\WorkSpace\Dem\test"
- out_work_path = r"D:\micro\WorkSpace\Dem\test"
- product = r'D:\micro\WorkSpace\Dem\test\dem.tiff'
+ isce_work_path = r"D:\micro\WorkSpace\AtmosphericDelay\Temporary\isce\processing\isce_workspace"
+ temp_work_path = r"D:\micro\WorkSpace\AtmosphericDelay\Temporary\deformation"
+ out_work_path = r"D:\micro\WorkSpace\AtmosphericDelay\Temporary\deformation"
+ product = r'D:\micro\WorkSpace\AtmosphericDelay\Temporary\deformation\dem.tiff'
get_Dem(isce_work_path, temp_work_path, out_work_path, product)
pass
\ No newline at end of file
diff --git a/landcover_c_sar/LandCover_C_SAR_V3.xml b/landcover_c_sar/LandCover_C_SAR_V3.xml
index 0a9bf5bd..b9ad1805 100644
--- a/landcover_c_sar/LandCover_C_SAR_V3.xml
+++ b/landcover_c_sar/LandCover_C_SAR_V3.xml
@@ -42,7 +42,7 @@
DEFAULT
Cal
- F:\MicroWorkspace\GF3A_nanjing\input-ortho\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_AHV_L10003515422-ortho.tar.gz
+ F:\isce_yuan\lancover-yuan\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho.tar.gz
True
False
File
@@ -55,12 +55,12 @@
标记数据
标记的样本数据
File
- zip
+ csv
DEFAULT
DEFAULT
DEFAULT
Cal
- F:\al_zhongji\C-SAR-data\landcover\CSAR_land_LandCoverLable.zip
+ F:\isce_yuan\lancover-yuan\train_landConver1.csv
True
True
UploadTable
@@ -120,7 +120,7 @@
DEFAULT
DEFAULT
Man
- D:\micro\WorkSpace\LandCover\Output\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_AHV_L10003515422-ortho-LANDCLASS.tar.gz
+ D:\micro\WorkSpace\LandCover\Output\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho-LANDCLASS.tar.gz
diff --git a/leafAreaIndex/LeafAreaIndex.xml b/leafAreaIndex/LeafAreaIndex.xml
index 791ef882..73a0c56b 100644
--- a/leafAreaIndex/LeafAreaIndex.xml
+++ b/leafAreaIndex/LeafAreaIndex.xml
@@ -53,7 +53,7 @@
File
tar.gz
Man
- E:\辅助数据\GF3Data\leafindex\GF3_MDJ_QPSI_031847_E116.4_N43.9_20220828_L1A_AHV_L10006708819-cal.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal.tar.gz
True
False
File
@@ -81,9 +81,9 @@
土壤水分产品
土壤水分产品
File
- zip
+ tif
Man
- E:\辅助数据\GF3Data\leafindex\CSAR_leaf_NEW_soil_moisture.zip
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal-SMC.tif
True
False
File
@@ -96,9 +96,9 @@
叶面积指数实测数据
叶面积指数实测数据
File
- zip
+ tif
Man
- E:\辅助数据\GF3Data\leafindex\CSAR_leaf_new_LAI.zip
+ F:\Tian-GF3-Wenchang\LAI\LAi.csv
True
False
File
@@ -111,9 +111,9 @@
NDVI
NDVI影像,坐标系要求:WGS84
File
- zip
+ tif
Cal
- E:\辅助数据\GF3Data\leafindex\CSAR_leaf_L9NDVI.zip
+ F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif
True
False
File
@@ -141,9 +141,9 @@
地表覆盖度
地表覆盖度数据,坐标系要求:WGS84
File
- zip
+ tif
Cal
- E:\辅助数据\GF3Data\leafindex\CASR_leaf_N50_40_2020LC030.zip
+ F:\Tian-GF3-Wenchang\landCover.tif
True
False
File
@@ -158,7 +158,7 @@
Value
string
Man
- 10;20;30;40;50;60;80;90
+ empty
True
False
UploadInput
@@ -235,7 +235,7 @@
File
tar.gz
Cal
- D:\micro\WorkSpace\LeafAreaIndex\Output\GF3_MDJ_QPSI_031847_E116.4_N43.9_20220828_L1A_AHV_L10006708819-cal-LAI.tar.gz
+ D:\micro\WorkSpace\LeafAreaIndex\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal-LAI.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/leafAreaIndex/LeafIndexMain.py b/leafAreaIndex/LeafIndexMain.py
index c8e7624d..cfbd5351 100644
--- a/leafAreaIndex/LeafIndexMain.py
+++ b/leafAreaIndex/LeafIndexMain.py
@@ -371,7 +371,7 @@ class LeafIndexMain:
# 处理归一化植被指数
F_VEG = (NDVI_tiff['data'] - NDVI_min) / (NDVI_max - NDVI_min) # 处理得到植被覆盖度
- soil_water_tiff['data'] = soil_water_tiff['data'] / 100.0 # 转换为百分比
+ soil_water_tiff['data'] = soil_water_tiff['data'] # 转换为百分比
incident_angle['data'] = incident_angle['data'] * np.pi / 180.0 # 转换为弧度值
sigma_tiff['data'] = np.power(10, (sigma_tiff['data'] / 10)) # 转换为线性值
diff --git a/leafAreaIndex/sample_process.py b/leafAreaIndex/sample_process.py
index c32132e5..f727c8b3 100644
--- a/leafAreaIndex/sample_process.py
+++ b/leafAreaIndex/sample_process.py
@@ -143,13 +143,13 @@ def check_sample(sample_list):
sample_time,sample_code,sample_lon,sample_lat,sample_lai,csv_sigma,sample_soil,sample_inc,sample_sigma,sample_NDVI=item
else:
sample_time,sample_code,sample_lon,sample_lat,sample_lai,csv_sigma,sample_soil,sample_inc,sample_sigma=item
- if sample_sigma<=0:
+ if sample_sigma<=0 or np.isnan(sample_sigma):
continue
- if (sample_inc*180/np.pi)>90:
+ if (sample_inc*180/np.pi)>90 or np.isnan(sample_inc):
continue
- if sample_soil<=0 or sample_soil>=1:
+ if sample_soil<=0 or sample_soil>=1 or np.isnan(sample_soil):
continue
- if sample_lai<=0 or sample_lai>=20:
+ if sample_lai<=0 or sample_lai>=20 or np.isnan(sample_lai):
continue
result.append(item)
# 绘制分布图
@@ -199,4 +199,6 @@ def split_sample_list(sample_list,train_ratio):
sample_train.append(sample_list[i])
else:
sample_test.append(sample_list[i])
- return [sample_train,sample_test]
\ No newline at end of file
+ return [sample_train,sample_test]
+
+
diff --git a/soilMoistureTop/SoilMoisture.xml b/soilMoistureTop/SoilMoisture.xml
index fceafa74..c41f41a4 100644
--- a/soilMoistureTop/SoilMoisture.xml
+++ b/soilMoistureTop/SoilMoisture.xml
@@ -36,7 +36,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\BackScattering\Output\GF3B_KSC_QPSI_010328_E86.0_N44.7_20231109_L1A_AHV_L10000262135-cal.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_SYC_QPSI_040488_E110.7_N20.1_20240418_L1A_AHV_L10006923782-cal.tar.gz
Covering
@@ -45,7 +45,7 @@
File
tif
Man
- F:\2023xibei\fugaileixing.tif
+ F:\Tian-GF3-Wenchang\landCover_Glob30.tif
CoveringIDs
@@ -54,7 +54,7 @@
Value
string
Man
- empty
+ 10;20;30;40;70;90
DEFAULT
DEFAULT
DEFAULT
@@ -66,7 +66,7 @@
File
tif
Man
- F:\2024xibei\S2_NDVImed2.tif
+ F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif
NDVIScope
@@ -100,7 +100,7 @@
File
tif
Man
- F:\2024xibei\S2_NDWImed.tif
+ F:\Tian-GF3-Wenchang\NDWI\S2_NDWImed_SMC_GF3.tif
e1
@@ -109,7 +109,7 @@
Value
float
Man
- 438.4106624354813
+ -12.772025319313864
100
-100
DEFAULT
@@ -121,7 +121,7 @@
Value
float
Man
- 6.378881543182451
+ 11.555079721123748
100
-100
DEFAULT
@@ -133,7 +133,7 @@
Value
float
Man
- -2035131.498410542
+ 28.605979879379152
9999
-9999
DEFAULT
@@ -145,7 +145,7 @@
Value
float
Man
- 0.3015485630885973
+ -0.04303182290305167
9999
-9999
DEFAULT
@@ -157,7 +157,7 @@
Value
float
Man
- 11303.518113684022
+ -17.212613314078236
9999
-9999
DEFAULT
@@ -169,7 +169,7 @@
Value
float
Man
- -0.6110363015619775
+ 1.1965671296029239
9999
-9999
DEFAULT
@@ -183,7 +183,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\SoilMoisture\Output\GF3B_KSC_QPSI_010328_E86.0_N44.7_20231109_L1A_AHV_L10000262135-cal-SMC.tar.gz
+ D:\micro\WorkSpace\SoilMoisture\Output\GF3_SYC_QPSI_040488_E110.7_N20.1_20240418_L1A_AHV_L10006923782-cal-SMC.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/soilMoisture_geo_sar/ReferenceFile/刘致曲_Dobson模型代码/dobsen_inverse.m b/soilMoisture_geo_sar/ReferenceFile/刘致曲_Dobson模型代码/dobsen_inverse.m
index 4a9157ec..f058bd91 100644
--- a/soilMoisture_geo_sar/ReferenceFile/刘致曲_Dobson模型代码/dobsen_inverse.m
+++ b/soilMoisture_geo_sar/ReferenceFile/刘致曲_Dobson模型代码/dobsen_inverse.m
@@ -6,6 +6,7 @@ sd=2.65;
dcs=(1.01+0.44*sd)^2-0.062;
dc0=0.008854;
dcw0 = 88.045-0.4147.*T+6.295e-4.*T.^2+1.075e-5.*T.^3; % Refer to [3]
+
tpt=0.11109-3.824e-3.*T+6.938e-5.*T.^2-5.096e-7.*T.^3; %2*pi*tao, Refer to [4]
dcwinf=4.9;
if f>=1.4
@@ -14,12 +15,10 @@ else
sigma = 0.0467+0.2204*bd-0.004111*vsand +0.006614*vclay;% Refer to [2]
end
dcwr=dcwinf+((dcw0-dcwinf)./(1+(tpt.*f).^2));
-% dcwi=(tpt.*f.*(dcw0-dcwinf))./(1+(tpt.*f).^2)...
-% +sigma*(1.0-(bd/sd))./(8.0*atan(1.0)*dc0.*f.*vwc);% Refer to [1]
+
betar=1.2748-0.00519*vsand-0.00152*vclay;
betai=1.33797-0.00603*vsand-0.00166*vclay;
-% dcsr=(1.0+(bd/sd)*((dcs^alpha)-1.0)+(vwc.^betar)*(dcwr^alpha)-vwc).^(1/alpha);% Result real part
-% dcsi=(vwc.^(betai/alpha)).*dcwi;%Result imaginary part
+
vwc=fminsearch(@(vwc)abs(sqrt(((1.0+(bd/sd)*((dcs^alpha)-1.0)+(vwc.^betar)*(dcwr^alpha)-vwc).^(1/alpha))^2+((vwc.^(betai/alpha)).*((tpt.*f.*(dcw0-dcwinf))./(1+(tpt.*f).^2)...
+sigma*(1.0-(bd/sd))./(8.0*atan(1.0)*dc0.*f.*vwc)))^2)-er),x0);
end
\ No newline at end of file
diff --git a/soilMoisture_geo_sar/SoilMoistureMain.py b/soilMoisture_geo_sar/SoilMoistureMain.py
index 0e713478..e704656a 100644
--- a/soilMoisture_geo_sar/SoilMoistureMain.py
+++ b/soilMoisture_geo_sar/SoilMoistureMain.py
@@ -104,7 +104,7 @@ class MoistureMain:
else:
raise ValueError("input Para 'Polarization' is not 'HH'、'VV'or 'empty'!")
- 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(InitPara(DEBUG).get_mult_tar_gz_infs(self.__processing_paras, self.__workspace_preprocessing_path))
self.__sar_names_list = self.__processing_paras['name_list']
@@ -150,7 +150,7 @@ class MoistureMain:
para_names = ['Covering', 'NDVI']
ref_img_name =''
for name in self.__sar_names_list:
- para_names.append(name+'_'+self.__polar_name)
+ para_names.append(name+'_'+self.__polar_name) # todo 名称根据LT04实际命名进行缩短
if ref_img_name == '':
ref_img_name = name+'_'+self.__polar_name
para_names.append(name+'_LocalIncidenceAngle')
@@ -277,7 +277,6 @@ class MoistureMain:
mois2[n] = fmin(fun_mois, x0, disp=0) # Dobson模型
if n in bar_list:
logger.info('block:{},cal soil_moisture proggress bar:{}%,use time :{}'.format(block_num, round(n / num * 100), (datetime.datetime.now() - start)))
-
sar1[:] = 0
sar2[:] = 0
sar1[w] = mois1 # 土壤水分
@@ -290,6 +289,55 @@ class MoistureMain:
out_image = Image.fromarray(sar2)
out_image.save(moisure2_path)
+
+ '''
+ f: 频率,通常以赫兹(Hz)为单位,它可能与土壤中电磁波的传播有关。
+ T: 温度,通常以摄氏度(°C)为单位,它影响土壤水分的介电常数。
+ er: 测量的土壤介电常数,这是一个无量纲的量,它表示土壤对电磁波的响应。
+ bd: 土壤的干容重(Bulk Density),通常以克/立方厘米(g/cm³)为单位,它表示单位体积土壤中固体的质量。
+ vsand: 砂土体积比例,这是一个介于0和1之间的无量纲量,表示土壤中砂土的体积占比。
+ vclay: 黏土体积比例,这也是一个介于0和1之间的无量纲量,表示土壤中黏土的体积占比。
+ x0: 初始猜测值,用于数值优化算法的起始点,通常是一个介于0和1之间的量,表示体积含水量(Volume Water Content)的初始估计。
+ '''
+ def dobsen_inverse(self, f, T, er, bd, vsand, vclay, x0):
+ # 设置模型参数
+ alpha = 0.65
+ sd = 2.65
+ dcs = (1.01 + 0.44 * sd) ** 2 - 0.062
+ dc0 = 0.008854
+ dcw0 = 88.045 - 0.4147 * T + 6.295e-4 * T ** 2 + 1.075e-5 * T ** 3
+ tpt = 0.11109 - 3.824e-3 * T + 6.938e-5 * T ** 2 - 5.096e-7 * T ** 3
+ dcwinf = 4.9
+
+ # 计算土壤的电导率 sigma
+ if f >= 1.4:
+ sigma = -1.645 + 1.939 * bd - 0.0225622 * vsand + 0.01594 * vclay
+ else:
+ sigma = 0.0467 + 0.2204 * bd - 0.004111 * vsand + 0.006614 * vclay
+
+ # 计算水分相关土壤颗粒的直径 dcwr
+ dcwr = dcwinf + ((dcw0 - dcwinf) / (1 + (tpt * f) ** 2))
+
+ # 计算与土壤水分保持能力相关的参数 betar 和 betai
+ betar = 1.2748 - 0.00519 * vsand - 0.00152 * vclay
+ betai = 1.33797 - 0.00603 * vsand - 0.00166 * vclay
+
+ # 定义目标函数
+ def objective(vwc):
+ return np.abs(np.sqrt(
+ ((1.0 + (bd / sd) * ((dcs ** alpha) - 1.0) + (vwc ** betar) * (dcwr ** alpha) - vwc) ** (
+ 1 / alpha)) ** 2 +
+ ((vwc ** (betai / alpha)) * (
+ (tpt * f * (dcw0 - dcwinf)) / (1 + (tpt * f) ** 2) + sigma * (1.0 - (bd / sd)) /
+ (8 * math.atan(1.0) * dc0 * f * vwc))) ** 2
+ ) - er)
+
+ # 使用数值优化方法找到最佳的 vwc 值
+ result = minimize(objective, x0, method='Nelder-Mead')
+
+ # 返回最优解
+ return result.x[0]
+
def process_handle(self, start):
"""
算法主处理函数
@@ -297,10 +345,20 @@ class MoistureMain:
"""
# 计算ROI区域
bare_land_mask_path = self.create_roi()
- radar_center_frequency = MetaDataHandler.get_RadarCenterFrequency(self.__processing_paras['META'])
+ radar_center_frequency = MetaDataHandler.get_RadarCenterFrequency(self.__processing_paras[self.__sar_names_list[0] + '_Origin_META'])
file.copyfile2dir(bare_land_mask_path, self.__workspace_preprocessed_path)
logger.info('progress bar: 50%')
+ for name in self.__sar_names_list:
+ file_key = name + '_' + self.__polar_name
+ if os.path.exists(self.__preprocessed_paras[file_key]):
+ lee_path = os.path.join(self.__workspace_preprocessed_path,
+ os.path.basename(self.__preprocessed_paras[file_key]).split("-")[0] + '_lee.tif')
+ Filter().lee_process_sar(self.__preprocessed_paras[file_key], lee_path, 3, 0.25)
+ logger.info('lee process finish: ' + self.__preprocessed_paras[file_key])
+ os.remove(self.__preprocessed_paras[file_key])
+ self.__preprocessed_paras.update({file_key: lee_path})
+
# 分块
bp = BlockProcess()
block_size = bp.get_block_size(self.__rows, self.__cols)
@@ -314,11 +372,11 @@ class MoistureMain:
tmp = key
if self.__sar_names_list[0]+'_LocalIncidenceAngle' in tmp:
angle1_list = dir_dict[key]
- elif self.__sar_names_list[0]+'_'+self.__polar_name in tmp:
+ elif self.__sar_names_list[0].split('-')[0]+'_lee' in tmp:
sar1_list = dir_dict[key]
elif self.__sar_names_list[1] + '_LocalIncidenceAngle' in tmp:
angle2_list = dir_dict[key]
- elif self.__sar_names_list[1] + '_' + self.__polar_name in tmp:
+ elif self.__sar_names_list[1].split('-')[0]+'_lee' in tmp:
sar2_list = dir_dict[key]
elif 'bare_land_mask'in tmp :
bare_land_mask_list = dir_dict[key]
@@ -329,10 +387,6 @@ class MoistureMain:
# 开启多进程处理
processes_num = min([len(angle1_list), multiprocessing_num])
- if DEBUG == False:
- f = Filter()
- f.lee_filter_multiprocess(sar1_list, sar1_list, FILTER_SIZE, processes_num)
- f.lee_filter_multiprocess(sar2_list, sar2_list, FILTER_SIZE, processes_num)
pool = multiprocessing.Pool(processes=processes_num)
for i in range(len(angle1_list)):
diff --git a/soilMoisture_geo_sar/SoilMoisture_geo.xml b/soilMoisture_geo_sar/SoilMoisture_geo.xml
index 9b669dde..b15c1b02 100644
--- a/soilMoisture_geo_sar/SoilMoisture_geo.xml
+++ b/soilMoisture_geo_sar/SoilMoisture_geo.xml
@@ -1,7 +1,7 @@
GEOSAR_202107275419_0001-0
- D:\micro\WorkSpace\Geo_sar\
+ D:\micro\GEOWork\
File
ElementAlg
@@ -39,7 +39,7 @@
Value
string
Man
- VV
+ HH
True
False
UploadInput
@@ -56,7 +56,8 @@
File
tar.gz
Man
- F:\MicroWorkspace\Micro\soil_geo\input_back\GF3_SAY_QPSI_008634_E102.3_N33.7_20180331_L1A_AHV_L10003096081.tar.gz;F:\MicroWorkspace\Micro\soil_geo\input_back\GF3_SAY_QPSI_009051_E102.3_N33.7_20180429_L1A_AHV_L10003153708.tar.gz
+ F:\202306hb\sar_img\GF3B_SYC_QPSI_008316_E116.0_N43.0_20230622_L1A_AHV_L10000202893-cal.tar.gz;
+ F:\202306hb\sar_img\GF3B_SYC_QPSI_008316_E116.1_N43.3_20230622_L1A_AHV_L10000202892-cal.tar.gz
True
False
@@ -87,7 +88,7 @@
File
tif
Man
- F:\MicroWorkspace\Micro\soil_geo\cover\cover.tif
+ F:\202306hb\Landcover\50T_20220101-20230101.tif
True
False
File
@@ -102,7 +103,7 @@
Value
string
Man
- 20;30;70;71;72;73;74;90
+ empty
True
False
UploadInput
@@ -117,7 +118,7 @@
File
tif
Man
- F:\MicroWorkspace\Micro\soil_geo\201806NDVI\201806_NDVImax.tif
+ F:\202306hb\NDVI\S2_202306_NDVI.tif
True
False
File
@@ -239,7 +240,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\Geo_sar\SoilMoisture\Output\SoilMoistureProduct.tar.gz
+ D:\micro\GEOWork\SoilMoisture\Output\SoilMoistureProduct.tar.gz
diff --git a/soilSalinity-Train_predict/SoilSalinityPredict.xml b/soilSalinity-Train_predict/SoilSalinityPredict.xml
index 19a95ae0..2afe66d6 100644
--- a/soilSalinity-Train_predict/SoilSalinityPredict.xml
+++ b/soilSalinity-Train_predict/SoilSalinityPredict.xml
@@ -39,7 +39,7 @@
tar.gz
Man
- F:\2024xibei\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz
DEFAULT
DEFAULT
@@ -68,7 +68,7 @@
File
tif
Man
- F:\2024xibei\S2_NDVImed.tif
+ F:\Tian-GF3-Wenchang\landCover_Glob30.tif
DEFAULT
DEFAULT
DEFAULT
@@ -82,7 +82,7 @@
File
zip
Man
- D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.zip
+ D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.zip
DEFAULT
DEFAULT
DEFAULT
@@ -96,7 +96,7 @@
Value
string
Man
- empty
+ 10;20;30;40;70;90
DEFAULT
DEFAULT
DEFAULT
@@ -110,7 +110,7 @@
File
tif
Man
- F:\2024xibei\S2_NDVImed.tif
+ F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif
DEFAULT
DEFAULT
DEFAULT
@@ -140,7 +140,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\SoilSalinityPredict\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.tar.gz
+ D:\micro\WorkSpace\SoilSalinityPredict\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/soilSalinity-Train_predict/SoilSalinityTrain.xml b/soilSalinity-Train_predict/SoilSalinityTrain.xml
index 9d9de49e..ecc22ce9 100644
--- a/soilSalinity-Train_predict/SoilSalinityTrain.xml
+++ b/soilSalinity-Train_predict/SoilSalinityTrain.xml
@@ -39,7 +39,7 @@
tar.gz
Man
- F:\2024xibei\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz
DEFAULT
DEFAULT
@@ -68,7 +68,7 @@
File
csv
Man
- F:\2024xibei\soilty.csv
+ F:\Tian-GF3-Wenchang\soilSality.csv
DEFAULT
DEFAULT
DEFAULT
@@ -84,7 +84,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.zip
+ D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.zip
DEFAULT
DEFAULT
DEFAULT
diff --git a/soilSalinity/SoilSalinity.xml b/soilSalinity/SoilSalinity.xml
index a698cfd2..e6117353 100644
--- a/soilSalinity/SoilSalinity.xml
+++ b/soilSalinity/SoilSalinity.xml
@@ -38,7 +38,7 @@
File
tar.gz
Man
- F:\2023xibei\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz
DEFAULT
DEFAULT
DEFAULT
@@ -66,7 +66,7 @@
File
csv
Man
- F:\2023xibei\soilSality.csv
+ F:\Tian-GF3-Wenchang\soilSality.csv
DEFAULT
DEFAULT
DEFAULT
@@ -80,7 +80,7 @@
File
tif
Man
- F:\2023xibei\fugaileixing.tif
+ F:\Tian-GF3-Wenchang\landCover.tif
DEFAULT
DEFAULT
DEFAULT
@@ -108,7 +108,7 @@
File
tif
Man
- F:\2023xibei\S2_NDVImed2.tif
+ F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif
DEFAULT
DEFAULT
DEFAULT
@@ -138,7 +138,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\SoilSalinity\Output\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho-SSAA.tar.gz
+ D:\micro\WorkSpace\SoilSalinity\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.tar.gz
DEFAULT
DEFAULT
DEFAULT
diff --git a/soilSalinity/SoilSalinityMain.py b/soilSalinity/SoilSalinityMain.py
index 26c3cc76..e3b3aa1e 100644
--- a/soilSalinity/SoilSalinityMain.py
+++ b/soilSalinity/SoilSalinityMain.py
@@ -326,18 +326,25 @@ class SalinityMain:
key_name = key
block_num = len(dir_dict[key])
- for n in range(block_num):
- name = os.path.basename(dir_dict[key_name][n])
- suffix = '_' + name.split('_')[-4] + "_" + name.split('_')[-3] + "_" + name.split('_')[-2] + "_" + \
+ mergeFeaturesDir = os.path.join(self.__workspace_block_tif_processed_path, "features")
+
+ # 创建文件
+ if os.path.exists(mergeFeaturesDir) is False:
+ os.makedirs(mergeFeaturesDir)
+ for i in range(block_num):
+ file_list = []
+ for value in dir_dict.values():
+ file_list.append(os.path.basename(value[i]))
+ name = os.path.basename(file_list[0])
+ suffix = 'features_' + name.split('_')[-4] + "_" + name.split('_')[-3] + "_" + name.split('_')[-2] + "_" + \
name.split('_')[-1]
- features_path = self.__workspace_block_tif_processed_path + "features\\features" + suffix
- features_array = np.zeros((len(dir_dict), block_size, block_size), dtype='float32')
- for m, value in zip(range(len(dir_dict)), dir_dict.values()):
- features_array[m, :, :] = self.imageHandler.get_band_array(value[n], 1)
- # 异常值转为0
- features_array[np.isnan(features_array)] = 0.0
- features_array[np.isinf(features_array)] = 0.0
- self.imageHandler.write_img(features_path, "", [0, 0, 1, 0, 0, 1], features_array)
+ out_str = os.path.join(mergeFeaturesDir, suffix)
+ input_str1 = os.path.dirname(value[0])
+ input_str2 = ','.join(file_list)
+ input_str3 = out_str
+ cmd = r".\baseTool\tifMerge\x64\Release\tifMerge.exe {} {} {}".format(input_str1, input_str2, input_str3)
+ # print(cmd)
+ os.system(cmd)
logger.info('create features matrix success!')
diff --git a/soilSalinity/SoilSalinity_C_SAR_V3.xml b/soilSalinity/SoilSalinity_C_SAR_V3.xml
index f894084e..1fa2bd02 100644
--- a/soilSalinity/SoilSalinity_C_SAR_V3.xml
+++ b/soilSalinity/SoilSalinity_C_SAR_V3.xml
@@ -11,7 +11,7 @@
微波卫星3-5级产品生产模型
3
陆表类产品_土壤盐碱度
- SoilSalinity_C_SAR_V3
+ SoilSalinity_C_SAR_V3
5
SoilSalinity_CSAR_中科卫星应用德清研究院_3
中科卫星应用德清研究院
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/LIBPQ.dll b/soilSalinity/baseTool/tifMerge/x64/Release/LIBPQ.dll
new file mode 100644
index 00000000..21f10037
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/LIBPQ.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/Lerc.dll b/soilSalinity/baseTool/tifMerge/x64/Release/Lerc.dll
new file mode 100644
index 00000000..29513eda
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/Lerc.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/freexl-1.dll b/soilSalinity/baseTool/tifMerge/x64/Release/freexl-1.dll
new file mode 100644
index 00000000..9145a7d2
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/freexl-1.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/gdal.dll b/soilSalinity/baseTool/tifMerge/x64/Release/gdal.dll
new file mode 100644
index 00000000..bda7c209
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/gdal.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/geos.dll b/soilSalinity/baseTool/tifMerge/x64/Release/geos.dll
new file mode 100644
index 00000000..2edcb83a
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/geos.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/geos_c.dll b/soilSalinity/baseTool/tifMerge/x64/Release/geos_c.dll
new file mode 100644
index 00000000..d358b2ae
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/geos_c.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/geotiff.dll b/soilSalinity/baseTool/tifMerge/x64/Release/geotiff.dll
new file mode 100644
index 00000000..f513a513
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/geotiff.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/gif.dll b/soilSalinity/baseTool/tifMerge/x64/Release/gif.dll
new file mode 100644
index 00000000..27fdc784
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/gif.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/hdf5.dll b/soilSalinity/baseTool/tifMerge/x64/Release/hdf5.dll
new file mode 100644
index 00000000..97fd4698
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/hdf5.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/hdf5_hl.dll b/soilSalinity/baseTool/tifMerge/x64/Release/hdf5_hl.dll
new file mode 100644
index 00000000..7da3e863
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/hdf5_hl.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/iconv-2.dll b/soilSalinity/baseTool/tifMerge/x64/Release/iconv-2.dll
new file mode 100644
index 00000000..29c175cb
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/iconv-2.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/jpeg62.dll b/soilSalinity/baseTool/tifMerge/x64/Release/jpeg62.dll
new file mode 100644
index 00000000..9c1a2c05
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/jpeg62.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/json-c.dll b/soilSalinity/baseTool/tifMerge/x64/Release/json-c.dll
new file mode 100644
index 00000000..abbb168e
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/json-c.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libcrypto-3-x64.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libcrypto-3-x64.dll
new file mode 100644
index 00000000..a0ee3e37
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libcrypto-3-x64.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libcurl.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libcurl.dll
new file mode 100644
index 00000000..647bdc6c
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libcurl.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libexpat.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libexpat.dll
new file mode 100644
index 00000000..6cea7422
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libexpat.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/liblzma.dll b/soilSalinity/baseTool/tifMerge/x64/Release/liblzma.dll
new file mode 100644
index 00000000..44372c52
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/liblzma.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libpng16.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libpng16.dll
new file mode 100644
index 00000000..c06222a1
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libpng16.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libsharpyuv.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libsharpyuv.dll
new file mode 100644
index 00000000..e6c1b525
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libsharpyuv.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libssl-3-x64.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libssl-3-x64.dll
new file mode 100644
index 00000000..4856e675
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libssl-3-x64.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libwebp.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libwebp.dll
new file mode 100644
index 00000000..e758fc86
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libwebp.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/libxml2.dll b/soilSalinity/baseTool/tifMerge/x64/Release/libxml2.dll
new file mode 100644
index 00000000..1e2599f5
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/libxml2.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/minizip.dll b/soilSalinity/baseTool/tifMerge/x64/Release/minizip.dll
new file mode 100644
index 00000000..44f5e996
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/minizip.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/netcdf.dll b/soilSalinity/baseTool/tifMerge/x64/Release/netcdf.dll
new file mode 100644
index 00000000..e1cbbf12
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/netcdf.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/openjp2.dll b/soilSalinity/baseTool/tifMerge/x64/Release/openjp2.dll
new file mode 100644
index 00000000..d6c80116
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/openjp2.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/pcre2-8.dll b/soilSalinity/baseTool/tifMerge/x64/Release/pcre2-8.dll
new file mode 100644
index 00000000..d047b3c3
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/pcre2-8.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/proj.dll b/soilSalinity/baseTool/tifMerge/x64/Release/proj.dll
new file mode 100644
index 00000000..f4f6147a
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/proj.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/qhull_r.dll b/soilSalinity/baseTool/tifMerge/x64/Release/qhull_r.dll
new file mode 100644
index 00000000..0267c70f
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/qhull_r.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/spatialite.dll b/soilSalinity/baseTool/tifMerge/x64/Release/spatialite.dll
new file mode 100644
index 00000000..165b6e10
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/spatialite.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/sqlite3.dll b/soilSalinity/baseTool/tifMerge/x64/Release/sqlite3.dll
new file mode 100644
index 00000000..65359e21
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/sqlite3.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.exe b/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.exe
new file mode 100644
index 00000000..8966647e
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.exe differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.pdb b/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.pdb
new file mode 100644
index 00000000..6d51c998
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/tifMerge.pdb differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/tiff.dll b/soilSalinity/baseTool/tifMerge/x64/Release/tiff.dll
new file mode 100644
index 00000000..125e94ba
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/tiff.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/zlib1.dll b/soilSalinity/baseTool/tifMerge/x64/Release/zlib1.dll
new file mode 100644
index 00000000..e9300f6d
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/zlib1.dll differ
diff --git a/soilSalinity/baseTool/tifMerge/x64/Release/zstd.dll b/soilSalinity/baseTool/tifMerge/x64/Release/zstd.dll
new file mode 100644
index 00000000..09c9050a
Binary files /dev/null and b/soilSalinity/baseTool/tifMerge/x64/Release/zstd.dll differ
diff --git a/soilSalinity/baseTool/x64/Release/ImageMatch.obj b/soilSalinity/baseTool/x64/Release/ImageMatch.obj
index 3afada32..913065f4 100644
Binary files a/soilSalinity/baseTool/x64/Release/ImageMatch.obj and b/soilSalinity/baseTool/x64/Release/ImageMatch.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/OctreeNode.obj b/soilSalinity/baseTool/x64/Release/OctreeNode.obj
index c05e407b..efafef2e 100644
Binary files a/soilSalinity/baseTool/x64/Release/OctreeNode.obj and b/soilSalinity/baseTool/x64/Release/OctreeNode.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/RPC_Correct.obj b/soilSalinity/baseTool/x64/Release/RPC_Correct.obj
index 2633c799..6b298713 100644
Binary files a/soilSalinity/baseTool/x64/Release/RPC_Correct.obj and b/soilSalinity/baseTool/x64/Release/RPC_Correct.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.exe b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.exe
index 830ab291..b458ed80 100644
Binary files a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.exe and b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.exe differ
diff --git a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.obj b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.obj
index 47816696..79ddcfac 100644
Binary files a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.obj and b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.pdb b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.pdb
index f12b34c2..0f47ffa6 100644
Binary files a/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.pdb and b/soilSalinity/baseTool/x64/Release/SIMOrthoProgram.pdb differ
diff --git a/soilSalinity/baseTool/x64/Release/SateOrbit.obj b/soilSalinity/baseTool/x64/Release/SateOrbit.obj
index e4d24efb..d3c27206 100644
Binary files a/soilSalinity/baseTool/x64/Release/SateOrbit.obj and b/soilSalinity/baseTool/x64/Release/SateOrbit.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/baseTool.obj b/soilSalinity/baseTool/x64/Release/baseTool.obj
index 0b479142..7227006d 100644
Binary files a/soilSalinity/baseTool/x64/Release/baseTool.obj and b/soilSalinity/baseTool/x64/Release/baseTool.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/interpolation.obj b/soilSalinity/baseTool/x64/Release/interpolation.obj
index 84233d1e..172a2d18 100644
Binary files a/soilSalinity/baseTool/x64/Release/interpolation.obj and b/soilSalinity/baseTool/x64/Release/interpolation.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/simptsn.obj b/soilSalinity/baseTool/x64/Release/simptsn.obj
index b8c4b441..af629968 100644
Binary files a/soilSalinity/baseTool/x64/Release/simptsn.obj and b/soilSalinity/baseTool/x64/Release/simptsn.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/test_moudel.obj b/soilSalinity/baseTool/x64/Release/test_moudel.obj
index ecf98d26..3f894d1a 100644
Binary files a/soilSalinity/baseTool/x64/Release/test_moudel.obj and b/soilSalinity/baseTool/x64/Release/test_moudel.obj differ
diff --git a/soilSalinity/baseTool/x64/Release/vc142.pdb b/soilSalinity/baseTool/x64/Release/vc142.pdb
index 581759a5..8d4d01da 100644
Binary files a/soilSalinity/baseTool/x64/Release/vc142.pdb and b/soilSalinity/baseTool/x64/Release/vc142.pdb differ
diff --git a/surfaceRoughness_oh2004/SurfaceRoughness.xml b/surfaceRoughness_oh2004/SurfaceRoughness.xml
index 37151b03..9fff817a 100644
--- a/surfaceRoughness_oh2004/SurfaceRoughness.xml
+++ b/surfaceRoughness_oh2004/SurfaceRoughness.xml
@@ -38,7 +38,7 @@
File
tar.gz
Man
- F:\2024xibei\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho.tar.gz
+ F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz
True
False
File
@@ -68,7 +68,7 @@
File
tif
Man
- F:\2024xibei\auxfile\LandaCover.tif
+ F:\Tian-GF3-Wenchang\landCover_Glob30.tif
True
False
File
@@ -83,7 +83,7 @@
Value
string
Man
- empty
+ 10;20;30;40;70;90
True
False
UploadInput
@@ -98,7 +98,7 @@
File
tif
Man
- F:\2024xibei\auxfile\S2_NDVImed.tif
+ F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif
True
False
File
@@ -130,7 +130,7 @@
File
tar.gz
Man
- D:\micro\WorkSpace\SurfaceRoughness\Output\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho-SR.tar.gz
+ D:\micro\WorkSpace\SurfaceRoughness\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SR.tar.gz
diff --git a/tool/LAI/LAIProcess.pyx b/tool/LAI/LAIProcess.pyx
index a445ffd1..063fb3ef 100644
--- a/tool/LAI/LAIProcess.pyx
+++ b/tool/LAI/LAIProcess.pyx
@@ -61,7 +61,7 @@ def train_WMCmodel(lai_water_inc_sigma_list,params_X0,train_err_image_path,draw_
h = leastsq(f, X0)
# logger.info(h[0],h[1])
err_f=f(h[0])
- x_arr=[lai_waiter_inc_sigma_item[4] for lai_waiter_inc_sigma_item in lai_water_inc_sigma_list]
+ x_arr=[lai_waiter_inc_sigma_item[5] for lai_waiter_inc_sigma_item in lai_water_inc_sigma_list]
# 根据误差大小进行排序
# logger.info("训练集:\n根据误差输出点序\n数量:{}\n点序\t误差值\t 样点信息".format(str(np.array(err_f).shape)))
# for i in np.argsort(np.array(err_f)):
diff --git a/tool/algorithm/algtools/PreProcess.py b/tool/algorithm/algtools/PreProcess.py
index 026cd5f0..b9148dba 100644
--- a/tool/algorithm/algtools/PreProcess.py
+++ b/tool/algorithm/algtools/PreProcess.py
@@ -435,7 +435,7 @@ class PreProcess:
prepro_imgs_path = {}
for name in para_names:
img_path = img_paths[name]
- output_para = os.path.join(out_dir, name + '_preprocessed.tif') # + name + '_preprocessed.tif'
+ output_para = os.path.join(out_dir, name + '_ppd.tif') # + name + '_preprocessed.tif'
self.resampling_by_scale(img_path, output_para, refer_img_path)
prepro_imgs_path.update({name: output_para})
logger.info('resampling %s success!', name)
@@ -477,9 +477,6 @@ class PreProcess:
scale_x = ref_cols/cols
scale_y = ref_rows/rows
- # rows = dataset.RasterYSize # 行数
- # cols = int(cols * scale) # 计算新的行列数
- # rows = int(rows * scale)
cols = ref_cols
rows = ref_rows
@@ -515,6 +512,39 @@ class PreProcess:
del target
return True
+ @staticmethod
+ def resample_by_gdal(in_path, out_path):
+ src_ds = gdal.Open(in_path, gdal.GA_ReadOnly)
+
+ # 设置目标影像的投影和范围
+ target_projection = src_ds.GetProjection()
+ target_geotransform = src_ds.GetGeoTransform()
+
+ x_scale = target_geotransform[1]
+ y_scale = target_geotransform[5]
+ scale = [x_scale, np.abs(y_scale)]
+ new_scale = np.max(scale)
+
+ dst_geotransform = [target_geotransform[0], new_scale, target_geotransform[2], target_geotransform[3], target_geotransform[4], -new_scale]
+ target_x_size = int(src_ds.RasterXSize * x_scale / new_scale) # 假设我们要将影像大小缩小到原来的一半
+ target_y_size = int(src_ds.RasterYSize * np.abs(y_scale) / new_scale)
+
+ # 创建输出驱动
+ driver = gdal.GetDriverByName('GTiff')
+
+ # 创建输出文件
+ dst_ds = driver.Create(out_path, target_x_size, target_y_size, src_ds.RasterCount,
+ src_ds.GetRasterBand(1).DataType)
+ dst_ds.SetGeoTransform(dst_geotransform)
+ dst_ds.SetProjection(target_projection)
+
+ # 执行重采样
+ gdal.ReprojectImage(src_ds, dst_ds, None, None, gdal.GRA_Bilinear) # 使用双线性插值
+
+ # 关闭数据集
+ dst_ds = None
+ src_ds = None
+
@staticmethod
def cv_mean_filter(out_path, in_path, filter_size):
"""
@@ -551,3 +581,9 @@ class PreProcess:
ImageHandler.write_img(out_tif_path, proj, geo, angle)
+if __name__ == '__main__':
+ fn = r"F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1B_v_h_L10006928143-ortho.tif"
+ out = r"F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1B_v_h_L10006928143-ortho.tif"
+ PreProcess.resample_by_gdal(fn, out)
+
+
diff --git a/tool/algorithm/image/ImageHandle.py b/tool/algorithm/image/ImageHandle.py
index 1b317ae5..b81e4a6f 100644
--- a/tool/algorithm/image/ImageHandle.py
+++ b/tool/algorithm/image/ImageHandle.py
@@ -737,6 +737,11 @@ class ImageHandler:
img_col_end = x_split * 3
img_row_start = y_split * 1
img_row_end = y_split *3
+ cols = img_col_end - img_col_start
+ rows = img_row_end - img_row_start
+ if cols > 10000 or rows > 10000:
+ img_col_end = img_col_start + 10000
+ img_row_end = img_row_start + 10000
point_upleft = self.trans_rowcol2geo(img_geotrans, img_col_start, img_row_start)
point_upright = self.trans_rowcol2geo(img_geotrans, img_col_end, img_row_start)
diff --git a/tool/algorithm/transforml1a/transHandle.py b/tool/algorithm/transforml1a/transHandle.py
index c8450e6f..6e5e0634 100644
--- a/tool/algorithm/transforml1a/transHandle.py
+++ b/tool/algorithm/transforml1a/transHandle.py
@@ -1064,9 +1064,9 @@ if __name__ == '__main__':
#
# tr = TransImgL1A(ori_sim_path,roi_Extend)
# tr.l1a_2_geo("I:/cut.tif", "I:/salinity.tif", "I:/salinity_geo2.tif")
- ori_sim = r"D:\micro\LWork\AtmosphericDelay\Temporary\cut\ori_sim.tif"
- product_tif = r"D:\micro\LWork\AtmosphericDelay\test\master_ztd\dlosout.tiff"
- result = r"D:\micro\LWork\AtmosphericDelay\test\master_ztd\dlosout_geo.tiff"
+ ori_sim = r"D:\micro\WorkSpace\AtmosphericDelay\Temporary\cut\ori_sim.tif"
+ product_tif = r"D:\micro\LWork\AtmosphericDelay\test\pro_m_filt_fine_ERA5.tif"
+ result = r"D:\micro\LWork\AtmosphericDelay\test\pro_m_filt_fine_ERA5_geo.tif"
method = 'linear'
scopes = ImageHandle.ImageHandler().get_scopes(ori_sim)
# """
diff --git a/vegetationPhenology/VegetationPhenology.xml b/vegetationPhenology/VegetationPhenology.xml
index 85040fb9..db6ffd33 100644
--- a/vegetationPhenology/VegetationPhenology.xml
+++ b/vegetationPhenology/VegetationPhenology.xml
@@ -114,7 +114,7 @@
Value
string
Man
- 0,1,2
+ 0,1,2,3,4,5,6,7,8,9
True
True
UploadInput
diff --git a/vegetationPhenology/VegetationPhenologyMain.py b/vegetationPhenology/VegetationPhenologyMain.py
index ee044334..32d5faae 100644
--- a/vegetationPhenology/VegetationPhenologyMain.py
+++ b/vegetationPhenology/VegetationPhenologyMain.py
@@ -410,7 +410,7 @@ class PhenologyMain:
logger.info("generate train and test set success!")
logger.info('progress bar: 30%')
- optimal_X_train, optimal_Y_train, optimal_feature = ml.sel_optimal_feature(X_train, Y_train, total_name_list,important_threshold=0.5, correlation_threshold=0.8)
+ optimal_X_train, optimal_Y_train, optimal_feature = ml.sel_optimal_feature(X_train, Y_train, total_name_list,important_threshold=0.0, correlation_threshold=20)
# RF
clf = ml.trainRF(optimal_X_train, optimal_Y_train)
diff --git a/vegetationPhenology/testxmlreading.py b/vegetationPhenology/testxmlreading.py
index 6b620221..4b455f95 100644
--- a/vegetationPhenology/testxmlreading.py
+++ b/vegetationPhenology/testxmlreading.py
@@ -51,11 +51,12 @@ def createcsv_roi_polygon(coordinates):
return polygon_str
if __name__ == '__main__':
- xmlpath = r"F:\MicroWorkspace\Micro\likun-GF3-VegetationP\vegTest.xml"
+ xmlpath = r"F:\MicroWorkspace\20240814tw\shp\20240819\landCover.xml"
tree_obj = ET.parse(xmlpath)
- csv_header = ['sar_img_name', 'phenology_id', 'phenology_name', 'roi_polygon']
- csvpath = r"F:\MicroWorkspace\Micro\likun-GF3-VegetationP\vegTest.csv"
+ # csv_header = ['sar_img_name', 'phenology_id', 'phenology_name', 'roi_polygon']
+ csv_header = ['parent_id', 'id', 'covernm', 'roi_polygon']
+ csvpath = r"F:\MicroWorkspace\20240814tw\shp\20240819\LandCover.csv"
# csvcreateTitile(csvpath,csv_header)
csvfile(csvpath,csv_header)
# 得到所有匹配Region 标签的Element对象的list集合