Compare commits
No commits in common. "35a0401c79759d37f862fe8e99a6c6c0597e7167" and "51d7ab1bd4079c214e879c1d96184b44f6700319" have entirely different histories.
35a0401c79
...
51d7ab1bd4
@ -4,8 +4,8 @@
|
||||
from pycen import con_fon
|
||||
import pandas as pd
|
||||
|
||||
dico_data = '/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/BILAN_FEDE_CEN/2024/TDB2024_enquete_SIG/Dico_DATA_sites_CEN_v2024.xlsx'
|
||||
bilan_2023 = '/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/BILAN_FEDE_CEN/2024/TDB2024_enquete_SIG/DATA N-1/Sites_CEN_38_2023.csv'
|
||||
dico_data = '/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/BILAN_FEDE_CEN/2024/TDB2024_enquete_SIG/Dico_DATA_sites_CEN_v2024.xlsx'
|
||||
bilan_2023 = '/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/BILAN_FEDE_CEN/2024/TDB2024_enquete_SIG/DATA N-1/Sites_CEN_38_2023.csv'
|
||||
|
||||
dic = pd.read_excel(dico_data,sheet_name='sites_cen_xx_2024',header=0, usecols='F',nrows=50)
|
||||
dic_head_name = dic.columns[0]
|
||||
|
||||
@ -18,7 +18,7 @@ from pycen import con_bdcen as con, con_fon, wfs
|
||||
|
||||
annee = 2023
|
||||
term_parcelle_conv = ['CONVENTION',"CONVENTION D'USAGE",'ACCORD VERBAL']
|
||||
path_agri = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/TRAVAUX/Couches de référence/'
|
||||
path_agri = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/TRAVAUX/Couches de référence/'
|
||||
agri_partenaire_surf = gpd.read_file(path_agri+'AGRIS_partenaires_surface exploitées.shp')
|
||||
agri_partenaire = gpd.read_file(path_agri+'AGRIS_partenaires.shp')
|
||||
id_rnx = ['RNGL','RNIP']
|
||||
|
||||
@ -6,7 +6,7 @@ from datetime import datetime as dt
|
||||
sql = "SELECT * FROM sites.c_sites_zonages WHERE code_site = 'LEZE'"
|
||||
sql = "SELECT * FROM foncier.c_anim_foncier_v2"
|
||||
parc_site = gpd.read_postgis(sql,con_bdcen)
|
||||
parc_site[(~parc_site.classif_prop.str.contains('cen',case=False))&(parc_site.maitrise.str.contains('acqui',case=False))].to_csv('/media/cgeier/SRV/FICHIERS/TRANSFERTS-EQUIPE/AB/verif_anim_foncier_v2.csv',index=False)
|
||||
parc_site[(~parc_site.classif_prop.str.contains('cen',case=False))&(parc_site.maitrise.str.contains('acqui',case=False))].to_csv('/media/colas/SRV/FICHIERS/TRANSFERTS-EQUIPE/AB/verif_anim_foncier_v2.csv',index=False)
|
||||
# parc_site.loc[parc_site.maitrise=='ACQUI PAR LE CEN ISERE','maitrise'] = 'ACQUIS PAR LE CEN ISERE'
|
||||
# update_to_sql(
|
||||
# parc_site[['par_id','maitrise']],con_bdcen,'c_anim_foncier_v2','foncier','par_id'
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
import pandas as pd
|
||||
import csv
|
||||
|
||||
path = '/media/cgeier/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/FONCIER/CADASTRE/2023/Fichier national FANTOIR (situation avril 2023)/'
|
||||
path = '/media/colas/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/FONCIER/CADASTRE/2023/Fichier national FANTOIR (situation avril 2023)/'
|
||||
fant = path+'FANTOIR0423'
|
||||
lst_dep = ['07','26','38','42']
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ def revoke_all_table(con,sch):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sch_cad = '26_202504'
|
||||
sch_old = '38_202501'
|
||||
sch_cad = '38_202501'
|
||||
sch_old = '42_202207'
|
||||
grant_all_table(con_cad,sch_cad)
|
||||
# revoke_all_table(con_cad,sch_old)
|
||||
@ -19,7 +19,7 @@ def get_site_serena():
|
||||
if __name__ == "__main__":
|
||||
|
||||
# Lecture des sites SIG
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/RHOMEO/2018/RhoMéO_Données'
|
||||
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))
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ DICT_OBS_COLS = {
|
||||
|
||||
def list_access_datatable():
|
||||
|
||||
PATH_IN = '/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/ESPECES/backup'
|
||||
PATH_IN = '/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/ESPECES/backup'
|
||||
BDD_IN = 'AVENIR.serena_V2.mdb'
|
||||
|
||||
LST_SCHEMA = mdb.read_schema(path.join(PATH_IN,BDD_IN))
|
||||
|
||||
@ -8,7 +8,7 @@ from os import path
|
||||
|
||||
|
||||
postgis_sch = 'serenabase'
|
||||
ACCESS_PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/RHOMEO/2012/CEN-38_RHOMEO_BDD_2012'
|
||||
ACCESS_PATH = '/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/RHOMEO/2012/CEN-38_RHOMEO_BDD_2012'
|
||||
ACCESS_FILE = 'BD_Rhomeo_data.mdb'
|
||||
DICT_COLS = {
|
||||
'obse_id':'id_origine',
|
||||
|
||||
@ -7,7 +7,7 @@ from os import path,listdir
|
||||
from re import findall
|
||||
|
||||
v_zh = zh().v_zoneshumides()
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/Zones humides'
|
||||
PATH = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/Zones humides'
|
||||
lst_layer = [x for x in listdir(PATH) if (x.endswith('.shp') or x.endswith('.gpkg')) and x.startswith('ZHP')]
|
||||
|
||||
def upper_first_letter(s):
|
||||
|
||||
@ -106,7 +106,7 @@ def format_date(df):
|
||||
df.date = pd.to_datetime(df.date,format='%d%b%Y')
|
||||
|
||||
if table == '"PS_BIEVRE_CEN38_2016"':
|
||||
df.date = df.date.astype(str).replace(r'\.','',regex=True)
|
||||
df.date = df.date.astype(str).replace('\.','',regex=True)
|
||||
df.date = df.date.str.rsplit(' ',1).str[0]\
|
||||
.replace(['avr','mai','juin','juil'],['apr','may','jun','jul'],regex=True)
|
||||
df.date = pd.to_datetime(df.date,format='%d %b %Y')
|
||||
@ -541,7 +541,7 @@ def normalize_formatIdsite(id_site):
|
||||
import re
|
||||
df = pd.DataFrame({'id_site':id_site})
|
||||
df['dept'] = '38'
|
||||
df[['org','num','other']] = [re.split(r'(\d+)',s) for s in [*df.id_site]]
|
||||
df[['org','num','other']] = [re.split('(\d+)',s) for s in [*df.id_site]]
|
||||
del df['other']
|
||||
df.loc[df.num.str.len() == 1,'num'] = '000'+ df.loc[df.num.str.len() == 1,'num']
|
||||
df.loc[df.num.str.len() == 2,'num'] = '00' + df.loc[df.num.str.len() == 2,'num']
|
||||
@ -601,7 +601,7 @@ def normalize_pratiques(prat):
|
||||
p = normalize_paturage(p)
|
||||
p = p.replace(dic)
|
||||
p.fillna('N.D', inplace=True)
|
||||
p[p.str.contains(r'\?| ou ',na=False)] = 'incertain'
|
||||
p[p.str.contains('\?| ou ',na=False)] = 'incertain'
|
||||
pp = p.str.split(',',expand=True)
|
||||
pp.columns = 'p' + pp.columns.astype(str)
|
||||
for c in pp.columns:
|
||||
@ -903,7 +903,7 @@ def insert_attrsPS(df,ps_statut='actif'):
|
||||
del df['pratiques']
|
||||
|
||||
for col in params:
|
||||
df[col] = df[col].astype(str).replace([r'\.0'],[''],regex=True)
|
||||
df[col] = df[col].astype(str).replace(['\.0'],[''],regex=True)
|
||||
|
||||
if 'niv_embrous' in df.columns:
|
||||
df.niv_embrous.replace(['nan'],['N.D'],inplace=True)
|
||||
@ -971,9 +971,9 @@ def insert_attrsPS(df,ps_statut='actif'):
|
||||
|
||||
def split_codehab(lst_codehab):
|
||||
lst = lst_codehab.copy()
|
||||
lst = lst.str.split(r'x|X|,|&|/|\(|et',expand=True) \
|
||||
lst = lst.str.split('x|X|,|&|/|\(|et',expand=True) \
|
||||
.stack().str.strip() \
|
||||
.str.replace(r'\)','',regex=True)\
|
||||
.str.replace('\)','',regex=True)\
|
||||
.droplevel(-1).reset_index(drop=False)
|
||||
return lst
|
||||
|
||||
@ -994,7 +994,7 @@ def format_codehab2insert(lst_codehab):
|
||||
suspect = lst.code_hab.str.split('(',expand=True)
|
||||
if suspect.shape[1] > 1:
|
||||
suspect[0] = suspect[0].str.strip()
|
||||
suspect[1] = suspect[1].str.replace(r'\)','',regex=True)
|
||||
suspect[1] = suspect[1].str.replace('\)','',regex=True)
|
||||
suspect.columns = ['code_hab','suspect']
|
||||
del lst['code_hab']
|
||||
# raise Exception('habitat suspecté en développement')
|
||||
@ -1011,7 +1011,7 @@ def insert_cbPS(df):
|
||||
drop_col = ['auteur','structure']
|
||||
df = df.copy()
|
||||
df.date = df.date.astype(str)
|
||||
df.code_hab = df.code_hab.replace([r'\*'],[''],regex=True).str.strip()
|
||||
df.code_hab = df.code_hab.replace(['\*'],[''],regex=True).str.strip()
|
||||
df.code_hab = df.code_hab.replace(['None','nan','0'],[None,None,None])
|
||||
df.dropna(subset=['code_hab'],inplace=True)
|
||||
ids = select_ID(df[df.columns.drop(['code_hab',*drop_col])],sch=pycen.ps.schema,tab='r_site_habitat')
|
||||
@ -1061,7 +1061,7 @@ def insert_habPS(df,ps_statut='actif'):
|
||||
# df[t] = df[t].astype(str)
|
||||
df = df.stack().reset_index(-1)
|
||||
df.columns = ['param','value']
|
||||
df[['param','index','other']] = [re.split(r'(\d+)',s) for s in [*df.param]]
|
||||
df[['param','index','other']] = [re.split('(\d+)',s) for s in [*df.param]]
|
||||
del df['other']
|
||||
df['index'] = df['index'].astype(int)
|
||||
df['value'] = df['value'].replace(['-'],[None])
|
||||
@ -1137,7 +1137,7 @@ def filter_saisierror(df):
|
||||
tmp.set_index([*cc], inplace=True)
|
||||
tmp = tmp.stack().reset_index(-1)
|
||||
tmp.columns = ['param','value']
|
||||
tmp[['param','index','other']] = [re.split(r'(\d+)',s) for s in [*tmp.param]]
|
||||
tmp[['param','index','other']] = [re.split('(\d+)',s) for s in [*tmp.param]]
|
||||
del tmp['other']
|
||||
tmp['index'] = tmp['index'].astype(int)
|
||||
tmp['value'] = tmp['value'].replace(['-'],[None])
|
||||
@ -1180,7 +1180,7 @@ def filter_saisierror(df):
|
||||
|
||||
|
||||
cb = pycen.ref_hab().get_CB()
|
||||
tmp.code_hab = tmp.code_hab.replace([r'\*'],[''],regex=True).str.strip()
|
||||
tmp.code_hab = tmp.code_hab.replace(['\*'],[''],regex=True).str.strip()
|
||||
tmp.code_hab = tmp.code_hab.replace(['0'],[None])
|
||||
tmp.dropna(subset=['code_hab'], inplace=True)
|
||||
tmpp = tmp[['id_site','index','code_hab']].copy()
|
||||
@ -1303,9 +1303,8 @@ if __name__ == "__main__":
|
||||
]
|
||||
# from_table = '"cr_ECRIN_habitats_CBNA_2014"'
|
||||
from_table = None
|
||||
from_file = 'PS prioritaire.geojson'
|
||||
from_tab = 'Tableau_saisie_PS_2026.xlsx'
|
||||
path0 = '/home/colas/Documents/9_PROJETS/2_PS/TO IMPORT/2026/'
|
||||
from_file = 'PS38_modifs_AG_2024.gpkg'
|
||||
path0 = '/home/colas/Documents/9_PROJETS/2_PS/TO IMPORT/2024/'
|
||||
|
||||
# org = from_file.split('/')[1]
|
||||
tutu = pd.DataFrame()
|
||||
|
||||
@ -17,7 +17,7 @@ con = create_engine('postgresql+psycopg2://{0}:{1}@{2}:{3}/{4}'.format(user_cad,
|
||||
|
||||
|
||||
|
||||
file = '/media/cgeier/Disk2/5_BDD/RPG/1_DONNEES_LIVRAISON_2021/RPG_2-0_SHP_LAMB93_R84_2021-01-01/ILOTS_ANONYMES.shp'
|
||||
file = '/media/colas/Disk2/5_BDD/RPG/1_DONNEES_LIVRAISON_2021/RPG_2-0_SHP_LAMB93_R84_2021-01-01/ILOTS_ANONYMES.shp'
|
||||
dic = {
|
||||
'CD_SSBV': 'cdssbv',
|
||||
'LIB_SSBV': 'nom',
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
import pandas as pd
|
||||
import geopandas as gpd
|
||||
from pycen import con_gn
|
||||
|
||||
old = gpd.read_file('/home/cgeier/Téléchargements/Telechargement_1772622390_2696/data/n_zone_humide_s_038/n_zone_humide_s_038.json')
|
||||
new = gpd.read_postgis('SELECT * FROM gn_exports.v_synthese_zones_humides_isere',con_gn).to_crs(2154)
|
||||
tab = pd.read_csv('/home/cgeier/Documents/9_PROJETS/1_ZH/2024/RENDU SIG/pv_evolution_dossier.csv',sep=',')
|
||||
|
||||
|
||||
|
||||
for etude in tab.nom_etude.unique():
|
||||
if tab[(tab.nom_etude==etude)].organisme_transmission.any():
|
||||
continue
|
||||
print('\n',etude)
|
||||
news = tab[(tab.nom_etude==etude) & (tab.status_inventaire == 'Nouvelle')]
|
||||
modif = tab[(tab.nom_etude==etude) & (tab.status_inventaire== 'Modification')]
|
||||
supp = tab[(tab.nom_etude==etude) & (tab.status_inventaire == 'Supression')]
|
||||
|
||||
new_add = new[new.code.isin(news.code_zh.tolist())].copy()
|
||||
del_zh = old[old.id_local.isin(supp.code_zh.tolist())]
|
||||
print('\tNouvelles surfaces ajoutées : %f ha'%(round(new_add.area.sum()/10000,2)),' ; %i zh'%new_add.shape[0],' ; \n\tcode : ',', '.join(list(new_add.code)))
|
||||
print('\tSurfaces supprimées : %f ha'%(round(del_zh.area.sum()/10000,2)),' ; %i zh'%del_zh.shape[0],' ; \n\tcode : ',', '.join(list(del_zh.id_local)))
|
||||
|
||||
code_modif = modif.code_zh.tolist()
|
||||
diff = (new[new.code.isin(code_modif)]
|
||||
.sort_values('code').set_index('code').area - old[old.id_local.isin(code_modif)]
|
||||
.sort_values('id_local').set_index('id_local').area
|
||||
)
|
||||
add = diff[diff > 0]
|
||||
red = diff[diff < 0]
|
||||
|
||||
print('\tModification surfaces ajoutées : %f ha'%(round(add.sum()/10000,2)),' ; %i zh'%add.shape[0],' ; \n\tcode : ',', '.join(list(add.index)))
|
||||
print('\tModification surfaces perdues : %f ha'%(round(red.sum()/10000,2)),' ; %i zh'%red.shape[0],' ; \n\tcode : ',', '.join(list(red.index)))
|
||||
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ r_geom.sort_values(['id_site','date'],inplace=True)
|
||||
r_geom.drop_duplicates(['id_site'],keep='last',inplace=True)
|
||||
|
||||
|
||||
PATH = '/home/colas/Documents/9_PROJETS/1_ZH/MAJ/Actu 2024/FAIT/CBNA/zh38'
|
||||
PATH = '/home/colas/Documents/9_PROJETS/1_ZH/MAJ/Actu 2024/CBNA/zh38'
|
||||
file = 'hab_agreg.gpkg'
|
||||
df = gpd.read_file(path.join(PATH,file))
|
||||
df.rename_geometry('geom', inplace=True)
|
||||
@ -91,7 +91,6 @@ inters_foret.to_file(path.join(PATH,'inters.gpkg'),driver='GPKG',layer='inters_f
|
||||
|
||||
# Fusion Géométries
|
||||
intersF = gpd.pd.concat([inters,inters_foret])
|
||||
intersF.to_csv(path.join(PATH,'intersection_finale_hab_zh.csv'))
|
||||
rgeo = (r_geom[r_geom.id_site.isin(intersF.id_site.unique())]
|
||||
.copy())
|
||||
for id_site in rgeo.id_site.unique():
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
from pycen import con, update_to_sql
|
||||
import geopandas as gpd
|
||||
|
||||
file = "/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PGSZH_Belledonne/Inventaire 2023/ZH_Belledonne_MAJ_2023_NB.shp"
|
||||
file = "/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PGSZH_Belledonne/Inventaire 2023/ZH_Belledonne_MAJ_2023_NB.shp"
|
||||
|
||||
df = gpd.read_file(file)
|
||||
df = (df[df.site_code.isin(['38BB0028','38BB0055','38RD0170'])]
|
||||
|
||||
0
3_AZALEE/tmp/maj_tmpv.date_geom
Normal file
0
3_AZALEE/tmp/maj_tmpv.date_geom
Normal file
@ -445,7 +445,7 @@ def define_author(df,is_new=False):
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/Mosaique/MAJ-INV-ZH MOSAIQUE 2018-SIG_BDD'
|
||||
PATH = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/Mosaique/MAJ-INV-ZH MOSAIQUE 2018-SIG_BDD'
|
||||
shp = 'ZH_GAM_CC45.shp'
|
||||
data_file = 'BDD_ZH_GAM_database.xlsx'
|
||||
dict_cols = {
|
||||
@ -790,7 +790,7 @@ if __name__ == "__main__":
|
||||
insert_cnx(rpl_cnx)
|
||||
insertAttrsFct(rpl_fct,True)
|
||||
## ADD GEOM 2023
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/'
|
||||
PATH = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/'
|
||||
FILE_2023 = 'zh_gam_cc45_modifByMJ&GC.gpkg'
|
||||
df2023 = gpd.read_file(path.join(PATH,FILE_2023))
|
||||
df2023.rename_geometry('geom',inplace=True)
|
||||
@ -894,7 +894,7 @@ if __name__ == "__main__":
|
||||
insertAttrsFct(rpl_fct,True)
|
||||
|
||||
## ADD GEOM 2023
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/'
|
||||
PATH = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/PLUI METRO/INV_ZH_PLUI_METRO/'
|
||||
FILE_2023 = 'zh_gam_cc45_modifByMJ&GC.gpkg'
|
||||
df2023 = gpd.read_file(path.join(PATH,FILE_2023))
|
||||
df2023.rename_geometry('geom',inplace=True)
|
||||
@ -1162,7 +1162,7 @@ if __name__ == "__main__":
|
||||
##########################
|
||||
##### ADD 2010 GEOM ######
|
||||
##########################
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/VECTEURS/ETUDES/ZONES HUMIDES/INVENTAIRE_ZH/'
|
||||
PATH = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/VECTEURS/ETUDES/ZONES HUMIDES/INVENTAIRE_ZH/'
|
||||
FILE_2010 = 'ZH_2010 (re-save).shp'
|
||||
df2010 = gpd.read_file(PATH+FILE_2010)
|
||||
df2010.to_crs(2154,inplace=True)
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
from pycen import con
|
||||
|
||||
sql1 = """
|
||||
DROP VIEW IF EXISTS zones_humides.v_zh_ponctuelles;
|
||||
CREATE VIEW zones_humides.v_zh_ponctuelles AS
|
||||
SELECT
|
||||
id,
|
||||
territoire,
|
||||
commune,
|
||||
lieu_dit,
|
||||
observer,
|
||||
datemodif,
|
||||
x,
|
||||
y,
|
||||
code_insee,
|
||||
descripti2,
|
||||
geom,
|
||||
qui,
|
||||
statut,
|
||||
source,
|
||||
comment,
|
||||
type,
|
||||
ponctuelle,
|
||||
classe
|
||||
FROM zones_humides.zh_ponctuelles
|
||||
WHERE in_zh is False
|
||||
"""
|
||||
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql1)
|
||||
|
||||
|
||||
|
||||
sql1 = """
|
||||
DROP VIEW IF EXISTS zones_humides.v_zh_ponctuelles;
|
||||
CREATE VIEW zones_humides.v_zh_ponctuelles AS
|
||||
SELECT
|
||||
id,
|
||||
territoire,
|
||||
commune,
|
||||
lieu_dit,
|
||||
observer,
|
||||
datemodif,
|
||||
x,
|
||||
y,
|
||||
code_insee,
|
||||
descripti2,
|
||||
geom,
|
||||
qui,
|
||||
statut,
|
||||
source,
|
||||
comment,
|
||||
type,
|
||||
ponctuelle,
|
||||
classe
|
||||
FROM zones_humides.zh_ponctuelles
|
||||
WHERE in_zh is True
|
||||
"""
|
||||
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql1)
|
||||
@ -1,4 +1,3 @@
|
||||
# SCRIPT NON VALIDE À CE JOUR
|
||||
from pycen import con_gn
|
||||
|
||||
sql = '''
|
||||
|
||||
@ -6,7 +6,6 @@ import requests
|
||||
from os import path
|
||||
import io
|
||||
|
||||
|
||||
def get_zh(geom=None):
|
||||
url = 'https://geonature.cen-isere.fr/geonature/api/exports/api/9?limit=30000&{geo}'
|
||||
if not geom.empty :
|
||||
@ -18,7 +17,6 @@ def get_zh(geom=None):
|
||||
geometry = 'geometry={geom}'.format(geom=geom.unary_union.wkt)
|
||||
else:
|
||||
geom = ''
|
||||
print(url.format(geo=geometry))
|
||||
r = requests.get(url.format(geo=geometry))
|
||||
if r.status_code == 200:
|
||||
d = r.json()
|
||||
@ -29,10 +27,9 @@ def get_zh(geom=None):
|
||||
|
||||
return df
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
PATH = '/media/cgeier/Disk2/tmp/GEONATURE/ST MARTIN URIAGE'
|
||||
PATH = '/media/colas/Disk2/tmp/GEONATURE/ST MARTIN URIAGE'
|
||||
FILE = 'ZH ENS POUR CEN 14102025.gpkg'
|
||||
f = gpd.read_file(path.join(PATH,FILE))
|
||||
df = get_zh(f)
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
from pycen import con_gn
|
||||
|
||||
sql = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_eee_n2000_platiere;
|
||||
|
||||
CREATE OR REPLACE VIEW gn_exports.v_eee_n2000_platiere
|
||||
AS
|
||||
SELECT
|
||||
v.*
|
||||
FROM gn_synthese.v_synthese_for_export v
|
||||
JOIN ref_geo.l_areas ON st_intersects(ST_GeomFromGeoJSON(v.geojson_4326),st_transform(l_areas.geom,4326))
|
||||
JOIN ref_geo.bib_areas_types bib USING (id_type)
|
||||
WHERE bib.type_code = 'ZPS'
|
||||
AND area_name ilike '%%plati%%re%%'
|
||||
AND v.cd_ref in (100330, 101055, 101237, 101286, 103139, 103543, 103545, 103547,
|
||||
103557, 104074, 104805, 105017, 105433, 105615, 105689, 105960,
|
||||
106252, 106571, 106742, 106748, 106754, 106965, 107446, 108628,
|
||||
108642, 108810, 109141, 109911, 109926, 109954, 109980, 110762,
|
||||
111863, 111881, 112100, 112111, 112130, 112195, 112463, 112467,
|
||||
112482, 112712, 112790, 113418, 114024, 115527, 116089, 116137,
|
||||
116485, 117503, 117505, 117723, 117860, 117937, 118477, 119474,
|
||||
119558, 119595, 119854, 122630, 124025, 124164, 124168, 124378,
|
||||
124635, 124646, 124719, 124730, 125331, 128504, 128748, 128863,
|
||||
128954, 129468, 130484, 130491, 159690, 159937, 4419, 446169,
|
||||
448413, 454932, 4872, 611690, 611753, 612522, 717136, 717180,
|
||||
79766, 79877, 80086, 80824, 81955, 81978, 82018, 82080,
|
||||
82093, 82164, 83938, 84057, 84251, 85186, 85469, 85949,
|
||||
85957, 86167, 86513, 86817, 86869, 86975, 89452, 90192,
|
||||
90234, 92572, 92649, 92663, 92793, 93020, 93129, 93613,
|
||||
93923, 93924, 94168, 94489, 95679, 95823, 95831, 95965,
|
||||
95975, 95980, 96149, 96585, 96644, 96739, 96749, 96775,
|
||||
97346, 97594, 97666, 97961, 99260, 99359, 95983, 96814,
|
||||
117507, 129959, 81992, 90532, 97623, 104353, 111886, 112483,
|
||||
125369, 109037, 96624, 101056, 106800, 109949, 116762, 125324
|
||||
)
|
||||
;
|
||||
'''
|
||||
|
||||
with con_gn.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
from pycen import con_gn
|
||||
|
||||
sql = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_synthese_zh_rhomeosite;
|
||||
|
||||
CREATE OR REPLACE VIEW gn_exports.v_synthese_zh_rhomeosite
|
||||
AS WITH t1 AS (
|
||||
SELECT t_zh.code,
|
||||
l_areas.area_name,
|
||||
st_area(st_intersection(t_zh.geom, l_areas.geom_4326)) AS area_intersect
|
||||
FROM pr_zh.t_zh
|
||||
JOIN ref_geo.l_areas ON st_intersects(t_zh.geom, l_areas.geom_4326)
|
||||
JOIN ref_geo.bib_areas_types bib ON l_areas.id_type = bib.id_type and bib.type_name = 'Zones biogéographiques'
|
||||
), t2 AS (
|
||||
SELECT t1.code,
|
||||
t1.area_name,
|
||||
row_number() OVER (PARTITION BY t1.code ORDER BY t1.area_intersect DESC) AS ismax_ter
|
||||
FROM t1
|
||||
)
|
||||
SELECT
|
||||
t_zh.id_zh,
|
||||
t_zh.main_name AS "NAME",
|
||||
concat(t_roles.nom_role, ' ', t_roles.prenom_role) AS "REFERENT",
|
||||
bib.nom_organisme AS "ORG",
|
||||
CASE
|
||||
WHEN t_zh.id_sage IS NULL
|
||||
THEN ref_nomenclatures.get_cd_nomenclature(t_zh.id_sdage)::text
|
||||
ELSE ref_nomenclatures.get_cd_nomenclature(t_zh.id_sage)::text
|
||||
END AS "TYPE",
|
||||
CASE
|
||||
WHEN t2.area_name = 'alpin'::text THEN '1'::text
|
||||
WHEN t2.area_name = 'continental'::text THEN '2'::text
|
||||
WHEN t2.area_name = 'mediterraneen'::text THEN '4'::text
|
||||
ELSE NULL::text
|
||||
END AS "ODONATE",
|
||||
ST_TRANSFORM(t_zh.geom,2154)::geometry(geometry,2154) geom
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN utilisateurs.t_roles ON t_zh.update_author = t_roles.id_role
|
||||
LEFT JOIN utilisateurs.bib_organismes bib USING (id_organisme)
|
||||
JOIN t2 ON t_zh.code::text = t2.code::text AND t2.ismax_ter = 1;
|
||||
'''
|
||||
|
||||
with con_gn.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
from pycen import con_gn
|
||||
|
||||
sql0 = '''
|
||||
sql = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_synthese_zones_humides;
|
||||
|
||||
CREATE VIEW gn_exports.v_synthese_zones_humides AS
|
||||
with habitats as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
@ -22,7 +25,8 @@ with habitats as (
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.cor_zh_lim_fs USING (id_zh)
|
||||
group by 1 order by 1
|
||||
), v_activity AS (
|
||||
), activ_hum AS (
|
||||
WITH v_activity AS (
|
||||
SELECT
|
||||
id_zh,
|
||||
json_agg(ref_nomenclatures.get_nomenclature_label(cor_impact_types.id_impact)) impacts
|
||||
@ -30,60 +34,38 @@ with habitats as (
|
||||
LEFT JOIN pr_zh.cor_impact_list USING (id_impact_list)
|
||||
LEFT JOIN pr_zh.cor_impact_types USING (id_cor_impact_types)
|
||||
group by 1 order by 1
|
||||
), activ_hum AS (
|
||||
)
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(CASE WHEN t_activity.id_activity IS NULL
|
||||
THEN NULL
|
||||
ELSE json_build_object(
|
||||
json_agg(json_build_object(
|
||||
'activite', ref_nomenclatures.get_nomenclature_label(t_activity.id_activity),
|
||||
'position', ref_nomenclatures.get_nomenclature_label(t_activity.id_position),
|
||||
'impact', v_activity.impacts,
|
||||
'rmq_activ', t_activity.remark_activity
|
||||
)
|
||||
END) AS activ_hum
|
||||
)) AS activ_hum
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_activity USING (id_zh)
|
||||
LEFT JOIN v_activity USING (id_zh)
|
||||
group by zh_uuid order by 1
|
||||
--), activ_hum_test AS (
|
||||
-- SELECT
|
||||
-- zh_uuid,
|
||||
-- CASE WHEN t_activity.id_activity IS NOT NULL
|
||||
-- THEN jsonb_build_object(
|
||||
-- ref_nomenclatures.get_nomenclature_label(t_activity.id_activity), v_activity.impacts
|
||||
-- )
|
||||
-- ELSE NULL
|
||||
-- END AS activ_hum_test
|
||||
-- FROM pr_zh.t_zh
|
||||
-- LEFT JOIN pr_zh.t_activity USING (id_zh)
|
||||
-- LEFT JOIN v_activity USING (id_zh)
|
||||
-- --group by zh_uuid order by 1
|
||||
), inflow as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(CASE WHEN t_inflow.id_inflow IS NULL
|
||||
THEN NULL
|
||||
ELSE json_build_object(
|
||||
json_agg(json_build_object(
|
||||
'entree_eau', ref_nomenclatures.get_nomenclature_label(t_inflow.id_inflow),
|
||||
'perm', ref_nomenclatures.get_nomenclature_label(t_inflow.id_permanance),
|
||||
'topo', t_inflow.topo
|
||||
)
|
||||
END) AS entree_eau
|
||||
)) AS entree_eau
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_inflow USING (id_zh)
|
||||
group by zh_uuid
|
||||
), outflow as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(CASE WHEN t_outflow.id_outflow IS NULL
|
||||
THEN NULL
|
||||
ELSE json_build_object(
|
||||
json_agg(json_build_object(
|
||||
'sortie_eau', ref_nomenclatures.get_nomenclature_label(t_outflow.id_outflow),
|
||||
'perm', ref_nomenclatures.get_nomenclature_label(t_outflow.id_permanance),
|
||||
'topo', t_outflow.topo
|
||||
)
|
||||
END) AS sortie_eau
|
||||
)) AS sortie_eau
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_outflow USING (id_zh)
|
||||
group by zh_uuid
|
||||
@ -265,13 +247,11 @@ SELECT
|
||||
zh_uuid,
|
||||
code,
|
||||
main_name,
|
||||
--concat(crea_role.nom_role, ' ', crea_role.prenom_role) AS crea_author,
|
||||
--bib_org.name AS organisme,
|
||||
--concat(updt_role.nom_role, ' ', updt_role.prenom_role) AS updt_author,
|
||||
bib_org_user_updt.nom_organisme as org_updt,
|
||||
CONCAT(crea_role.nom_role, ' ', crea_role.prenom_role) crea_author,
|
||||
CONCAT(updt_role.nom_role, ' ', updt_role.prenom_role) updt_author,
|
||||
bib_org.name organisme,
|
||||
create_date crea_date,
|
||||
update_date updt_date,
|
||||
--ST_TRANSFORM(geom,2154)::geometry(geometry,2154) geom,
|
||||
geom,
|
||||
area surface,
|
||||
rb.river_bassin,
|
||||
@ -279,43 +259,27 @@ SELECT
|
||||
zh_area_com.commune,
|
||||
ref_nomenclatures.get_nomenclature_label(id_sdage) sdage,
|
||||
ref_nomenclatures.get_nomenclature_label(id_sage) sage,
|
||||
CASE WHEN habitats.habitats::text = '[null]'
|
||||
THEN NULL
|
||||
ELSE habitats.habitats
|
||||
END AS habitats,
|
||||
habitats.habitats,
|
||||
remark_pres descript,
|
||||
crit_delim.crit_delim,
|
||||
remark_lim rmq_delilm,
|
||||
CASE WHEN esp_fs.crit_esp_fs::text = '[null]'
|
||||
THEN NULL
|
||||
ELSE esp_fs.crit_esp_fs
|
||||
END AS crit_esp_fs,
|
||||
esp_fs.crit_esp_fs,
|
||||
remark_lim_fs rmq_esp_fs,
|
||||
--ef_area,
|
||||
--v_habref v_hab,
|
||||
CASE WHEN activ_hum.activ_hum::text = '[null]'
|
||||
THEN NULL
|
||||
ELSE activ_hum.activ_hum::text
|
||||
END AS activ_hum,
|
||||
-- activ_hum_test.activ_hum_test,
|
||||
ef_area,
|
||||
v_habref v_hab,
|
||||
activ_hum.activ_hum,
|
||||
ref_nomenclatures.get_nomenclature_label(id_thread) bilan_menace,
|
||||
CASE WHEN inflow.entree_eau::text = '[null]'
|
||||
THEN NULL
|
||||
ELSE inflow.entree_eau::text
|
||||
END AS entree_eau,
|
||||
CASE WHEN outflow.sortie_eau::text = '[null]'
|
||||
THEN NULL
|
||||
ELSE outflow.sortie_eau::text
|
||||
END AS sortie_eau,
|
||||
inflow.entree_eau,
|
||||
outflow.sortie_eau,
|
||||
ref_nomenclatures.get_nomenclature_label(id_frequency) freq_sub,
|
||||
ref_nomenclatures.get_nomenclature_label(id_spread) extend_sub,
|
||||
ref_nomenclatures.get_nomenclature_label(id_connexion) connex,
|
||||
ref_nomenclatures.get_nomenclature_label(id_diag_hydro) diag_hydro,
|
||||
ref_nomenclatures.get_nomenclature_label(id_diag_bio) diag_bio,
|
||||
functions.hydro::text,
|
||||
functions.bio::text,
|
||||
functions.int_patrim::text,
|
||||
functions.val_socio::text,
|
||||
functions.hydro,
|
||||
functions.bio,
|
||||
functions.int_patrim,
|
||||
functions.val_socio,
|
||||
remark_eval_functions eval_fcts,
|
||||
remark_eval_heritage eval_heritage,
|
||||
remark_eval_thread eval_menace,
|
||||
@ -329,21 +293,19 @@ SELECT
|
||||
especes.nb_flora nb_flora_sp,
|
||||
especes.nb_vertebrates nb_vertebrate_sp,
|
||||
especes.nb_invertebrates nb_invertebrate_sp,
|
||||
inventaire.inventaire::text,
|
||||
actions.prio_actions::text,
|
||||
instrument.instrument::text,
|
||||
urba.docs_urba::text
|
||||
inventaire.inventaire,
|
||||
actions.prio_actions,
|
||||
instrument.instrument,
|
||||
urba.docs_urba
|
||||
--remark_is_other_inventory
|
||||
FROM pr_zh.t_zh
|
||||
JOIN utilisateurs.t_roles crea_role ON t_zh.create_author = crea_role.id_role
|
||||
LEFT JOIN utilisateurs.t_roles updt_role ON t_zh.update_author = updt_role.id_role
|
||||
LEFT JOIN utilisateurs.bib_organismes bib_org_user_updt on updt_role.id_organisme = bib_org_user_updt.id_organisme
|
||||
LEFT JOIN pr_zh.bib_organismes bib_org USING (id_org)
|
||||
LEFT JOIN habitats USING (zh_uuid)
|
||||
LEFT JOIN crit_delim USING (zh_uuid)
|
||||
LEFT JOIN esp_fs USING (zh_uuid)
|
||||
LEFT JOIN activ_hum USING (zh_uuid)
|
||||
--LEFT JOIN activ_hum_test USING (zh_uuid)
|
||||
LEFT JOIN inflow USING (zh_uuid)
|
||||
LEFT JOIN outflow USING (zh_uuid)
|
||||
LEFT JOIN functions USING (zh_uuid)
|
||||
@ -355,37 +317,11 @@ LEFT JOIN actions USING (id_zh)
|
||||
LEFT JOIN zh_area_com USING (id_zh)
|
||||
LEFT JOIN dep USING (id_zh)
|
||||
LEFT JOIN inventaire USING (id_zh)
|
||||
'''
|
||||
|
||||
sql_zh_all = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_synthese_zones_humides;
|
||||
|
||||
CREATE VIEW gn_exports.v_synthese_zones_humides AS
|
||||
''' + sql0 + '''
|
||||
--group BY zh_uuid
|
||||
WHERE code not like '38CENIS%%'
|
||||
AND ref_nomenclatures.get_cd_nomenclature(id_sdage)::int > 0
|
||||
--id_sdage > 0
|
||||
order by code
|
||||
;
|
||||
'''
|
||||
|
||||
with con_gn.begin() as cnx:
|
||||
cnx.execute(sql_zh_all)
|
||||
|
||||
|
||||
sql_zh_38 = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_synthese_zones_humides_isere;
|
||||
|
||||
CREATE VIEW gn_exports.v_synthese_zones_humides_isere AS
|
||||
''' + sql0 + '''
|
||||
--group BY zh_uuid
|
||||
WHERE code not like '38CENIS%%'
|
||||
AND dep.departement::jsonb @> '"Isère"'
|
||||
AND ref_nomenclatures.get_cd_nomenclature(id_sdage)::int > 0
|
||||
order by code
|
||||
;
|
||||
'''
|
||||
|
||||
with con_gn.begin() as cnx:
|
||||
cnx.execute(sql_zh_38)
|
||||
cnx.execute(sql)
|
||||
|
||||
236
5_GEONATURE/EXPORT/v_synthese_zones_humides_isere.py
Normal file
236
5_GEONATURE/EXPORT/v_synthese_zones_humides_isere.py
Normal file
@ -0,0 +1,236 @@
|
||||
from pycen import con_gn
|
||||
|
||||
sql = '''
|
||||
DROP VIEW IF EXISTS gn_exports.v_synthese_zones_humides_isere;
|
||||
|
||||
CREATE VIEW gn_exports.v_synthese_zones_humides_isere AS
|
||||
with habitats as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
array_agg(lb_code) AS habitats
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.cor_zh_cb USING (id_zh)
|
||||
group by 1 order by 1
|
||||
), crit_delim as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
array_agg(ref_nomenclatures.get_nomenclature_label(cor_lim_list.id_lim)) AS crit_delim
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.cor_lim_list USING (id_lim_list)
|
||||
group by 1 order by 1
|
||||
), esp_fs as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
array_agg(ref_nomenclatures.get_nomenclature_label(cor_zh_lim_fs.id_lim_fs)) AS crit_esp_fs
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.cor_zh_lim_fs USING (id_zh)
|
||||
group by 1 order by 1
|
||||
), activ_hum AS (
|
||||
WITH v_activity AS (
|
||||
SELECT
|
||||
id_zh,
|
||||
array_agg(ref_nomenclatures.get_nomenclature_label(cor_impact_types.id_impact)) impacts
|
||||
FROM pr_zh.t_activity
|
||||
LEFT JOIN pr_zh.cor_impact_list USING (id_impact_list)
|
||||
LEFT JOIN pr_zh.cor_impact_types USING (id_cor_impact_types)
|
||||
group by 1 order by 1
|
||||
)
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'activite', ref_nomenclatures.get_nomenclature_label(t_activity.id_activity),
|
||||
'position', ref_nomenclatures.get_nomenclature_label(t_activity.id_position),
|
||||
'impact', v_activity.impacts,
|
||||
'rmq_activ', t_activity.remark_activity
|
||||
)) AS activ_hum
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_activity USING (id_zh)
|
||||
LEFT JOIN v_activity USING (id_zh)
|
||||
group by zh_uuid order by 1
|
||||
), inflow as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'entree_eau', ref_nomenclatures.get_nomenclature_label(t_inflow.id_inflow),
|
||||
'perm', ref_nomenclatures.get_nomenclature_label(t_inflow.id_permanance),
|
||||
'topo', t_inflow.topo
|
||||
)) AS entree_eau
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_inflow USING (id_zh)
|
||||
group by zh_uuid
|
||||
), outflow as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'sortie_eau', ref_nomenclatures.get_nomenclature_label(t_outflow.id_outflow),
|
||||
'perm', ref_nomenclatures.get_nomenclature_label(t_outflow.id_permanance),
|
||||
'topo', t_outflow.topo
|
||||
)) AS sortie_eau
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_outflow USING (id_zh)
|
||||
group by zh_uuid
|
||||
), functions as (
|
||||
WITH hydro as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'fonctions', ref_nomenclatures.get_nomenclature_label(t_functions.id_function),
|
||||
'qualification', ref_nomenclatures.get_nomenclature_label(t_functions.id_qualification),
|
||||
'connaissance', ref_nomenclatures.get_nomenclature_label(t_functions.id_knowledge),
|
||||
'justification', t_functions.justification
|
||||
)) AS hydro
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_functions USING (id_zh)
|
||||
WHERE id_function IN (
|
||||
SELECT
|
||||
id_nomenclature
|
||||
FROM ref_nomenclatures.t_nomenclatures
|
||||
JOIN ref_nomenclatures.bib_nomenclatures_types bib USING (id_type)
|
||||
WHERE bib.mnemonique = 'FONCTIONS_HYDRO')
|
||||
group by zh_uuid
|
||||
), bio as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'fonctions', ref_nomenclatures.get_nomenclature_label(t_functions.id_function),
|
||||
'qualification', ref_nomenclatures.get_nomenclature_label(t_functions.id_qualification),
|
||||
'connaissance', ref_nomenclatures.get_nomenclature_label(t_functions.id_knowledge),
|
||||
'justification', t_functions.justification
|
||||
)) AS bio
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_functions USING (id_zh)
|
||||
WHERE id_function IN (
|
||||
SELECT
|
||||
id_nomenclature
|
||||
FROM ref_nomenclatures.t_nomenclatures
|
||||
JOIN ref_nomenclatures.bib_nomenclatures_types bib USING (id_type)
|
||||
WHERE bib.mnemonique = 'FONCTIONS_BIO')
|
||||
group by zh_uuid
|
||||
), int_patrim as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'fonctions', ref_nomenclatures.get_nomenclature_label(t_functions.id_function),
|
||||
'qualification', ref_nomenclatures.get_nomenclature_label(t_functions.id_qualification),
|
||||
'connaissance', ref_nomenclatures.get_nomenclature_label(t_functions.id_knowledge),
|
||||
'justification', t_functions.justification
|
||||
)) AS int_patrim
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_functions USING (id_zh)
|
||||
WHERE id_function IN (
|
||||
SELECT
|
||||
id_nomenclature
|
||||
FROM ref_nomenclatures.t_nomenclatures
|
||||
JOIN ref_nomenclatures.bib_nomenclatures_types bib USING (id_type)
|
||||
WHERE bib.mnemonique = 'INTERET_PATRIM')
|
||||
group by zh_uuid
|
||||
), val_socio as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
json_agg(json_build_object(
|
||||
'fonctions', ref_nomenclatures.get_nomenclature_label(t_functions.id_function),
|
||||
'qualification', ref_nomenclatures.get_nomenclature_label(t_functions.id_qualification),
|
||||
'connaissance', ref_nomenclatures.get_nomenclature_label(t_functions.id_knowledge),
|
||||
'justification', t_functions.justification
|
||||
)) AS val_socio
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN pr_zh.t_functions USING (id_zh)
|
||||
WHERE id_function IN (
|
||||
SELECT
|
||||
id_nomenclature
|
||||
FROM ref_nomenclatures.t_nomenclatures
|
||||
JOIN ref_nomenclatures.bib_nomenclatures_types bib USING (id_type)
|
||||
WHERE bib.mnemonique = 'VAL_SOC_ECO')
|
||||
group by zh_uuid
|
||||
)
|
||||
SELECT
|
||||
zh_uuid,
|
||||
hydro.hydro,
|
||||
bio.bio,
|
||||
int_patrim.int_patrim,
|
||||
val_socio.val_socio
|
||||
FROM pr_zh.t_zh
|
||||
LEFT JOIN hydro USING (zh_uuid)
|
||||
LEFT JOIN bio USING (zh_uuid)
|
||||
LEFT JOIN int_patrim USING (zh_uuid)
|
||||
LEFT JOIN val_socio USING (zh_uuid)
|
||||
--group by zh_uuid
|
||||
), especes as (
|
||||
SELECT
|
||||
zh_uuid,
|
||||
(select distinct count(vm_flora.cd_nom) from pr_zh.vm_flora where id_zh = t.id_zh) nb_flora,
|
||||
(select distinct count(vm_vertebrates.cd_nom) from pr_zh.vm_vertebrates where id_zh = t.id_zh) nb_vertebrates,
|
||||
(select distinct count(vm_invertebrates.cd_nom) from pr_zh.vm_invertebrates where id_zh = t.id_zh) nb_invertebrates
|
||||
--count(vm_vertebrates.cd_nom) nb_vertebrates,
|
||||
--count(vm_invertebrates.cd_nom) nb_invertebrates
|
||||
FROM pr_zh.t_zh t
|
||||
--GROUP BY zh_uuid
|
||||
)
|
||||
SELECT
|
||||
zh_uuid,
|
||||
code,
|
||||
main_name,
|
||||
CONCAT(crea_role.nom_role, ' ', crea_role.prenom_role) crea_author,
|
||||
CONCAT(updt_role.nom_role, ' ', updt_role.prenom_role) updt_author,
|
||||
bib_org.name organisme,
|
||||
create_date crea_date,
|
||||
update_date updt_date,
|
||||
geom,
|
||||
area surface,
|
||||
ref_nomenclatures.get_nomenclature_label(id_sdage) sdage,
|
||||
ref_nomenclatures.get_nomenclature_label(id_sage) sage,
|
||||
habitats.habitats,
|
||||
remark_pres descript,
|
||||
crit_delim.crit_delim,
|
||||
remark_lim rmq_delilm,
|
||||
esp_fs.crit_esp_fs,
|
||||
remark_lim_fs rmq_esp_fs,
|
||||
ef_area,
|
||||
v_habref v_hab,
|
||||
activ_hum.activ_hum,
|
||||
ref_nomenclatures.get_nomenclature_label(id_thread) bilan_menace,
|
||||
inflow.entree_eau,
|
||||
outflow.sortie_eau,
|
||||
ref_nomenclatures.get_nomenclature_label(id_frequency) freq_sub,
|
||||
ref_nomenclatures.get_nomenclature_label(id_spread) extend_sub,
|
||||
ref_nomenclatures.get_nomenclature_label(id_connexion) connex,
|
||||
ref_nomenclatures.get_nomenclature_label(id_diag_hydro) diag_hydro,
|
||||
ref_nomenclatures.get_nomenclature_label(id_diag_bio) diag_bio,
|
||||
functions.hydro,
|
||||
functions.bio,
|
||||
functions.int_patrim,
|
||||
functions.val_socio,
|
||||
remark_eval_functions eval_fcts,
|
||||
remark_eval_heritage eval_heritage,
|
||||
remark_eval_thread eval_menace,
|
||||
remark_eval_actions eval_actions,
|
||||
ref_nomenclatures.get_nomenclature_label(id_strat_gestion) strat_gestion,
|
||||
remark_diag rmq_gestion,
|
||||
--is_other_inventory,
|
||||
--is_carto_hab,
|
||||
--nb_hab,
|
||||
--total_hab_cover,
|
||||
especes.nb_flora nb_flora_sp,
|
||||
especes.nb_vertebrates nb_vertebrate_sp,
|
||||
especes.nb_invertebrates nb_invertebrate_sp
|
||||
--remark_is_other_inventory
|
||||
FROM pr_zh.t_zh
|
||||
JOIN utilisateurs.t_roles crea_role ON t_zh.create_author = crea_role.id_role
|
||||
LEFT JOIN utilisateurs.t_roles updt_role ON t_zh.update_author = updt_role.id_role
|
||||
LEFT JOIN pr_zh.bib_organismes bib_org USING (id_org)
|
||||
LEFT JOIN habitats USING (zh_uuid)
|
||||
LEFT JOIN crit_delim USING (zh_uuid)
|
||||
LEFT JOIN esp_fs USING (zh_uuid)
|
||||
LEFT JOIN activ_hum USING (zh_uuid)
|
||||
LEFT JOIN inflow USING (zh_uuid)
|
||||
LEFT JOIN outflow USING (zh_uuid)
|
||||
LEFT JOIN functions USING (zh_uuid)
|
||||
LEFT JOIN especes USING (zh_uuid)
|
||||
--group BY zh_uuid
|
||||
WHERE code not like '38CENIS%%' AND code like '38%%'
|
||||
order by code
|
||||
;
|
||||
'''
|
||||
|
||||
with con_gn.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
@ -2,7 +2,7 @@ from pycen import con_gn,update_to_sql
|
||||
from os import path
|
||||
import geopandas as gpd
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS'
|
||||
PATH = '/media/colas/SRV/FICHIERS'
|
||||
FILE = 'OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/Zones humides/ACTUALISATION 2024/BE EPODE - LEZE/KIT INVENTAIRE38 MODIFIE/a envoyer prêt/GEOM/38CG0105_Epode2025 (à intégrer).gpkg'
|
||||
|
||||
tmp = (gpd.read_file(path.join(PATH, FILE))
|
||||
|
||||
@ -4,8 +4,8 @@ import geopandas as gpd
|
||||
from pycen import con_gn, update_to_sql
|
||||
from os import path
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS'
|
||||
FILE = 'OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/Zones humides/diag_zh_GAM/ZH_Séchilienne/zh_sapey.gpkg'
|
||||
PATH = '/media/colas/SRV/'
|
||||
FILE = 'FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/Zones humides/diag_zh_GAM/ZH_Séchilienne/zh_sapey.gpkg'
|
||||
df = (gpd.read_file(path.join(PATH, FILE))
|
||||
.rename(columns={'code_zh':'code'})
|
||||
.rename_geometry('geom'))
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import geopandas as gpd
|
||||
import os
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/SITES/SITES GERES/CHAR_CHARVAS/Scientifique-technique/Faune/AMPHIBIENS'
|
||||
PATH = '/media/colas/SRV/FICHIERS/SITES/SITES GERES/CHAR_CHARVAS/Scientifique-technique/Faune/AMPHIBIENS'
|
||||
file = 'Inventaires amphibiens Charvas 2011.xlsx'
|
||||
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ dict_taxo2 = {
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
PATH = '/media/cgeier/Disk2/tmp'
|
||||
PATH = '/media/colas/Disk2/tmp'
|
||||
file = '(RNN Platière) Inventaire Bryophytes L93.csv'
|
||||
file_out = '(RNN Platière) Inventaire Bryophytes L93 (correct cdnom).csv'
|
||||
df = pd.read_csv(os.path.join(PATH,file),encoding='Windows-1252',sep=';')
|
||||
|
||||
@ -11,7 +11,7 @@ def get_synthese(con,lst):
|
||||
return pd.read_sql_query(sql,con)
|
||||
|
||||
if __name__ == "__main__":
|
||||
PATH = '/media/cgeier/SRV/homer_geonat/home/geonatureadmin/taxhub/tmp'
|
||||
PATH = '/media/colas/SRV/homer_geonat/home/geonatureadmin/taxhub/tmp'
|
||||
file = 'liste_changements.csv'
|
||||
chgt = pd.read_csv(os.path.join(PATH,file))
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ if __name__ == "__main__":
|
||||
module_name = "chiro"
|
||||
id_tax_list = 100 # taxons occtax
|
||||
|
||||
PATH = '/media/cgeier/SRV/homer_geonat/home/geonatureadmin/protocoles_suivi/{mod}/odk_form/'.format(mod=module_name)
|
||||
PATH = '/media/colas/SRV/homer_geonat/home/geonatureadmin/protocoles_suivi/{mod}/odk_form/'.format(mod=module_name)
|
||||
PATH = '/home/colas/Documents/9_PROJETS/6_GEONATURE/MODULES/ODK/test/CHIRO/'
|
||||
csv_site_name = 'gn_sites.csv'
|
||||
csv_jdd_name = 'gn_jdds.csv'
|
||||
|
||||
@ -4,7 +4,7 @@ from pycen import con_gn
|
||||
|
||||
|
||||
NAME_OUT = '/home/colas/Documents/tmp/v_bdc_status2.xlsx'
|
||||
FileIn = '/media/cgeier/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/BDC_STATUTS_15.xls'
|
||||
FileIn = '/media/colas/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/BDC_STATUTS_15.xls'
|
||||
db = False
|
||||
|
||||
if db :
|
||||
|
||||
@ -24,7 +24,6 @@ def get_status(lst,con):
|
||||
t.nom_valide,
|
||||
t.lb_nom,
|
||||
--s.*
|
||||
s.cd_sig,
|
||||
s.rq_statut,
|
||||
s.code_statut,
|
||||
s.cd_type_statut,
|
||||
@ -203,54 +202,6 @@ def get_taxon_status(lst,api):
|
||||
}
|
||||
return pd.DataFrame({**phylo,**cd_status})
|
||||
|
||||
|
||||
def filter_bio_geo(df,zone_bio):
|
||||
idNotBioGeo = []
|
||||
# Filtre du dommaine biogeographique sur la plaine Rhodanienne et Alpine
|
||||
test_rhod = df.rq_statut.str.contains('rhodanienne : Non déterminante',na=False)
|
||||
test_alpi = df.rq_statut.str.contains('Alpine : Non déterminante',na=False)
|
||||
|
||||
if zone_bio == 'rhod':
|
||||
idNotBioGeo = df[test_rhod].index
|
||||
elif zone_bio == 'alpi':
|
||||
idNotBioGeo = df[test_alpi].index
|
||||
elif zone_bio == 'all':
|
||||
idNotBioGeo = df[test_rhod&test_alpi].index
|
||||
|
||||
if not idNotBioGeo.empty:
|
||||
df.drop(idNotBioGeo, inplace=True)
|
||||
|
||||
return df
|
||||
|
||||
|
||||
def form_territoire(df,terr):
|
||||
is_dep = df.cd_sig.str.contains('INSEED')
|
||||
dep = (
|
||||
['38','42','07','26'] if terr == 'platiere' else
|
||||
['38','69','01'] if terr == 'negria' else ['38']
|
||||
)
|
||||
keep_not = df[is_dep&(~df.cd_sig.str[-2:].isin(dep))].index
|
||||
df.drop(keep_not,inplace=True)
|
||||
|
||||
is_dep = df.cd_sig.str.contains('INSEED')
|
||||
is_38 = df.cd_sig=='INSEED38'
|
||||
|
||||
if terr == 'isere':
|
||||
filter_id = df[is_dep&(~is_38)].index
|
||||
df.drop(filter_id,inplace=True)
|
||||
else:
|
||||
lst_stat = df[is_dep&(~is_38)].cd_type_statut.unique()
|
||||
# is_lst = df.cd_type_statut.isin(lst_stat)
|
||||
df.loc[is_dep&(~is_38),'cd_type_statut'] = ( df[is_dep&(~is_38)]
|
||||
.cd_type_statut + '_' + df[is_dep&(~is_38)].cd_sig.str.strip('INSEED')
|
||||
)
|
||||
df.loc[is_38,'cd_type_statut'] = ( df[is_38]
|
||||
.cd_type_statut + '_38'
|
||||
)
|
||||
|
||||
return df
|
||||
|
||||
|
||||
dict_dep = {
|
||||
'38':'Isère',
|
||||
'42':'Loire',
|
||||
@ -259,11 +210,6 @@ dict_dep = {
|
||||
}
|
||||
|
||||
|
||||
cols_rename = {
|
||||
'nom_vernaculaire': 'nom_vern'
|
||||
}
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Définition de la connection à la bdd GéoNature
|
||||
from pycen import con_gn
|
||||
@ -271,35 +217,21 @@ if __name__ == "__main__":
|
||||
api_taxref = 'https://geonature.cen-isere.fr/taxhub/api/taxref'
|
||||
|
||||
# Paramètres de chargement du fichier des taxons
|
||||
PATH0 = '/home/cgeier/Téléchargements'
|
||||
PATH = ''
|
||||
file = 'synthese_observations_2026-04-23.xlsx'
|
||||
sheet = 'observations'
|
||||
zone_bio_znieff = 'rhod' # ['rhod', 'alpi', 'all']
|
||||
territoire = 'negria' # ['isere', 'platiere','negria']
|
||||
# [GEOMETRY PARAMS]
|
||||
keep_geomtype = None # ['polygon', 'point', 'ligne', None]
|
||||
geom_col = 'geometrie_wkt_4326'
|
||||
PATH0 = '/media/colas/SRV/FICHIERS'
|
||||
PATH = 'SITES/SITES GERES/PLAN_PLANCHETTES/Scientifique et technique/Flore et habitats/Suivi flore patrimoniale 2025'
|
||||
file = 'donnes_sp_suivi2025.xlsx'
|
||||
sheet = 'liste sp'
|
||||
|
||||
# Liste des CD_NOM en entrée
|
||||
cd_col = 'cd_nom' # Nom de la colonne à utiliser dans le feuillet ``sheet``
|
||||
|
||||
cd_col = 'cd_ref' # Nom de la colonne à utiliser dans le feuillet ``sheet``
|
||||
|
||||
# Lecture des données
|
||||
taxlist = pd.read_excel(os.path.join(PATH0,PATH,file),sheet,usecols=[cd_col],header=0)
|
||||
tab_sp = pd.read_excel(os.path.join(PATH0,PATH,file),sheet,index_col=cd_col)
|
||||
tab_sp.rename(columns=cols_rename,inplace=True)
|
||||
|
||||
# Exclusion d'un type de géométrie
|
||||
if keep_geomtype is not None:
|
||||
as_geom = tab_sp[geom_col].str.contains(keep_geomtype.upper(),na=False)
|
||||
tab_sp = tab_sp[as_geom]
|
||||
taxlist = taxlist[taxlist.cd_nom.isin(tab_sp.index.tolist())]
|
||||
|
||||
lst = taxlist[cd_col]
|
||||
|
||||
# Récupération des statuts
|
||||
df = get_status(taxlist[cd_col].astype(str).unique(),con_gn)
|
||||
df = get_status(taxlist[cd_col].astype(str),con_gn)
|
||||
typ = get_type_status(con_gn)
|
||||
typ = typ[typ.cd_type_statut.isin(df.cd_type_statut.unique())]
|
||||
|
||||
@ -309,70 +241,32 @@ if __name__ == "__main__":
|
||||
df.loc[is_lrr & (df.niveau_admin == 'Ancienne région'),'cd_type_statut'] = 'LRR_RA'
|
||||
del df['niveau_admin']
|
||||
|
||||
# Filtre du dommaine biogeographique sur la plaine Rhodanienne et Alpine
|
||||
df = filter_bio_geo(df,zone_bio_znieff)
|
||||
for c in ['cd_ref','cd_nom','lb_nom']:
|
||||
if c in tab_sp.columns:
|
||||
# if 'cd_nom' not in df.columns and c == 'cd_ref': continue
|
||||
tab_sp.drop(c,axis=1,inplace=True)
|
||||
|
||||
# Filtre des statuts vis à vis du territoire d'intérêts
|
||||
# Conservation des statuts Adrèche, Drôme et Loire pour la Platière
|
||||
df = form_territoire(df,territoire)
|
||||
|
||||
# for c in ['cd_ref','cd_nom','lb_nom']:
|
||||
# if c in tab_sp.columns:
|
||||
# # if 'cd_nom' not in df.columns and c == 'cd_ref': continue
|
||||
# tab_sp.drop(c,axis=1,inplace=True)
|
||||
|
||||
keep_cols = same_col = df.columns[df.columns.isin(tab_sp.reset_index(drop=False).columns)]
|
||||
as_vern = keep_cols.str.contains('vern').any()
|
||||
as_numb = keep_cols.str.contains('nombre').any()
|
||||
if not as_vern:
|
||||
keep_cols = [*keep_cols,'nom_vern']
|
||||
if not as_numb:
|
||||
keep_cols = [*keep_cols,'nombre_min','nombre_max']
|
||||
else:
|
||||
same_col = [x for x in keep_cols if x not in ['nombre_min','nombre_max']]
|
||||
|
||||
piv = pd.pivot_table(
|
||||
pivot = pd.pivot_table(
|
||||
df,
|
||||
values='code_statut',
|
||||
index=['cd_nom', 'cd_ref','lb_nom','nom_vern'#,'niveau_admin','lb_adm_tr'
|
||||
index=['cd_nom', 'cd_ref','lb_nom'#,'niveau_admin','lb_adm_tr'
|
||||
],
|
||||
columns=['cd_type_statut'],
|
||||
aggfunc=list,fill_value=None)
|
||||
|
||||
for c in piv.columns:
|
||||
piv[c] = [x[0] if x is not np.NaN and len(x)==1 else x for x in piv[c]]
|
||||
if 'DH' in piv.columns:
|
||||
piv['DH'] = [','.join(x) if (x is not np.NaN) and (len(x)==2) else x for x in piv['DH']]
|
||||
piv.DH.replace({'CDH':''},regex=True,inplace=True)
|
||||
# piv.reset_index(-1, inplace=True)
|
||||
for c in pivot.columns:
|
||||
pivot[c] = [x[0] if x is not np.NaN and len(x)==1 else x for x in pivot[c]]
|
||||
if 'DH' in pivot.columns:
|
||||
pivot['DH'] = [','.join(x) if (x is not np.NaN) and (len(x)==2) else x for x in pivot['DH']]
|
||||
pivot.DH.replace({'CDH':''},regex=True,inplace=True)
|
||||
|
||||
# tabsp_nb = tab_sp.reset_index(drop=False)[[*same_col,'nombre_min','nombre_max']].groupby([*same_col]).sum()
|
||||
tabsp_nb = (
|
||||
tab_sp.reset_index(drop=False)[same_col]
|
||||
.drop_duplicates()
|
||||
.merge(
|
||||
tab_sp.reset_index(drop=False)[[cd_col,'nombre_min','nombre_max','date_debut','date_fin']]
|
||||
.groupby([cd_col])
|
||||
.agg({
|
||||
'nombre_min':'sum',
|
||||
'nombre_max':'sum',
|
||||
'date_debut':'min',
|
||||
'date_fin':'max'
|
||||
}),
|
||||
on = cd_col
|
||||
)
|
||||
)
|
||||
tabsp_nb.set_index(cd_col,inplace=True)
|
||||
tabsp_nb.sort_index(inplace=True)
|
||||
|
||||
# pivot = tab_sp.merge(piv,on=[cd_col],how='left')
|
||||
pivot = tabsp_nb.merge(piv,on=[cd_col],how='left')
|
||||
pivot = tab_sp.merge(pivot,on=[cd_col],how='left')
|
||||
|
||||
pivlib = pd.pivot_table(
|
||||
df,
|
||||
values='label_statut',
|
||||
index=[
|
||||
'cd_nom', 'cd_ref','lb_nom','nom_vern'#,'niveau_admin','lb_adm_tr'
|
||||
'cd_nom', 'cd_ref','lb_nom'#,'niveau_admin','lb_adm_tr'
|
||||
],
|
||||
columns=['cd_type_statut'],
|
||||
aggfunc=list,fill_value=None)
|
||||
@ -382,18 +276,10 @@ if __name__ == "__main__":
|
||||
pivlib['DH'] = [','.join(x) if (x is not np.NaN) and (len(x)==2) else x for x in pivlib['DH']]
|
||||
pivlib.DH.replace({'CDH':''},regex=True,inplace=True)
|
||||
|
||||
# pivlib = tab_sp.merge(pivlib,on=[cd_col],how='left')
|
||||
pivotlib = tabsp_nb.merge(pivlib,on=[cd_col],how='left')
|
||||
|
||||
tx_nb_missing = df[~df.cd_nom.isin(tabsp_nb.index)].shape[0]
|
||||
if tx_nb_missing > 0:
|
||||
print('WARNING : %i taxon(s) is MISING !! \n'%tx_nb_missing)
|
||||
pivlib = tab_sp.merge(pivlib,on=[cd_col],how='left')
|
||||
|
||||
print('INIT writer')
|
||||
NAME_OUT = os.path.join('~/',sheet+'_status.xlsx')
|
||||
if keep_geomtype is not None:
|
||||
NAME_OUT = NAME_OUT[:-5]+' (%s only).xlsx'%keep_geomtype.lower()
|
||||
|
||||
NAME_OUT = os.path.join(PATH0,PATH,sheet+'_status.xlsx')
|
||||
with pd.ExcelWriter(NAME_OUT) as writer:
|
||||
df.to_excel(
|
||||
writer,sheet_name='v_bdc_status',index=False
|
||||
@ -405,7 +291,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
# writer.save()
|
||||
print('pivot_table OK !')
|
||||
pivotlib.to_excel(
|
||||
pivlib.to_excel(
|
||||
writer,sheet_name='pivot_libel'
|
||||
)
|
||||
# writer.save()
|
||||
@ -415,5 +301,3 @@ if __name__ == "__main__":
|
||||
)
|
||||
# writer.save()
|
||||
print('dic_type_statut OK !')
|
||||
print('END writing %s'%NAME_OUT)
|
||||
|
||||
|
||||
@ -1,98 +0,0 @@
|
||||
import geopandas as gpd
|
||||
from pycen import con_gn
|
||||
|
||||
uuid_gn38 = gpd.pd.read_sql('SELECT unique_id_sinp uuid_perm_sinp FROM gn_synthese.synthese',con_gn)
|
||||
lst_gn38 = uuid_gn38.uuid_perm_sinp.astype(str).tolist()
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS'
|
||||
biodiv = gpd.read_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/0.Données transmises/BiodivAura_Synthese_Export_2026-04-21.geojson')
|
||||
cenra_point = gpd.read_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/0.Données transmises/CENRA_20260421_gn_export_lones_cen38.gpkg',layer = 'points')
|
||||
cenra_poly = gpd.read_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/0.Données transmises/CENRA_20260421_gn_export_lones_cen38.gpkg',layer = 'polygones')
|
||||
# synt = gpd.pd.read_csv(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/0.Données transmises/synthese_observations_2025-04-24T12_11_45.488Z (completer).csv',sep=',')
|
||||
|
||||
# synt['code_com'] = synt.communes.str.split('(',expand=True)[1].str[:5]
|
||||
# synt['code_dep'] = synt.communes.str.split('(',expand=True)[1].str[:2]
|
||||
# synt.nombre_min = synt.nombre_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
# synt.nombre_max = synt.nombre_max.astype(str).str.strip('.0').replace('nan',None)
|
||||
# synt.precision_geographique = synt.precision_geographique.astype(str).str.strip('.0').replace('nan',None)
|
||||
# synt.alti_min = synt.alti_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
|
||||
for cenra in [cenra_point,cenra_poly]:
|
||||
test_nb_cenra = cenra.nombre_min.astype('float') > cenra.nombre_max.astype('float')
|
||||
if test_nb_cenra.any():
|
||||
cenra.loc[test_nb_cenra,'nb_tmp'] = cenra[test_nb_cenra].nombre_min
|
||||
cenra.loc[test_nb_cenra,'nombre_min'] = cenra[test_nb_cenra].nombre_max
|
||||
cenra.loc[test_nb_cenra,'nombre_max'] = cenra[test_nb_cenra].nb_tmp
|
||||
cenra.drop(columns='nb_tmp',inplace=True)
|
||||
|
||||
# cenra.nombre_min = cenra.nombre_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
# cenra.nombre_max = cenra.nombre_max.astype(str).str.strip('.0').replace('nan',None)
|
||||
cenra.profondeur_min = cenra.profondeur_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
cenra.profondeur_max = cenra.profondeur_max.astype(str).str.strip('.0').replace('nan',None)
|
||||
cenra.precision = cenra.precision.astype(str).str.strip('.0').replace('nan',None)
|
||||
cenra.code_habitat = cenra.code_habitat.astype(str).str.strip('.0').replace('nan',None)
|
||||
# cenra.altitude_min = cenra.altitude_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
# cenra.altitude_max = cenra.altitude_max.astype(str).str.strip('.0').replace('nan',None)
|
||||
cenra.precision_diffusion.fillna('Non déterminé', inplace=True)
|
||||
|
||||
|
||||
# synt_l93 = synt[synt.x_centroid_4326>500000]
|
||||
# synt_l93_geom = gpd.GeoDataFrame(synt_l93,geometry=gpd.geoseries.points_from_xy(synt_l93.x_centroid_4326,synt_l93.y_centroid_4326),crs=2154)
|
||||
# synt_l93_geom.to_crs(4326,inplace=True)
|
||||
# synt_l93_geom.x_centroid_4326 = synt_l93_geom.geometry.x
|
||||
# synt_l93_geom.y_centroid_4326 = synt_l93_geom.geometry.y
|
||||
# synt_w84 = synt[synt.x_centroid_4326<500000]
|
||||
# synt = gpd.pd.concat([synt_l93_geom,synt_w84])
|
||||
|
||||
|
||||
|
||||
biodiv.nombre_min = biodiv.nombre_min.astype(str).str.strip('.0').replace('nan',None).replace('',None)
|
||||
biodiv.nombre_max = biodiv.nombre_max.astype(str).str.strip('.0').replace('nan',None).replace('',None)
|
||||
biodiv.alti_min = biodiv.alti_min.astype(str).str.strip('.0').replace('nan',None)
|
||||
biodiv.precision_geographique = biodiv.precision_geographique.astype(str).str.strip('.0').replace('nan',None)
|
||||
biodiv.observateurs.fillna('Inconnu', inplace=True)
|
||||
biodiv.stade_vie.fillna('Inconnu', inplace=True)
|
||||
biodiv.loc[biodiv.cd_ref == 1078938, 'cd_ref'] = 5289 # Geheebia lurida (Hornsch. ex Spreng.) J.A.Jiménez & M.J.Cano, 2021
|
||||
biodiv.loc[biodiv.cd_ref == 1049429, 'cd_ref'] = 108898 # Muscari neglectum Guss. ex Ten. & Sangiov., 1841
|
||||
|
||||
test_nb_biodiv = biodiv.nombre_min.astype('float') > biodiv.nombre_max.astype('float')
|
||||
if test_nb_biodiv.any():
|
||||
biodiv.loc[test_nb_biodiv,'nb_tmp'] = biodiv[test_nb_biodiv].nombre_min
|
||||
biodiv.loc[test_nb_biodiv,'nombre_min'] = biodiv[test_nb_biodiv].nombre_max
|
||||
biodiv.loc[test_nb_biodiv,'nombre_max'] = biodiv[test_nb_biodiv].nb_tmp
|
||||
biodiv.drop(columns='nb_tmp',inplace=True)
|
||||
|
||||
lst_cenra = [
|
||||
*cenra_point.id_perm_sinp.tolist(),
|
||||
*cenra_poly.id_perm_sinp.tolist()
|
||||
]
|
||||
|
||||
# synt = synt[~synt.uuid_perm_sinp.isin(lst_cenra)]
|
||||
biodiv = biodiv[~biodiv.uuid_perm_sinp.isin(lst_cenra)]
|
||||
biodiv = biodiv[~biodiv.uuid_perm_sinp.isin(lst_cenra)]
|
||||
|
||||
# lst_synt = synt.uuid_perm_sinp.tolist()
|
||||
lst_biodiv = biodiv.uuid_perm_sinp.tolist()
|
||||
|
||||
# biodiv = biodiv[~biodiv.uuid_perm_sinp.isin(lst_synt)]
|
||||
biodiv = biodiv[~biodiv.uuid_perm_sinp.isin(lst_gn38)]
|
||||
# synt[~synt.uuid_perm_sinp.isin(lst_biodiv)]
|
||||
|
||||
from shapely.geometry import shape
|
||||
import json
|
||||
biodiv['geom'] = biodiv.apply(lambda row: shape(json.loads(row['geojson_4326'])), axis=1).set_crs(4326)
|
||||
biodiv.set_geometry('geom',inplace=True)
|
||||
biodiv.drop(columns='geometry',inplace=True)
|
||||
biodiv['geom_4326'] = biodiv.geom.to_wkt()
|
||||
|
||||
gpd.pd.concat([cenra_point,cenra_poly]).to_csv(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/CENRA_20260421_gn_export_lones_cen38.csv',index=False)
|
||||
# cenra.to_csv(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/CENRA_synthese_observations_geonature_2026-03-16T15_25_59.351Z.csv',index=False)
|
||||
# synt.to_csv(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/synthese_observations_2025-04-24T12_11_45.488Z.csv',index=False)
|
||||
biodiv.to_csv(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/BiodivAura_Synthese_Export_2026-04-21.csv',index=False)
|
||||
|
||||
gpd.pd.concat([cenra_point,cenra_poly]).to_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/CENRA_20260421_gn_export_lones_cen38.geojson',index=False)
|
||||
# cenra.to_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/CENRA_synthese_observations_geonature_2026-03-16T15_25_59.351Z.geojson',index=False)
|
||||
# synt.to_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/synthese_observations_2025-04-24T12_11_45.488Z.geojson',index=False)
|
||||
# synt_geom = gpd.GeoDataFrame(synt,geometry=gpd.geoseries.points_from_xy(synt.x_centroid_4326,synt.y_centroid_4326),crs=4326)
|
||||
# synt_geom.to_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/synthese_observations_2025-04-24T12_11_45.488Z.geojson',index=False)
|
||||
biodiv.to_file(PATH+'/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Données partenaires/1.Données nettoyées/BiodivAura_Synthese_Export_2026-04-21.geojson',index=False)
|
||||
@ -1,64 +0,0 @@
|
||||
CREATE OR REPLACE VIEW gn_exports.v_synthese_sinp_acquisition_flore_with_metadata_for_gn2pg AS
|
||||
WITH af_actors AS
|
||||
(SELECT cafa.*
|
||||
FROM gn_meta.cor_acquisition_framework_actor cafa
|
||||
LEFT JOIN utilisateurs.bib_organismes borg ON cafa.id_organism = borg.id_organisme
|
||||
WHERE borg.uuid_organisme = '5a433bd0-2070-25d9-e053-2614a8c026f8'::uuid
|
||||
--OR borg.uuid_organisme = 'a3c44538-f22a-4134-9e21-28646a73986b'::uuid
|
||||
), act AS
|
||||
(SELECT *
|
||||
FROM crosstab( 'SELECT id_acquisition_framework, id_nomenclature_actor_role, id_organism
|
||||
FROM gn_meta.cor_acquisition_framework_actor
|
||||
WHERE id_acquisition_framework = 1 OR id_acquisition_framework = 6
|
||||
ORDER BY 1,2' , $$VALUES ('359'::text), ('361')$$ ) AS ct ("id_acquisition_framework" int, "Contact principal" int, "Producteur du jeu de données" int))
|
||||
SELECT taf.id_acquisition_framework AS id_ca,
|
||||
taf.unique_acquisition_framework_id AS id_sinp_ca,
|
||||
taf.acquisition_framework_name AS libelle,
|
||||
NULL::text AS cadre_acquisition_parent,
|
||||
taf.acquisition_framework_desc AS description,
|
||||
taf.keywords AS mots_cles,
|
||||
ref1.label_default as niveau_territorial,
|
||||
taf.territory_desc AS description_territoire,
|
||||
ref2.label_default AS objectifs_cadre_acquisition,
|
||||
ref4.label_default AS volet_SINP,
|
||||
ref3.label_default AS type_financement,
|
||||
taf.target_description AS description_cible,
|
||||
to_char(taf.meta_create_date, 'DD-MM-YYYY')::date AS date_debut,
|
||||
NULL::date AS date_fin,
|
||||
ref5.nom_organisme AS acteur1_organisme,
|
||||
NULL::text AS acteur1_personne_groupe,
|
||||
'Contact principal' AS acteur1_type_role,
|
||||
ref6.nom_organisme AS acteur2_organisme,
|
||||
NULL::text AS acteur2_personne_groupe,
|
||||
CASE
|
||||
WHEN ref6.nom_organisme IS NOT NULL THEN 'Producteur du jeu de données'
|
||||
ELSE NULL
|
||||
END AS acteur2_type_role,
|
||||
NULL::text AS acteur3_organisme,
|
||||
NULL::text AS acteur3_personne_groupe,
|
||||
NULL::text AS acteur3_type_role
|
||||
FROM gn_meta.t_acquisition_frameworks taf
|
||||
JOIN af_actors ON af_actors.id_acquisition_framework = taf.id_acquisition_framework
|
||||
JOIN gn_meta.cor_acquisition_framework_objectif obj ON obj.id_acquisition_framework = taf.id_acquisition_framework
|
||||
JOIN ref_nomenclatures.t_nomenclatures ref1 ON ref1.id_nomenclature = taf.id_nomenclature_territorial_level
|
||||
JOIN ref_nomenclatures.t_nomenclatures ref2 ON ref2.id_nomenclature = obj.id_nomenclature_objectif
|
||||
JOIN ref_nomenclatures.t_nomenclatures ref3 ON ref3.id_nomenclature = taf.id_nomenclature_financing_type
|
||||
JOIN gn_meta.cor_acquisition_framework_voletsinp sinp ON sinp.id_acquisition_framework = taf.id_acquisition_framework
|
||||
JOIN ref_nomenclatures.t_nomenclatures ref4 ON ref4.id_nomenclature = sinp.id_nomenclature_voletsinp
|
||||
JOIN act ON act.id_acquisition_framework = taf.id_acquisition_framework
|
||||
LEFT JOIN utilisateurs.bib_organismes ref5 ON ref5.id_organisme = act."Contact principal"
|
||||
LEFT JOIN utilisateurs.bib_organismes ref6 ON ref6.id_organisme = act."Producteur du jeu de données"
|
||||
GROUP BY taf.id_acquisition_framework,
|
||||
taf.unique_acquisition_framework_id,
|
||||
taf.acquisition_framework_name,
|
||||
taf.acquisition_framework_desc,
|
||||
taf.keywords,
|
||||
ref1.label_default,
|
||||
taf.territory_desc,
|
||||
ref2.label_default,
|
||||
ref4.label_default,
|
||||
ref3.label_default,
|
||||
taf.target_description,
|
||||
to_char(taf.meta_create_date, 'DD-MM-YYYY')::date,
|
||||
ref5.nom_organisme,
|
||||
ref6.nom_organisme
|
||||
@ -1,77 +0,0 @@
|
||||
CREATE OR REPLACE VIEW gn_exports.v_synthese_sinp_jeu_donnees_flore_with_metadata_for_gn2pg AS
|
||||
WITH ds_actors AS (
|
||||
SELECT cda.id_dataset,
|
||||
borg.nom_organisme,
|
||||
cda.id_role,
|
||||
borg.uuid_organisme,
|
||||
tro.nom_role,
|
||||
tro.prenom_role,
|
||||
borg.email_organisme,
|
||||
tro.email
|
||||
FROM gn_meta.cor_dataset_actor cda
|
||||
LEFT JOIN utilisateurs.bib_organismes borg ON cda.id_organism = borg.id_organisme
|
||||
LEFT JOIN utilisateurs.t_roles tro ON cda.id_role = tro.id_role
|
||||
JOIN ref_nomenclatures.t_nomenclatures tn ON cda.id_nomenclature_actor_role = tn.id_nomenclature
|
||||
-- WHERE borg.uuid_organisme = '5a433bd0-2070-25d9-e053-2614a8c026f8'::uuid
|
||||
-- OR borg.uuid_organisme = 'a3c44538-f22a-4134-9e21-28646a73986b'::uuid
|
||||
),
|
||||
actor AS (
|
||||
SELECT *
|
||||
FROM crosstab( 'SELECT id_dataset, id_nomenclature_actor_role, id_organism
|
||||
FROM gn_meta.cor_dataset_actor
|
||||
ORDER BY 1,2' ,
|
||||
$$VALUES ('359'), ('364'), ('365'), ('395')$$ ) AS ct ("id_dataset" int, "Contact principal" int, "Producteur du jeu de données" int, "Point de contact base de données de production" int, "Point de contact pour les métadonnées" int)
|
||||
),
|
||||
ds AS (
|
||||
SELECT tds.id_dataset AS id_jdd,
|
||||
tds.unique_dataset_id AS id_sinp_jdd,
|
||||
acq.acquisition_framework_name AS cadre_acquisiton,
|
||||
tds.dataset_name AS nom_jeu_donnees,
|
||||
tds.dataset_shortname AS nom_court,
|
||||
tds.dataset_desc AS description,
|
||||
ndso.label_default AS objectif,
|
||||
ncm.label_default AS methode_collecte,
|
||||
ndo.label_default AS origine_donnees,
|
||||
nss.label_default AS statut_source,
|
||||
tds.keywords AS mots_cles,
|
||||
act1.nom_organisme AS acteur1_organisme,
|
||||
NULL::text AS acteur1_personne_groupe,
|
||||
'Contact principal' AS acteur1_type_role,
|
||||
act2.nom_organisme AS acteur2_organisme,
|
||||
NULL::text AS acteur2_personne_groupe,
|
||||
CASE
|
||||
WHEN act2.nom_organisme IS NOT NULL THEN 'Producteur du jeu de données'
|
||||
ELSE NULL
|
||||
END AS acteur2_type_role,
|
||||
act3.nom_organisme AS acteur3_organisme,
|
||||
NULL::text AS acteur3_personne_groupe,
|
||||
CASE
|
||||
WHEN act3.nom_organisme IS NOT NULL THEN 'Point de contact base de données de production'
|
||||
ELSE NULL
|
||||
END AS acteur3_type_role,
|
||||
act4.nom_organisme AS acteur4_organisme,
|
||||
NULL::text AS acteur4_personne_groupe,
|
||||
CASE
|
||||
WHEN act4.nom_organisme IS NOT NULL THEN 'Point de contact pour les métadonnées'
|
||||
ELSE NULL
|
||||
END AS acteur4_type_role
|
||||
FROM gn_meta.t_datasets tds
|
||||
JOIN ds_actors ON ds_actors.id_dataset = tds.id_dataset
|
||||
JOIN actor ON actor.id_dataset = tds.id_dataset
|
||||
JOIN gn_meta.t_acquisition_frameworks acq ON tds.id_acquisition_framework = acq.id_acquisition_framework
|
||||
LEFT JOIN gn_meta.cor_dataset_territory cdt ON cdt.id_dataset = tds.id_dataset
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures ndt ON tds.id_nomenclature_data_type = ndt.id_nomenclature
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures ncm ON tds.id_nomenclature_collecting_method = ncm.id_nomenclature
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures ndo ON tds.id_nomenclature_data_origin = ndo.id_nomenclature
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures ndso ON tds.id_nomenclature_dataset_objectif = ndso.id_nomenclature
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures nrt ON tds.id_nomenclature_resource_type = nrt.id_nomenclature
|
||||
LEFT JOIN ref_nomenclatures.t_nomenclatures nss ON tds.id_nomenclature_source_status = nss.id_nomenclature
|
||||
LEFT JOIN utilisateurs.bib_organismes act1 ON actor."Contact principal" = act1.id_organisme
|
||||
LEFT JOIN utilisateurs.bib_organismes act2 ON actor."Producteur du jeu de données" = act2.id_organisme
|
||||
LEFT JOIN utilisateurs.bib_organismes act3 ON actor."Point de contact base de données de production" = act3.id_organisme
|
||||
LEFT JOIN utilisateurs.bib_organismes act4 ON actor."Point de contact pour les métadonnées" = act4.id_organisme
|
||||
GROUP BY tds.id_dataset, acq.acquisition_framework_name, tds.unique_dataset_id, tds.dataset_name, tds.dataset_shortname, tds.dataset_desc, ndso.label_default, ncm.label_default, ndo.label_default, nss.label_default, ds_actors.nom_organisme, act1.nom_organisme, act2.nom_organisme, act3.nom_organisme, act4.nom_organisme
|
||||
)
|
||||
SELECT * FROM ds
|
||||
--WHERE acteur1_organisme IN ('Conservatoire d’espaces naturels Isère')
|
||||
;
|
||||
1
9_PGSZH
1
9_PGSZH
@ -1 +0,0 @@
|
||||
Subproject commit 250831edc17987766cb4ca2fb4370adca02a4a74
|
||||
@ -136,7 +136,7 @@ def make_plot(data):
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS/Délégués Personnel_CSE/6_Enquêtes/Enquêtes RPS'
|
||||
PATH = '/media/colas/SRV/FICHIERS/Délégués Personnel_CSE/6_Enquêtes/Enquêtes RPS'
|
||||
file = 'Enquete_Nat_RPS_2023_CEN_ISERE.xlsx'
|
||||
|
||||
df = pd.read_excel(os.path.join(PATH,file))
|
||||
|
||||
@ -22,7 +22,7 @@ out = path_tmp + 'etandLong_MNT1m.tif'
|
||||
read = 'file' # 'file' or 'bdd'
|
||||
# if read == 'file'
|
||||
# file_geom = 'cheminversmageometrie/monfichier'
|
||||
file_geom = "/media/cgeier/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/Etang des longs - zone d'étude/Zone d'étude.shp"
|
||||
file_geom = "/media/colas/SRV/FICHIERS/TRANSFERTS-EQUIPE/CG/Etang des longs - zone d'étude/Zone d'étude.shp"
|
||||
# if read == 'bdd'
|
||||
sql_select = "SELECT code_site, geom FROM sites.c_sites_zonages WHERE code_site='GOUR' AND type_zonage = 'ZO'"
|
||||
user = 'cen_admin'
|
||||
|
||||
@ -46,7 +46,7 @@ def gen_mbtiles2(xml,output,format='mbtiles'):
|
||||
|
||||
def gdalwarp(vrt,mbtiles):
|
||||
# exemple : Découpage d'un raster à partir d'un polygon
|
||||
# gdalwarp -overwrite -s_srs "EPSG:2154" -t_srs "EPSG:2154" -of GTiff -cutline "PG:dbname='azalee' host=91.134.194.221 port=5432 sslmode=disable user='cgeier' password='adm1n*bdCen'" -cl "ref_territoire.isere_platiere" -crop_to_cutline -multi -co "COMPRESS=JPEG" -co "JPEG_QUALITY=75" "/media/cgeier/Disk2/5_BDD/ZH_prob/ZH_probS_Auvergne-Rhone-Alpes/ZH_probS_region84.tif" "/media/cgeier/Disk2/5_BDD/ZH_prob/ZH_probS_Auvergne-Rhone-Alpes/ZH_probS_dept38.tif"
|
||||
# gdalwarp -overwrite -s_srs "EPSG:2154" -t_srs "EPSG:2154" -of GTiff -cutline "PG:dbname='azalee' host=91.134.194.221 port=5432 sslmode=disable user='cgeier' password='adm1n*bdCen'" -cl "ref_territoire.isere_platiere" -crop_to_cutline -multi -co "COMPRESS=JPEG" -co "JPEG_QUALITY=75" "/media/colas/Disk2/5_BDD/ZH_prob/ZH_probS_Auvergne-Rhone-Alpes/ZH_probS_region84.tif" "/media/colas/Disk2/5_BDD/ZH_prob/ZH_probS_Auvergne-Rhone-Alpes/ZH_probS_dept38.tif"
|
||||
cmd = '''
|
||||
gdalwarp -of MBTiles -s_srs epsg:2154 -t_srs epsg:3857 %s %s
|
||||
''' % (vrt,mbtiles)
|
||||
@ -71,7 +71,7 @@ if __name__ == "__main__":
|
||||
flux = 'http://tiles.craig.fr/ortho/service?VERSION=1.3.0&crs=EPSG:2154&featureCount=10&format=image/jpeg&layers=ortho_2021&maxHeight=256&maxWidth=256'
|
||||
|
||||
# flux = 'http://mt.google.com/vt/lyrs=s&x=${x}&y=${y}&z=${z}'
|
||||
PATH = '/media/cgeier/Disk2'
|
||||
PATH = '/media/colas/Disk2'
|
||||
xml = 'googlemaps.xml'
|
||||
xml = 'craig.xml'
|
||||
xml = 'output.xml'
|
||||
@ -94,4 +94,4 @@ if __name__ == "__main__":
|
||||
|
||||
# ds = gdal.Open(os.path.join(PATH,vrt))
|
||||
|
||||
# gdal_translate -outsize 50% 50% -projwin 631397 5672590 639669 5659275 -of MBTILES -co "COMPRESS=YES" -co "TILE_FORMAT=JPEG" -co "QUALITY=80" "/media/cgeier/Disk2/output.xml" "/media/cgeier/Disk2/ign_ortho2024_38.mbtiles"
|
||||
# gdal_translate -outsize 50% 50% -projwin 631397 5672590 639669 5659275 -of MBTILES -co "COMPRESS=YES" -co "TILE_FORMAT=JPEG" -co "QUALITY=80" "/media/colas/Disk2/output.xml" "/media/colas/Disk2/ign_ortho2024_38.mbtiles"
|
||||
|
||||
@ -108,7 +108,7 @@ if __name__ == "__main__":
|
||||
# if nr_worker_threads != 7:
|
||||
# set_nr_worker_threads(7)
|
||||
|
||||
PATH = "/media/cgeier/SRV/FICHIERS/SITES/DISTRICTS NATURELS/BASSE VALLEE DE L'ISERE/SONE/TUFI_Sone-à-Soi/SIG/"
|
||||
PATH = "/media/colas/SRV/FICHIERS/SITES/DISTRICTS NATURELS/BASSE VALLEE DE L'ISERE/SONE/TUFI_Sone-à-Soi/SIG/"
|
||||
raster = PATH+"MNT_1m.tif"
|
||||
dst_filename = '/home/colas/Documents/tmp/OUTPT.map'
|
||||
xyz_filename = '/home/colas/Documents/tmp/OUTPT.xyz'
|
||||
@ -188,4 +188,4 @@ if __name__ == "__main__":
|
||||
|
||||
# # processing.run("pcraster:comparisonoperators", {'INPUT':'%3Fcrs%3DEPSG%3A2154%26extent%3D868999.5%2C6447000.5%2C885999.5%2C6467000.5%26width%3D17000%26height%3D20000%26formula%3D%2522strahler%401%2522%2520%253E%253D5%2520%26strahler%3Auri%3D%2Fhome%2Fcolas%2FDocuments%2Ftmp%2Fstrahler.map%26strahler%3Aprovider%3Dgdal','INPUT1':0,'INPUT2':'%3Fcrs%3DEPSG%3A2154%26extent%3D868999.5%2C6447000.5%2C885999.5%2C6467000.5%26width%3D17000%26height%3D20000%26formula%3D%2522strahler%401%2522%2520%253E%253D5%2520%26strahler%3Auri%3D%2Fhome%2Fcolas%2FDocuments%2Ftmp%2Fstrahler.map%26strahler%3Aprovider%3Dgdal','OUTPUT':'TEMPORARY_OUTPUT'})
|
||||
|
||||
# # processing.run("pcraster:col2map", {'INPUT':'/home/colas/Documents/tmp/bilan_sites.csv','INPUT1':"/media/cgeier/SRV/FICHIERS/SITES/DISTRICTS NATURELS/BASSE VALLEE DE L'ISERE/SONE/TUFI_Sone-à-Soi/SIG/MNT_1m.tif",'INPUT2':0,'OUTPUT':'TEMPORARY_OUTPUT'})
|
||||
# # processing.run("pcraster:col2map", {'INPUT':'/home/colas/Documents/tmp/bilan_sites.csv','INPUT1':"/media/colas/SRV/FICHIERS/SITES/DISTRICTS NATURELS/BASSE VALLEE DE L'ISERE/SONE/TUFI_Sone-à-Soi/SIG/MNT_1m.tif",'INPUT2':0,'OUTPUT':'TEMPORARY_OUTPUT'})
|
||||
@ -2,7 +2,7 @@ from pycen import con_bdcen,con_fon,update_to_sql
|
||||
from pycen.tools import Polygons_to_MultiPolygon
|
||||
import geopandas as gpd
|
||||
|
||||
PATHIN = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/LEZE/PG2022/'
|
||||
PATHIN = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/LEZE/PG2022/'
|
||||
FILEIN = 'LEZE_zonage_2022.shp'
|
||||
SITE_NAME = 'LEZE'
|
||||
SITE_TYPE = ''
|
||||
|
||||
@ -55,7 +55,7 @@ def copy_2another_server(host_in,base_in,user_in,host_out,base_out,user_out,pass
|
||||
if __name__ == "__main__":
|
||||
|
||||
dump_bdd(
|
||||
file_out='/media/cgeier/SRV/FICHIERS/OUTILS/BASES DE DONNEES/FONCIER/CEN73/V4/_backup_V3/bd_cen_V3.sql',
|
||||
file_out='/media/colas/SRV/FICHIERS/OUTILS/BASES DE DONNEES/FONCIER/CEN73/V4/_backup_V3/bd_cen_V3.sql',
|
||||
host='91.134.194.221',
|
||||
base='bd_cen',
|
||||
user='cgeier',
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
import geopandas as gpd
|
||||
from os import path
|
||||
|
||||
PATH = '/media/cgeier/SRV/FICHIERS'
|
||||
file = 'OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/Lone de la Negria/Faune-Flore/Synthèse/synthese_observations_2026-04-23.geojson'
|
||||
|
||||
df = gpd.read_file(path.join(PATH,file), use_arrow=True)
|
||||
|
||||
df['ha'] = df.to_crs(2154).area
|
||||
df.sort_values('ha', ascending=False, inplace=True)
|
||||
df.reset_index(inplace=True)
|
||||
df.drop(columns='ha', inplace=True)
|
||||
|
||||
df.to_file(path.join(PATH,file))
|
||||
@ -21,7 +21,7 @@ dict_gn = {
|
||||
'group2_inp':'group2_inpn'
|
||||
}
|
||||
|
||||
PATH = "/media/cgeier/SRV/FICHIERS/SITES/SITES GERES/AVAL_AVALON/Scientifique et technique/Données historiques/Marais d'Avalon"
|
||||
PATH = "/media/colas/SRV/FICHIERS/SITES/SITES GERES/AVAL_AVALON/Scientifique et technique/Données historiques/Marais d'Avalon"
|
||||
|
||||
biodiv1 = gpd.read_file(path.join(PATH,'Biodi_Aura_Mare Ratier','POINT_2023_12_13_08h35m51.shp'))
|
||||
# biodiv2 = gpd.read_file(path.join(PATH,'Biodiv_Aura_Marais','POINT_2023_12_13_08h41m24.shp'))
|
||||
|
||||
@ -7,8 +7,8 @@ import pandas as pd
|
||||
import geopandas as gpd
|
||||
|
||||
|
||||
path_fichsite = '/media/cgeier/SRV/FICHIERS/OPERATIONS (EX ETUDES)/ETUDES EN COURS/CORRIDORS/CVB_Bourbre/#42_Mesures compensatoires/BM/Evaluation des sites'
|
||||
path_geom = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/CVB_Bourbre/Cartographie CVB Bourbre 2021/Mesures compensatoires/0_FINAL'
|
||||
path_fichsite = '/media/colas/SRV/FICHIERS/OPERATIONS (EX ETUDES)/ETUDES EN COURS/CORRIDORS/CVB_Bourbre/#42_Mesures compensatoires/BM/Evaluation des sites'
|
||||
path_geom = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/CVB_Bourbre/Cartographie CVB Bourbre 2021/Mesures compensatoires/0_FINAL'
|
||||
c_geom = 'mc_isere_CVBbourbre.gpkg'
|
||||
c_geom_det = 'mc_isere_CVBbourbre_détaillé.gpkg'
|
||||
pathout = '/home/colas/Documents/tmp/CVB_Bourbre'
|
||||
@ -192,7 +192,7 @@ gdf.to_file(pathout+'/'+ c_geom, driver='GPKG')
|
||||
#####################
|
||||
#####################
|
||||
#####################
|
||||
path = '/media/cgeier/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/CVB_Bourbre/Cartographie CVB Bourbre 2021/Mesures compensatoires'
|
||||
path = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/ETUDES/CVB_Bourbre/Cartographie CVB Bourbre 2021/Mesures compensatoires'
|
||||
l1 = 'LOT 1.shp'
|
||||
l2 = 'LOT 2.shp'
|
||||
l3 = 'LOT 3.shp'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user