diff --git a/script/classif_bassins.r b/script/classif_bassins.r new file mode 100644 index 0000000000000000000000000000000000000000..68df3ceec545c3c944e6dfd6f1176d43f03506db --- /dev/null +++ b/script/classif_bassins.r @@ -0,0 +1,72 @@ +# loading libraries +library(sf) +library(geau) + +# loading dataset +bassin = sf::st_read("/home/dnm/Seafile/data-common/data/topage/bassin_versant/2019/06_RhУne-MВditerranВe_BassinVersantTopographique.shp") + +# checking and adjusting crs (if needed) +if (!sf::st_crs(bassin) == sf::st_crs(geau::so_ii_limit)) { + bassin = sf::st_transform(bassin, crs = sf::st_crs(geau::so_ii_limit)) +} + +if (!sf::st_crs(subsector) == sf::st_crs(geau::so_ii_limit)) { + subsector = sf::st_transform(subsector, crs = sf::st_crs(geau::so_ii_limit)) +} + +# data manipulation +selection_col = c("CdOH", "TopoOH", "geometry") +selection_row = list( + mosson = c( + '06B0000002150456066', + '06B0000002150458403', + '06B0000002150458401', + '06B0000002150456007', + '06B0000002150455994' + ), + lez = c( + '06B0000002150456086', + '06B0000002150456009' + ), + lor = c( + '06B0000002150456068', + '06B0000002150456055', + '06B0000002150456053', + '06B0000002150461370', + '06B0000002150457044' + ) +) + +bassin_so_ii = bassin[bassin[["CdOH"]] %in% unlist(unname(selection_row)), selection_col] +names(bassin_so_ii) = c("id", "bassin", "geometry") +bassin_so_ii[["degre"]] = 2 + +bassin_mosson_geom = bassin[bassin[["CdOH"]] %in% unlist(unname(selection_row[["mosson"]])), selection_col] |> sf::st_union() +bassin_mosson_df = data.frame( + id = "soii01", + bassin = "Bassin Mosson", + degre = 1 +) +bassin_mosson = sf::st_set_geometry(bassin_mosson_df, bassin_mosson_geom) + +bassin_lez_geom = bassin[bassin[["CdOH"]] %in% unlist(unname(selection_row[["lez"]])), selection_col] |> sf::st_union() +bassin_lez_df = data.frame( + id = "soii02", + bassin = "Bassin Lez", + degre = 1 +) +bassin_lez = sf::st_set_geometry(bassin_lez_df, bassin_lez_geom) + +bassin_lor_geom = bassin[bassin[["CdOH"]] %in% unlist(unname(selection_row[["lor"]])), selection_col] |> sf::st_union() +bassin_lor_df = data.frame( + id = "soii03", + bassin = "Bassin L'or", + degre = 1 +) +bassin_lor = sf::st_set_geometry(bassin_lor_df, bassin_lor_geom) + +bassin_so_ii = rbind(bassin_so_ii, bassin_mosson) +bassin_so_ii = rbind(bassin_so_ii, bassin_lez) +bassin_so_ii = rbind(bassin_so_ii, bassin_lor) + +sf::st_write(bassin_so_ii, dsn = "data-common/so-ii/topage/2021-09/bassin_versant_so_ii.shp")