Files
remote-sensing/__pycache__/new_import_ODC.cpython-310.pyc
T

86 lines
12 KiB
Plaintext
Raw Normal View History

o
Ki+Dã@s€ddlmZddlZddlZdejd<ddlmZddlZ e  
dd¡ddl Z ddl
Z
ddlmZddlmZddlmZdd lmZmZdd
lmZd ZeejvrXej e¡dd lmZmZmZm Z dd
l!m"Z"ddl#m$Z$ddl%Z&ddl'm'Z'ddlmZddl(m)Z)ddl(m*Z*ddl+m,Z,m-Z-ddl.Z/ddl0Z/ddl1Z2ddl3Z4ddl5Z6ddl7m8Z9ddl:m;Z;ddl1m<Z<ddl=m>Z>ddl?Z?ddl@Z@e2jAdddddlBmCZCddlDmEZEddlFmGZGddlHmIZImJZJddlKmLZLddlMmNZNddlDmEZEddlOmPZPdd lKmQZQdd!lFmRZRddlFmGZGdd"lHmIZIdd#lSmTZTmUZUddlVZWdd$lXmYZYdd%lZm[Z[ddl1m<Z<ddl:m;Z;dd&l\m]Z]dd'l^m_Z_dd(lKm`Z`dd)lambZbdd*lDmcZcddlFmGZGdd+lHmdZdmeZeddlfZfd,d-„Zgd.d/„Zhd0d1„Zid2d3„Zjd4d5„Zkd6d7„Zld8d9„Zmd:d;„Znd<d=„Zod>d?„Zpd@dA„ZqdBdC„ZrdDdE„ZsdFdG„ZtdUdIdJ„ZudKdL„ZvdMdN„ZwdOdP„ZxdQdR„ZydSdT„ZzdS)Vé0Z
USE_PYGEOS)ÚMarkdownzdisplay.max_rows)Úconfigure_s3_access)Úmasking)Ú write_cog)Ú display_mapÚrgb)Úmostcommon_crsz/home/jovyan/easi-notebooks)Ú EasiDefaultsÚxarray_object_sizeÚnotebook_utilsÚunset_cachingproxy)Úload_s2l2a_with_offset)Úprogress)Údatetime)Ú enum_to_bool)Ú xr_reproject)ÚGeoBoxÚbox)Ú
reductions)Úopts©Ú
load_data_geoZbokehF)Zlogo)Úcalculate_indices)ÚRandomForestClassifier)Útrain_test_split)Úaccuracy_scoreÚclassification_report)Ú LabelEncoder)ÚPipeline)Ú
SimpleImputer)ÚStandardScaler)Ú GridSearchCV)r)ÚPointÚPolygon)ÚCRS)ÚListedColormap)Ú FixedTicker)Ú merge_arrays)ÚPolynomialFeatures)ÚLinearRegression)ÚRandomForestRegressor)Úmean_squared_errorÚr2_scorec
Cs\d}||||dœ}t ||¡}td|ƒgd¢}||dddddœd œ}t|||Bƒ} | S©
NZs2_l2a)ÚproductÚtimezMost common native CRS: )ÚredZnirÚscl©iöÿÿÿé
Ú solar_dayé©r0r1)Ú measurementsÚ
output_crsÚ
resolutionÚgroup_byÚ dask_chunks©r r Úprintr)
ÚdcÚ
date_rangeÚlongtitude_rangeÚlatitude_ranger/ÚqueryÚ
native_crsr:Ú load_paramsÚdata©rIú5/home/x79/CSIROBoeingPhase5-Vietnam/new_import_ODC.pyÚ load_dataTs(ü ûþrKcs„d}t ||¡}t|ƒt|jdjdƒ|jdjdfdddDƒ}t|||ƒ}dd|jDƒ}|| |¡ ¡}|S)Nr4Úqaécóg|]}ˆt|ƒqSrI©Ústr©Ú.0ÚZ flags_defrIrJÚ
<listcomp>uózmask_clean.<locals>.<listcomp>©éééécSóg|]}|dkr|qS©r4rI©rRr0rIrIrJrU{rV© rZdescribe_variable_flagsÚdisplayÚlocÚvaluesrZ data_varsÚwhereÚpersist©rHZ flag_nameZ flag_descZgood_pixel_flagsZgood_pixel_maskZdata_layer_namesÚresultrIrTrJÚ
mask_cleannsrgcCs€g}|D]!}|j|d}|j|djdd}|j|djdd}| |¡qtjdd|Dƒdd}|jdd}|jdd}|S)r2r2)ÚdimcSsg|]}|qSrIrIrQrIrIrJrUˆszfill_nan.<locals>.<listcomp>)ÚselZbfillZffillÚappendÚxrÚconcat)ÚndviZ
time_splitÚrsÚtimesÚtmpZfill_dsZ merged_ndviZfill_mrIrIrJÚfill_nans    rrcCs t|ƒ}|S©Nr)Z
train_pathÚtrainrIrIrJÚload_train_dataŽsrucCst |¡}t |¡}||fSrs)Ú rioxarrayÚ
open_rasterio)Zname_vhZname_vvÚdsvvÚdsvhrIrIrJÚ load_sen1“s

