Migrate all ODC models and prediction pipeline to Microsoft Planetary Computer
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
|
||||
# In[1]:
|
||||
|
||||
|
||||
# Khai báo các thư viện cần thiết
|
||||
from new_import_ODC import *
|
||||
|
||||
# Khai báo đường dẫn đến kết quả phân loại và dữ liệu của địa phương
|
||||
KD_path = "ThuanHoa/KhoanhDat/ThuanHoa_TKDD2022.shp"
|
||||
KetQuaPhanLoaiDat = "KetQuaPhanLoaiDatODC.tif"
|
||||
|
||||
|
||||
# In[2]:
|
||||
|
||||
|
||||
# khai báo các loại đất từ dữ liệu kiểm kê ứng với các hiện trạng được phân loại từ viễn thám
|
||||
CODE_MAP = {
|
||||
"BHK": 2,
|
||||
"CLN": 3,
|
||||
"DGD": 6,
|
||||
"DGT": 6,
|
||||
"DNL": 6,
|
||||
"DRA": 6,
|
||||
"DSH": 6,
|
||||
"DTL": 5,
|
||||
"DTS": 6,
|
||||
"DYT": 6,
|
||||
"LUC": 1,
|
||||
"NKH": 3,
|
||||
"NTD": 6,
|
||||
"NTS": 4,
|
||||
"ONT": 6,
|
||||
"SKC": 6,
|
||||
"SKX": 6,
|
||||
"SON": 5,
|
||||
"TMD": 6,
|
||||
"TON": 6,
|
||||
"TSC": 6,
|
||||
}
|
||||
|
||||
# Khai báo các nhãn phân loại đất ứng với 3 loại đất chính
|
||||
HT_MAP = {
|
||||
"NN": {"name": "Đất Nông Nghiệp", "data": [1, 2, 3, 4]},
|
||||
"PNN": {"name": "Đất Phi Nông Nghiệp", "data": [6]},
|
||||
"TQ": {"name": "Đất Thổ Quả", "data": [15]},
|
||||
}
|
||||
|
||||
|
||||
# In[3]:
|
||||
|
||||
|
||||
# Tiến hành chồng lắp
|
||||
result = compare(KD_path, KetQuaPhanLoaiDat, CODE_MAP, HT_MAP)
|
||||
|
||||
|
||||
# In[4]:
|
||||
|
||||
|
||||
# cấu hình màu cho các loại sử dụng đất
|
||||
colors = [
|
||||
"#abcee9",
|
||||
"#ffffc0",
|
||||
"#c4ff9e",
|
||||
"#ffd6a8",
|
||||
"#93ddda",
|
||||
"#1aeef7",
|
||||
"#ffa7f2",
|
||||
"#33ee33",
|
||||
]
|
||||
labels = ["Lúa tôm", "Lúa", "CHN", "CLN", "TS", "Sông", "Đất xây dựng", "Rừng"]
|
||||
|
||||
|
||||
# In[5]:
|
||||
|
||||
|
||||
# Lưu kết quả
|
||||
save_result(result, HT_MAP)
|
||||
|
||||
|
||||
# In[6]:
|
||||
|
||||
|
||||
# hiển thị kết quả
|
||||
xx = []
|
||||
|
||||
for k, v in result.items():
|
||||
rs = merge_arrays(v, nodata=np.nan)
|
||||
xx.append(rs.squeeze(drop=True))
|
||||
xx = xr.concat(xx, pd.Index([HT_MAP[x]["name"] for x in HT_MAP], name="name"))
|
||||
|
||||
colorval = list(range(len(colors)))
|
||||
options = {
|
||||
"cmap": colors,
|
||||
"clim": (0, 8),
|
||||
"aspect": "equal",
|
||||
"height": 400,
|
||||
"colorbar_opts": {
|
||||
"major_label_overrides": dict(zip(colorval, labels)),
|
||||
"major_label_text_align": "left",
|
||||
"ticker": FixedTicker(ticks=colorval),
|
||||
},
|
||||
}
|
||||
|
||||
xx.hvplot(
|
||||
groupby="name",
|
||||
rasterize=True, # Use Datashader, particularly useful for dask arrays
|
||||
aggregator=reductions.mode(), # Datashader selects mode value, requires 'hv.Image'
|
||||
).options(opts.Image(**options))
|
||||
|
||||
|
||||
# In[ ]:
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user