50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
#!/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'
|
|
) |