74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: UTF-8 -*-
|
|
#Nom : multi_auteurTOrelation_table.py
|
|
#Description :
|
|
#Copyright : 2021, CEN38
|
|
#Auteur : Colas Geier
|
|
#Version : 1.0
|
|
|
|
import pycen
|
|
import pandas as pd
|
|
import geopandas as gpd
|
|
from sqlalchemy import create_engine
|
|
from geoalchemy2 import Geometry
|
|
|
|
# Parametres bdd OUT
|
|
user = 'colas_g'
|
|
pwd = 'adm1n*38*'
|
|
adr = '192.168.60.10'
|
|
base = 'bd_cen'
|
|
con = create_engine('postgresql+psycopg2://{0}:{1}@{2}/{3}'.format(user,pwd,adr,base), echo=False)
|
|
|
|
aut = pycen.sites().auteur
|
|
aut.loc[aut.prenom.isna(),'auteur'] = aut.nom
|
|
aut.loc[~aut.prenom.isna(),'auteur'] = aut.nom + ' ' + aut.prenom
|
|
|
|
|
|
df = pycen.sites().get_sitesInfos()
|
|
df_aut = df[['id', 'auteur']]
|
|
df_aut.set_index('id', inplace=True)
|
|
df_aut = df_aut.auteur.str.split(' \& ',expand=True)
|
|
|
|
df_rSitAut = pd.DataFrame(columns=['auteur'])
|
|
for col in df_aut.columns:
|
|
tmp = pd.DataFrame(data=df_aut.loc[~df_aut[col].isna(),col], copy=True)
|
|
tmp.columns = ['auteur']
|
|
df_rSitAut = pd.concat([df_rSitAut, tmp])
|
|
|
|
df_rSitAut.auteur.replace(aut.auteur.tolist(),aut.id.tolist(), inplace=True)
|
|
df_rSitAut.columns = ['id_auteur']
|
|
df_rSitAut.index.name = 'id_site'
|
|
df_rSitAut.reset_index(inplace=True)
|
|
df_rSitAut.to_sql(
|
|
name='r_sites_auteur',
|
|
con = con,
|
|
schema='sites',
|
|
index=False,
|
|
if_exists='append',
|
|
)
|
|
|
|
|
|
|
|
df = pycen.sites().get_sitesGeom()
|
|
df_aut = df[['id', 'auteur']]
|
|
df_aut.set_index('id', inplace=True)
|
|
df_aut = df_aut.auteur.str.split(' \& ',expand=True)
|
|
|
|
df_rSitAut = pd.DataFrame(columns=['auteur'])
|
|
for col in df_aut.columns:
|
|
tmp = pd.DataFrame(data=df_aut.loc[~df_aut[col].isna(),col], copy=True)
|
|
tmp.columns = ['auteur']
|
|
df_rSitAut = pd.concat([df_rSitAut, tmp])
|
|
|
|
df_rSitAut.auteur.replace(aut.auteur.tolist(),aut.id.tolist(), inplace=True)
|
|
df_rSitAut.columns = ['id_auteur']
|
|
df_rSitAut.index.name = 'id_geom_site'
|
|
df_rSitAut.reset_index(inplace=True)
|
|
df_rSitAut.to_sql(
|
|
name='r_geomsites_auteur',
|
|
con = con,
|
|
schema='sites',
|
|
index=False,
|
|
if_exists='append',
|
|
)
|