107 lines
3.6 KiB
Python
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'
|
|
] |