From c77fb7d69e47e6d6193d09e54b92cab63256bab1 Mon Sep 17 00:00:00 2001
From: Emma Oceguera-Conchas <113361856+E-O-Conchas@users.noreply.github.com>
Date: Tue, 17 Oct 2023 09:27:55 +0200
Subject: [PATCH] previously fragmentation analysis

---
 ...reclass_to_fragmented_adding_abandoment.py | 84 +++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 clc_reclass_to_fragmented_adding_abandoment.py

diff --git a/clc_reclass_to_fragmented_adding_abandoment.py b/clc_reclass_to_fragmented_adding_abandoment.py
new file mode 100644
index 0000000..ccdb633
--- /dev/null
+++ b/clc_reclass_to_fragmented_adding_abandoment.py
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Feb 06 16:58:17 2019
+
+@author: fw56moba
+"""
+
+import numpy as np
+
+import MacPyver as mp
+
+
+clc_path = r"I:\biocon\GIS_data\Corine_LandCover\g250_clc12_V18_5.tif"
+aban_path = r"I:\biocon\Projects\RewildingMAP\DataSources\LandAbandonement\LandAbandonment_Scenarios\A1AbandAr2040_250m_3035.tif"
+
+#read in rasters
+clc = mp.raster.tiff.read_tif(clc_path)
+aba = mp.raster.tiff.read_tif(aban_path)
+
+
+# values are the unique values form the column code_12 from the 
+#corine landcover shapefile
+#using: shp_values = set(row[0] for row in arcpy.da.SearchCursor("clc12_Version_18_5", "code_12"))
+shp_values = [u'111', u'112', u'121', u'122', u'123', u'124', u'131', u'132', u'133', u'141',
+ u'142', u'211', u'212', u'213', u'221', u'222', u'223', u'231', u'241', u'242',
+ u'243', u'244', u'311', u'312', u'313', u'321', u'322', u'323', u'324', u'331',
+ u'332', u'333', u'334', u'335', u'411', u'412', u'421', u'422', u'423', u'511',
+ u'512', u'521', u'522', u'523', u'999']
+
+#get unique values from clc raster
+uniq = np.unique(clc)
+
+#create translation from raster value to code_12 value
+clc_dic = {}
+for x in range(len(shp_values)): 
+    clc_dic[uniq[x]] = int(shp_values[x])
+
+"""result from the dictionary function above:
+#dictionary contains the translation from raster value to shape code_12 value
+'''
+{1: 111, 2: 112, 3: 121, 4: 122, 5: 123, 6: 124, 7: 131, 8: 132, 9: 133,
+ 10: 141, 11: 142, 12: 211, 13: 212, 14: 213, 15: 221, 16: 222, 17: 223,
+ 18: 231, 19: 241, 20: 242, 21: 243, 22: 244, 23: 311, 24: 312, 25: 313,
+ 26: 321, 27: 322, 28: 323, 29: 324, 30: 331, 31: 332, 32: 333, 33: 334,
+ 34: 335, 35: 411, 36: 412, 37: 421, 38: 422, 39: 423, 40: 511, 41: 512,
+ 42: 521, 43: 522, 44: 523, 48: 999}
+"""
+
+#copy raster
+clc_code_12 = clc[:]
+#translate raster values based on the dictionary
+for x in clc_dic:
+    clc_code_12 = np.where(clc_code_12 == x, clc_dic[x], clc_code_12)
+
+
+#reclass raster pastures as intensive agriculture 
+dicti = {'a':[111,113,999], 'b':[211,242,999], 'c':[512, 523, 999], 'd':[995,995,999]}
+
+inraster = clc_code_12[:]
+outraster = inraster[:]
+for x in dicti:
+    start,end,new_value = dicti[x]
+    outraster = np.where((inraster>=start)&(inraster<=end),new_value, outraster )
+
+#translate all values to 1 which are not 999 or 255
+outraster = np.where((outraster != 999) & (outraster != 255), 1, outraster)
+
+#add abandomant area to landcover
+outraster = np.where(aba == 1, 1, outraster)
+
+#save to tif file
+mp.raster.tiff.write_tif(clc_path, r'O:\GIS_data\Corine_LandCover\g250_clc12_V18_5_reclass_binar_02.tif', outraster, 0, nodata = 255, option = "COMPRESS=DEFLATE")
+
+
+outraster = np.where(outraster==999, 9, outraster)
+outraster = np.where(clc == 44, 0, outraster)
+outraster = np.where(outraster==255,0,outraster)
+mp.raster.tiff.write_tif(clc_path,  r'I:\biocon\Emmanuel_Oceguera\projects\2023_03_NaturaConnect\dataSources\clc2018_v2020_geoPackage_Raster\g250_clc12_V18_5_reclass_binar_excl_abandom_8bit.tif',outraster, 6, nodata=0, option="COMPRESS=DEFLATE")
+
+
+"""
+Continue in arcmap 
+convert raster to polygon
+"""
\ No newline at end of file
-- 
GitLab