rzc Ci}| ¡D]X\}}d|d}z7|j|jj|jjddj}|j|jj|jjddj} |j|jj|jjddj}
t || |
f¡|jdœ||<Wqt y^} z
t
| ƒWYd} ~ qd} ~ ww|S)NZpoint_rMÚnearest©r0r1Úmethod)rHÚlabel) ÚiterrowsrjÚgeometryr0r1rbÚnpÚ concatenateZHT_codeÚ Exceptionr@) rtÚ average_ndviryrxZloaded_datasetsÚidxÚpointÚkeyZ ndvi_dataÚvh_dataÚvv_dataÚerIrIrJÚget_data_sen1_and_sen2™sþþr‹ctƒ}|jj}| fdd|Dƒ¡}g}g}g}| ¡D] \} }
| |
¡qtt|ƒƒD]} || durE| || d¡| || ¡q-t||ddd\} }
}}t|
|ddd\}}}}| |||||fS)Ncsg|]}ˆ|qSrIrI)rRr~©Ú
label_mappingrIrJrU°sz$split_train_data.<locals>.<listcomp>rHgš™™™™™Ù?é*)Z test_sizeÚ random_stategà?) rZ HientrangrbZ
fit_transformÚitemsrkÚrangeÚlenr)rtrÚdatasetsZ
label_encoderÚlabelsZnumeric_labelsÚXZx_newZlb_newÚvrSÚX_trainZX_tempÚy_trainZy_tempÚX_valZX_testÚy_valZy_testrIrJÚsplit_train_data«s   c Ctddd}tdtƒfd|fgƒ}gd¢gd¢dd gd
œ}t||d d dd
}| ||¡|j}td|ƒ| |¡} t|| ƒ}
tdt |
dƒddƒ|S©NrŽéÿÿÿÿ)rÚn_jobsZscalerZ
classifier)édi,)r[ér6ééZginiÚentropy)Zclassifier__n_estimatorsZclassifier__max_depthZclassifier__criterionrZÚaccuracy)ÚcvZscoringrŸzBest Parameters:z
Accuracy: rXr z
rrr!r"ÚfitZ best_params_r@ÚpredictrÚround) r˜r™rÚ
base_modelÚpipelineÚ
param_gridÚ grid_searchÚ best_paramsÚy_predr¥rIrIrJÚ
train_with_rf¿s" ýý 


cCs<d}tj |¡s
t |¡t |tj ||¡¡tdƒdS)NZ model_trainzDone!)ÚosÚpathÚexistsÚmkdirÚjoblibÚdumpÚjoinr@)Z name_filer®Zdir_save_modelrIrIrJÚ
save_modelãs
 
 cCg}t|jdƒD]1}|j|dj}|j|jj|ddj}|j|jj|ddj} tj||| fdd}
| |
j ¡q | 
|¡} |   |jjd|j jd¡} t
j| dd}
|
j |¡}
|j j}|jj}t
j|
||d œd
d gd }|j |jj¡}|S)
NrM)r1r{)r1r}r)Úaxis)r1r0)Údimsr9r1r0)Úcoordsr»)rÚshapeZiselrbrjr1rrÚextendÚTr©Úreshaper0rlZ DataArrayÚrioZ write_crsÚcrs)ÚmodelZdata_crsrnÚvhÚvvZ data_predictrSZndvi_tmprˆr‰Zall_tmpr°Z final_labelZfinal_xarray_saveZx_valuesZy_valuesÚ
data_arrayrIrIrJës&
 þcCsvt |¡}| |jj¡}t|jjdjj ƒ}dd|Dƒ}d|gdœg}|jj
||jjdd}|  |dkt dƒ¡}|S) NrcSsg|]\}}||fqSrIrI)rRr0r1rIrIrJrUrVz%cut_according_shp.<locals>.<listcomp>r$)ÚtypeÚ coordinatesF)ÚdropÚnan)
ÚgpdÚ read_fileZto_crsrÁÚlistr€rbZexteriorr¼ÚcliprcÚfloat)Z
thuanhoa_pathr„ÚgdfZpolygon_coordsZpolygon_coordinatesZ
geometriesZ
region_resultrIrIrJÚcut_according_shps
þÿc Cs†tj|dd}|jj}|jj}t |¡}|ddd}|ddd} i}
| ¡D]\} } td| ƒg}
t t
|ƒƒD]{}||}||}|  ||¡}zY|j  
|gd¡}|| dvr|| krl| |t| ƒktj¡}n4||kr…| |t| ƒktj¡}| |dktj¡}n| |t|ƒktj¡}ntj|jddddddf<|
 |¡Wq=ty¸}zWYd}~q=d}~ww|
 | |
i¡q*|
S) Nz EPSG:9209)ZTQrHrZPNNzprocess g@)r€rbZtenchurvrwrr@rrÚgetrÁrcrrkÚupdate)ZKD_pathZKetQuaPhanLoaiDatZCODE_MAPÚHT_MAPrÐÚpolygonr~Z ouput_imageZcode_tqZcode_pnnrfr‡rbZ
array_listrSÚpoÚlbZcode_lbÚqrrŠrIrIrJÚcompares>
   ÿcCsld}tj |¡s
t |¡| ¡D]"\}}t|tjd}|j  |d|d¡t
d|d|dƒqdS)NzThuanHoa/KetQua©Znodataú.tifúsave © r´rr(rÚ to_rasterr@)rfÚ save_pathrr—rorIrIrJÚ save_result7s 
ýrác Cs\|\}}|jd|||ddgdddddœdd d