Python_scripts/3_AZALEE/tmp/compare_inv2021_actu2025.py
2026-04-28 14:17:26 +02:00

37 lines
1.8 KiB
Python

import pandas as pd
import geopandas as gpd
from pycen import con_gn
old = gpd.read_file('/home/cgeier/Téléchargements/Telechargement_1772622390_2696/data/n_zone_humide_s_038/n_zone_humide_s_038.json')
new = gpd.read_postgis('SELECT * FROM gn_exports.v_synthese_zones_humides_isere',con_gn).to_crs(2154)
tab = pd.read_csv('/home/cgeier/Documents/9_PROJETS/1_ZH/2024/RENDU SIG/pv_evolution_dossier.csv',sep=',')
for etude in tab.nom_etude.unique():
if tab[(tab.nom_etude==etude)].organisme_transmission.any():
continue
print('\n',etude)
news = tab[(tab.nom_etude==etude) & (tab.status_inventaire == 'Nouvelle')]
modif = tab[(tab.nom_etude==etude) & (tab.status_inventaire== 'Modification')]
supp = tab[(tab.nom_etude==etude) & (tab.status_inventaire == 'Supression')]
new_add = new[new.code.isin(news.code_zh.tolist())].copy()
del_zh = old[old.id_local.isin(supp.code_zh.tolist())]
print('\tNouvelles surfaces ajoutées : %f ha'%(round(new_add.area.sum()/10000,2)),' ; %i zh'%new_add.shape[0],' ; \n\tcode : ',', '.join(list(new_add.code)))
print('\tSurfaces supprimées : %f ha'%(round(del_zh.area.sum()/10000,2)),' ; %i zh'%del_zh.shape[0],' ; \n\tcode : ',', '.join(list(del_zh.id_local)))
code_modif = modif.code_zh.tolist()
diff = (new[new.code.isin(code_modif)]
.sort_values('code').set_index('code').area - old[old.id_local.isin(code_modif)]
.sort_values('id_local').set_index('id_local').area
)
add = diff[diff > 0]
red = diff[diff < 0]
print('\tModification surfaces ajoutées : %f ha'%(round(add.sum()/10000,2)),' ; %i zh'%add.shape[0],' ; \n\tcode : ',', '.join(list(add.index)))
print('\tModification surfaces perdues : %f ha'%(round(red.sum()/10000,2)),' ; %i zh'%red.shape[0],' ; \n\tcode : ',', '.join(list(red.index)))