#!/usr/bin/env python # -*- coding: UTF-8 -*- from pycen import con_sicen, update_to_sql import pandas as pd import geopandas as gpd from os import path def get_site_serena(): sql = ''' SELECT s.*, t.*, c.choi_nom FROM serenabase.rnf_site s JOIN serenabase.tmp_sgll t ON t.sgll_site_id = s.site_id JOIN serenabase.rnf_choi c ON c.choi_id = s.site_categ_choi_id ''' return pd.read_sql_query(sql,con_sicen).dropna(axis=1,how='all') if __name__ == "__main__": # Lecture des sites SIG PATH = '/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/RHOMEO/2018/RhoMéO_Données' FILE = '38_sig_points_de_suivis_point.shp' sig = gpd.read_file(path.join(PATH,FILE)) # Récupération des sites SERENA site_serena = get_site_serena() no_coord = site_serena.sgll_lat=='999' is_rhomeo = site_serena.site_nom.str[-3:].str.isnumeric() is_rhomeo2 = site_serena.choi_nom.str.contains('rhomeo',case=False) # site_serena[no_coord] # site_serena[is_rhomeo] # Isolation des sites RHOMEO site_rhomeo_all = site_serena[is_rhomeo2&no_coord].copy() site_rhomeo = site_rhomeo_all.merge(sig[['id_regio','geometry']],left_on='site_ref_sig',right_on='id_regio')\ .set_geometry('geometry',crs=2154) site_rhomeo.to_crs(4326,inplace=True) site_rhomeo.sgll_lon = site_rhomeo.geometry.x.astype(str) site_rhomeo.sgll_lat = site_rhomeo.geometry.y.astype(str) updt_site = site_rhomeo[['sgll_site_id','sgll_lat','sgll_lon']].copy() # Update data update_to_sql( df=updt_site, con=con_sicen, table_name='tmp_sgll', schema_name='serenabase', key_name='sgll_site_id' )