Python_scripts/3_AZALEE/tmp/to_integ_CBNA_2024.py
2025-02-25 16:51:06 +01:00

107 lines
3.6 KiB
Python

# 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'
]