init depot renew
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
from pycen import ps,con_bdcen
|
||||
import geopandas as gpd
|
||||
|
||||
# Liste des habitats souhaités
|
||||
list_habs = ['35.21','35.23','34.12','64.11','64.12']
|
||||
habs = '|'.join(list_habs)
|
||||
|
||||
# v_pelouseseches
|
||||
dfps = ps.v_pelouseseches()
|
||||
cb_col = dfps.columns[dfps.columns.str.startswith('cb_hab')]
|
||||
cdate = dfps.columns[dfps.columns.str.contains('date')]
|
||||
for c in cdate:
|
||||
dfps[c] = gpd.pd.to_datetime(dfps[c])
|
||||
dfps['date'] = dfps[cdate].max(axis=1)
|
||||
|
||||
dfps['auteur'] = None
|
||||
for c in cdate:
|
||||
typ = c.removeprefix('date')
|
||||
dfps.loc[dfps[c].eq(dfps.date),'auteur'] = dfps[dfps[c].eq(dfps.date)]['auteur'+typ]
|
||||
|
||||
dfps.drop(
|
||||
columns=[*cdate,*'auteur' + cdate.str.removeprefix('date')],
|
||||
inplace=True
|
||||
)
|
||||
|
||||
|
||||
df = gpd.GeoDataFrame()
|
||||
for c in cb_col:
|
||||
res = dfps[dfps[c].str.contains(habs,na=False)].copy()
|
||||
df = gpd.pd.concat([df,res])
|
||||
df.drop_duplicates(inplace=True)
|
||||
print('Extract %s unités parcellaires ...'%df.shape[0])
|
||||
|
||||
# PB_codehab_nonPresent_dans_corineBiotope
|
||||
sql = 'SELECT * FROM pelouse_seche."PB_codehab_nonPresent_dans_corineBiotope"'
|
||||
dfpb = gpd.read_postgis(sql,con_bdcen)
|
||||
dfps['date'] = gpd.pd.to_datetime(dfps['date'])
|
||||
dfpb.rename(columns={
|
||||
'id_site' : 'site_code',
|
||||
'pratiques':'pratique',
|
||||
'niv_embrous':'embrouss',
|
||||
'recouvmnt':'recouvrement',
|
||||
'remarques':'rmq_site',
|
||||
'code_hab1':'cb_hab1',
|
||||
'code_hab2':'cb_hab2',
|
||||
'code_hab3':'cb_hab3',
|
||||
'code_hab4':'cb_hab4',
|
||||
'code_hab5':'cb_hab5',
|
||||
}, inplace=True)
|
||||
samecol = dfpb.columns[dfpb.columns.isin(dfps.columns)]
|
||||
diffcol = dfpb.columns[~dfpb.columns.isin(dfps.columns)]
|
||||
dfpb = dfpb[samecol]
|
||||
cb_colpb = dfpb.columns[dfpb.columns.str.startswith('cb_hab')]
|
||||
|
||||
|
||||
list_habspb = ['PS sur sable','Friche sableuse']
|
||||
habspb = '|'.join(list_habspb)
|
||||
for c in cb_colpb:
|
||||
res = dfpb[dfpb[c].str.contains(habspb,na=False)].copy()
|
||||
df = gpd.pd.concat([df,res])
|
||||
df.drop_duplicates(inplace=True)
|
||||
df['date'] = gpd.pd.to_datetime(df['date']).astype(str)
|
||||
# df['date'] = gpd.pd.to_datetime(df['date'], unit='D')
|
||||
print('Extract %s unités parcellaires ...'%df.shape[0])
|
||||
|
||||
df.to_file('/home/colas/Documents/9_PROJETS/2_PS/EXPORT/PNA_pelouse_sableuse.gpkg',driver='GPKG')
|
||||
|
||||
Reference in New Issue
Block a user