# 2024-11-26 # LE script permet d'intégrer de nouvelles géométries # dans la table sites.r_sites_geom. Les AUTEURS ont été # intégrés manuellement. import geopandas as gpd from pycen import con, zh as ZH from pycen.tools import dropZ, Polygons_to_MultiPolygon from os import path from matplotlib import pyplot as plt zh = ZH() r_geom = zh.get_sitesGeom() r_geom = gpd.read_postgis(''' SELECT r_sites_geom.* FROM sites.r_sites_geom JOIN sites.sites ON sites.id = r_sites_geom.id_site AND sites.id_type_milieu = 1 ''',con) r_geom.dropna(how="all",axis=1,inplace=True) r_geom.drop(columns=['id','date_insert','id_origine','id_lot'],inplace=True) PATH = '/home/colas/Documents/9_PROJETS/1_ZH/MAJ/Actu 2024/CBNA/zh38' file = 'zh_to_integ.gpkg' df = gpd.read_file(path.join(PATH,file)) df.rename_geometry('geom', inplace=True) df = dropZ(df) # DEL geo A SUPP del_id=df[df.lien_zh=='A SUPP'].index.tolist() df.drop(del_id,inplace=True) lstdel_id2 = [ '38RH0171','38RH0066','38RH0077','38BO0144','38BO0109', '38BO0105','38RH0012','38BO0139','38BO0200','38RH0292', '38BO0105 + combl vid' ] del_id2 = df[df.lien_zh.isin(lstdel_id2)].index.tolist() df.drop(del_id2,inplace=True) lstdel_id3 = [ '38RH0293', '38RH0297', '38RH0296', '38RH0294', '38BO0331', '38RH0295' ] del_id3 = df[df.lien_zh.isin(lstdel_id3)].index.tolist() df.drop(del_id3,inplace=True) ins = df[df.lien_zh!='aucun'].copy() ins.lien_zh.unique() # # Fait # r_geom[r_geom.id_site=='38RH0171'] # r_geom[r_geom.id_site=='38RH0066'] # r_geom[r_geom.id_site=='38RH0077'] # r_geom[r_geom.id_site=='38BO0144'] # r_geom[r_geom.id_site=='38BO0109'] # r_geom[r_geom.id_site=='38BO0105'] # r_geom[r_geom.id_site=='38RH0012'] # # Fait, Ne pas reproduire. # BO139 = r_geom[r_geom.id_site=='38BO0139'].copy() # BO200 = r_geom[r_geom.id_site=='38BO0200'].copy() # RH292 = r_geom[r_geom.id_site=='38RH0292'].copy() # BO139.date = '2024-11-26' # BO200.date = '2024-11-26' # RH292.date = '2024-11-26' # BO139.geom = gpd.GeoSeries([ # BO139.geom.values[-1], # *ins[ins.lien_zh=='38BO0139'].geom.values # ],crs=2154).unary_union # BO200.geom = gpd.GeoSeries([ # BO200.geom.values[-1], # *ins[ins.lien_zh=='38BO0200'].geom.values # ],crs=2154).unary_union # RH292.geom = gpd.GeoSeries([ # RH292.geom.values[-1], # *ins[ins.lien_zh=='38RH0292'].geom.values # ],crs=2154).unary_union # Polygons_to_MultiPolygon(BO139).to_postgis('r_sites_geom',con,schema='sites',if_exists='append',index=False) # Polygons_to_MultiPolygon(BO200).to_postgis('r_sites_geom',con,schema='sites',if_exists='append',index=False) # Polygons_to_MultiPolygon(RH292).to_postgis('r_sites_geom',con,schema='sites',if_exists='append',index=False) # Traitement zh id3 gdf = gpd.GeoDataFrame() for i in ins.lien_zh.unique(): if i == 'A prospecter': continue tmp = gpd.GeoDataFrame( {'site_code':[i]}, geometry=[ins[ins.lien_zh==i].unary_union], crs=2154 ).rename_geometry('geom') gdf = gpd.pd.concat([gdf,tmp]) # Traitement ZH id4, après tri des données avec Mathieu Juton df = gpd.read_file(path.join(PATH,file),layer='zh_to_integ') df.rename_geometry('geom', inplace=True) del_id=df[df.lien_zh=='A SUPP'].index.tolist() df.drop(del_id,inplace=True) id_updtgeo = [ '38BI0086', '38BO0128', '38BO0160 + remove trou', '38BO0181', '38BO0182', '38CG0001', '38CG0002', '38CG0019', '38CG0023 + bouche trou', '38CG0025 + remove vide', '38CG0027', '38CG0031', '38CG0147', '38CG0148', '38RH0054', '38RH0076', '38RH0122', '38RH0123 + remove vide', '38RH0132 + remove vide', '38RH0135 + remove route', '38RH0143', '38RH0148', '38RH0148 + remove route' ]