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)))