parent
dd590cf38c
commit
42e93fdd33
|
@ -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))
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaValue>
|
||||
F:\VegetationPhenology-likun\rusuoces\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764.tar.gz</ParaValue>
|
||||
F:\isce_yuan\lancover-yuan\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134.tar.gz</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -62,12 +62,12 @@
|
|||
<ParaChsName>DEM数字高程影像</ParaChsName>
|
||||
<Description>30m分辨率DEM数字高程影像tif</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>File</DataType>
|
||||
<DataType>tif</DataType>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>F:\VegetationPhenology-likun\rusuoces\dem</ParaValue>
|
||||
<ParaValue>F:\xibei_LandCover\dem.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -86,7 +86,7 @@
|
|||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaValue>
|
||||
F:\VegetationPhenology-likun\rusuoces\S1A</ParaValue>
|
||||
F:\isce_yuan\lancover-yuan\S1A_map</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -121,7 +121,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\ortho\Output\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-ortho.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\ortho\Output\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho.tar.gz</ParaValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\AtmosphericDelay\Output\GF3_SAY_FSI_001614_E113.2_N34.5_20161129_L1A_HHHV_L10002015686</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\AtmosphericDelay\Output\GF3_SAY_FSI_001614_E113.2_N34.5_20161129_L1A_HHHV_L10002015686-IADC.tar.gz</ParaValue>
|
||||
</Parameter>
|
||||
</Outputs>
|
||||
</AlgCompt>
|
||||
|
|
|
@ -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) # 剔除相位延迟后的数组->剔除相位延迟干涉图
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>F:\VegetationPhenology-likun\rusuoces\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764.tar.gz</ParaValue>
|
||||
<ParaValue>F:\MicroWorkspace\20240826Ortho\GF3B_MH1_UFS_012705_E116.4_N44.2_20240422_L1A_DH_L10000343416.tar.gz</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>File</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>F:\VegetationPhenology-likun\lijiang\dem</ParaValue>
|
||||
<ParaValue>F:\MicroWorkspace\20240826Ortho\dem</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>File</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>F:\VegetationPhenology-likun\rusuoces\S1A</ParaValue>
|
||||
<ParaValue>F:\MicroWorkspace\20240826Ortho\S1GBM</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -89,7 +89,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\BackScattering\Output\GF3C_MYC_QPSI_006270_E100.4_N27.0_20230615_L1A_AHV_L10000158764-cal.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\BackScattering\Output\GF3B_MH1_UFS_012705_E116.4_N44.2_20240422_L1A_DH_L10000343416-cal.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>34.62;34.67;113.15;113.18</ParaValue>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
|
|
@ -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
|
|
@ -42,7 +42,7 @@
|
|||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>
|
||||
F:\MicroWorkspace\GF3A_nanjing\input-ortho\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_AHV_L10003515422-ortho.tar.gz</ParaValue>
|
||||
F:\isce_yuan\lancover-yuan\GF3B_KSC_QPSI_010328_E86.1_N44.5_20231109_L1A_AHV_L10000262134-ortho.tar.gz</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -55,12 +55,12 @@
|
|||
<ParaChsName>标记数据</ParaChsName>
|
||||
<Description>标记的样本数据</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<DataType>csv</DataType>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>F:\al_zhongji\C-SAR-data\landcover\CSAR_land_LandCoverLable.zip</ParaValue>
|
||||
<ParaValue>F:\isce_yuan\lancover-yuan\train_landConver1.csv</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>UploadTable</Control>
|
||||
|
@ -120,7 +120,7 @@
|
|||
<MaxValue>DEFAULT</MaxValue>
|
||||
<NoDataValue>DEFAULT</NoDataValue>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\LandCover\Output\GF3_SAY_QPSI_011444_E118.9_N31.4_20181012_L1A_AHV_L10003515422-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>
|
||||
</Outputs>
|
||||
</AlgCompt>
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>E:\辅助数据\GF3Data\leafindex\GF3_MDJ_QPSI_031847_E116.4_N43.9_20220828_L1A_AHV_L10006708819-cal.tar.gz</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal.tar.gz</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -81,9 +81,9 @@
|
|||
<ParaChsName>土壤水分产品</ParaChsName>
|
||||
<Description>土壤水分产品</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>E:\辅助数据\GF3Data\leafindex\CSAR_leaf_NEW_soil_moisture.zip</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal-SMC.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -96,9 +96,9 @@
|
|||
<ParaChsName>叶面积指数实测数据</ParaChsName>
|
||||
<Description>叶面积指数实测数据</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>E:\辅助数据\GF3Data\leafindex\CSAR_leaf_new_LAI.zip</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\LAI\LAi.csv</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -111,9 +111,9 @@
|
|||
<ParaChsName>NDVI</ParaChsName>
|
||||
<Description>NDVI影像,坐标系要求:WGS84</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>E:\辅助数据\GF3Data\leafindex\CSAR_leaf_L9NDVI.zip</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -141,9 +141,9 @@
|
|||
<ParaChsName>地表覆盖度</ParaChsName>
|
||||
<Description>地表覆盖度数据,坐标系要求:WGS84</Description>
|
||||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>E:\辅助数据\GF3Data\leafindex\CASR_leaf_N50_40_2020LC030.zip</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\landCover.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -158,7 +158,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>10;20;30;40;50;60;80;90</ParaValue>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
@ -235,7 +235,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Cal</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\LeafAreaIndex\Output\GF3_MDJ_QPSI_031847_E116.4_N43.9_20220828_L1A_AHV_L10006708819-cal-LAI.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\LeafAreaIndex\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-cal-LAI.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -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)) # 转换为线性值
|
||||
|
||||
|
|
|
@ -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)
|
||||
# 绘制分布图
|
||||
|
@ -200,3 +200,5 @@ def split_sample_list(sample_list,train_ratio):
|
|||
else:
|
||||
sample_test.append(sample_list[i])
|
||||
return [sample_train,sample_test]
|
||||
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\BackScattering\Output\GF3B_KSC_QPSI_010328_E86.0_N44.7_20231109_L1A_AHV_L10000262135-cal.tar.gz</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\GF3_SYC_QPSI_040488_E110.7_N20.1_20240418_L1A_AHV_L10006923782-cal.tar.gz</ParaValue>
|
||||
</Parameter>
|
||||
<Parameter>
|
||||
<ParaName>Covering</ParaName>
|
||||
|
@ -45,7 +45,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2023xibei\fugaileixing.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\landCover_Glob30.tif</ParaValue>
|
||||
</Parameter>
|
||||
<Parameter>
|
||||
<ParaName>CoveringIDs</ParaName>
|
||||
|
@ -54,7 +54,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<ParaValue>10;20;30;40;70;90</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\S2_NDVImed2.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif</ParaValue>
|
||||
</Parameter>
|
||||
<Parameter>
|
||||
<ParaName>NDVIScope</ParaName>
|
||||
|
@ -100,7 +100,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\S2_NDWImed.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDWI\S2_NDWImed_SMC_GF3.tif</ParaValue>
|
||||
</Parameter>
|
||||
<Parameter>
|
||||
<ParaName>e1</ParaName>
|
||||
|
@ -109,7 +109,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>438.4106624354813</ParaValue>
|
||||
<ParaValue>-12.772025319313864</ParaValue>
|
||||
<MaxValue>100</MaxValue>
|
||||
<MinValue>-100</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -121,7 +121,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>6.378881543182451</ParaValue>
|
||||
<ParaValue>11.555079721123748</ParaValue>
|
||||
<MaxValue>100</MaxValue>
|
||||
<MinValue>-100</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -133,7 +133,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>-2035131.498410542</ParaValue>
|
||||
<ParaValue>28.605979879379152</ParaValue>
|
||||
<MaxValue>9999</MaxValue>
|
||||
<MinValue>-9999</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -145,7 +145,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>0.3015485630885973</ParaValue>
|
||||
<ParaValue>-0.04303182290305167</ParaValue>
|
||||
<MaxValue>9999</MaxValue>
|
||||
<MinValue>-9999</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -157,7 +157,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>11303.518113684022</ParaValue>
|
||||
<ParaValue>-17.212613314078236</ParaValue>
|
||||
<MaxValue>9999</MaxValue>
|
||||
<MinValue>-9999</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -169,7 +169,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>float</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>-0.6110363015619775</ParaValue>
|
||||
<ParaValue>1.1965671296029239</ParaValue>
|
||||
<MaxValue>9999</MaxValue>
|
||||
<MinValue>-9999</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -183,7 +183,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilMoisture\Output\GF3B_KSC_QPSI_010328_E86.0_N44.7_20231109_L1A_AHV_L10000262135-cal-SMC.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilMoisture\Output\GF3_SYC_QPSI_040488_E110.7_N20.1_20240418_L1A_AHV_L10006923782-cal-SMC.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -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
|
|
@ -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)):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<Root>
|
||||
<TaskID>GEOSAR_202107275419_0001-0</TaskID>
|
||||
<WorkSpace>D:\micro\WorkSpace\Geo_sar\</WorkSpace>
|
||||
<WorkSpace>D:\micro\GEOWork\</WorkSpace>
|
||||
<AlgCompt>
|
||||
<DataTransModel>File</DataTransModel>
|
||||
<Artificial>ElementAlg</Artificial>
|
||||
|
@ -39,7 +39,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>VV</ParaValue>
|
||||
<ParaValue>HH</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
@ -56,7 +56,8 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>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
|
||||
<ParaValue>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
|
||||
</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
|
@ -87,7 +88,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\MicroWorkspace\Micro\soil_geo\cover\cover.tif</ParaValue>
|
||||
<ParaValue>F:\202306hb\Landcover\50T_20220101-20230101.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -102,7 +103,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>20;30;70;71;72;73;74;90</ParaValue>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
@ -117,7 +118,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\MicroWorkspace\Micro\soil_geo\201806NDVI\201806_NDVImax.tif</ParaValue>
|
||||
<ParaValue>F:\202306hb\NDVI\S2_202306_NDVI.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -239,7 +240,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\Geo_sar\SoilMoisture\Output\SoilMoistureProduct.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\GEOWork\SoilMoisture\Output\SoilMoistureProduct.tar.gz</ParaValue>
|
||||
</Parameter>
|
||||
</Outputs>
|
||||
</AlgCompt>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>
|
||||
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
|
||||
</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\S2_NDVImed.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\landCover_Glob30.tif</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -82,7 +82,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>zip</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.zip</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.zip</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -96,7 +96,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<ParaValue>10;20;30;40;70;90</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -110,7 +110,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\S2_NDVImed.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -140,7 +140,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityPredict\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityPredict\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>
|
||||
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
|
||||
</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>csv</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\soilty.csv</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\soilSality.csv</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -84,7 +84,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3C_KSC_QPSI_008440_E86.2_N44.1_20231113_L1A_AHV_L10000215823-ortho-SSAA.zip</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinityTrain\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.zip</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2023xibei\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho.tar.gz</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>csv</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2023xibei\soilSality.csv</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\soilSality.csv</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -80,7 +80,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2023xibei\fugaileixing.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\landCover.tif</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -108,7 +108,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2023xibei\S2_NDVImed2.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
@ -138,7 +138,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinity\Output\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho-SSAA.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SoilSalinity\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SSAA.tar.gz</ParaValue>
|
||||
<MaxValue>DEFAULT</MaxValue>
|
||||
<MinValue>DEFAULT</MinValue>
|
||||
<OptionValue>DEFAULT</OptionValue>
|
||||
|
|
|
@ -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!')
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<AlgorithmDesc>微波卫星3-5级产品生产模型</AlgorithmDesc>
|
||||
<Version>3</Version>
|
||||
<AlgorithmClass>陆表类产品_土壤盐碱度</AlgorithmClass>
|
||||
<AlgorithmAlias>SoilSalinity_C_SAR_V3</AlgorithmAlia>
|
||||
<AlgorithmAlias>SoilSalinity_C_SAR_V3</AlgorithmAlias>
|
||||
<AlgorithmLevel>5</AlgorithmLevel>
|
||||
<AlgoirthmID>SoilSalinity_CSAR_中科卫星应用德清研究院_3</AlgoirthmID>
|
||||
<Author>中科卫星应用德清研究院</Author>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -38,7 +38,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho.tar.gz</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho.tar.gz</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\auxfile\LandaCover.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\landCover_Glob30.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -83,7 +83,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>empty</ParaValue>
|
||||
<ParaValue>10;20;30;40;70;90</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
@ -98,7 +98,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tif</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>F:\2024xibei\auxfile\S2_NDVImed.tif</ParaValue>
|
||||
<ParaValue>F:\Tian-GF3-Wenchang\NDVI\S2_NDVImed_SMC_GF3.tif</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>False</EnMultipleChoice>
|
||||
<Control>File</Control>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<ParaType>File</ParaType>
|
||||
<DataType>tar.gz</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>D:\micro\WorkSpace\SurfaceRoughness\Output\GF3C_KSC_QPSI_008440_E86.0_N44.7_20231113_L1A_AHV_L10000215825-ortho-SR.tar.gz</ParaValue>
|
||||
<ParaValue>D:\micro\WorkSpace\SurfaceRoughness\Output\GF3_MYC_QPSI_040611_E110.6_N20.0_20240427_L1A_AHV_L10006928143-ortho-SR.tar.gz</ParaValue>
|
||||
</Parameter>
|
||||
</Outputs>
|
||||
</AlgCompt>
|
||||
|
|
|
@ -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)):
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
# """
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
<ParaType>Value</ParaType>
|
||||
<DataType>string</DataType>
|
||||
<ParaSource>Man</ParaSource>
|
||||
<ParaValue>0,1,2</ParaValue>
|
||||
<ParaValue>0,1,2,3,4,5,6,7,8,9</ParaValue>
|
||||
<EnModification>True</EnModification>
|
||||
<EnMultipleChoice>True</EnMultipleChoice>
|
||||
<Control>UploadInput</Control>
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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集合
|
||||
|
|
Loading…
Reference in New Issue