#!/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[ ]: