init depot renew
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
# from binascii import Incomplete
|
||||
from warnings import filterwarnings
|
||||
import geopandas as gpd
|
||||
import pandas as pd
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.engine import URL
|
||||
# from shapely import geometry
|
||||
# from shapely.geometry import MultiPolygon, MultiLineString, MultiPoint, Polygon, LineString #, collection
|
||||
# from shapely import ops
|
||||
|
||||
from os import listdir, chdir
|
||||
from pathlib import Path
|
||||
from zipfile import ZipFile
|
||||
from rasterstats import zonal_stats
|
||||
from pycen import con_bdcen as con
|
||||
|
||||
# Test de LiveShare DM
|
||||
|
||||
path0 = '/home/colas/Documents/9_PROJETS/3_PGZH/'
|
||||
path = path0 + 'SIG/'
|
||||
p_mltifct = 'multi_fonctions/IGN - BD Alti 25M/'
|
||||
|
||||
|
||||
df = gpd.read_postgis(
|
||||
sql = 'SELECT * FROM pelouse_seche."cr_PS_CBNA_habitats_aggreg_06_2020"',
|
||||
con = con
|
||||
)
|
||||
ddf = df[['id','geom']].copy()
|
||||
ddf.set_geometry('geom',inplace=True)
|
||||
|
||||
home = str(Path.home())
|
||||
chdir(path+p_mltifct)
|
||||
Dir = listdir()
|
||||
Dir = [x for x in Dir if '.zip' in x]
|
||||
# stats = pd.DataFrame()
|
||||
for i, d in enumerate(Dir):
|
||||
zip = ZipFile(d).namelist()
|
||||
z = [z for z in zip if 'MNT' in z][0]
|
||||
print(z)
|
||||
tmp = zonal_stats(ddf.geom,'/vsizip/{zip}/{mnt}'.format(zip=d,mnt=z),stats="max")
|
||||
tmp = pd.DataFrame(tmp)
|
||||
tmp.columns = ['max%s'%i]
|
||||
if i == 0 :
|
||||
stats = tmp
|
||||
else:
|
||||
stats = pd.merge(stats,tmp,how='left',left_index=True,right_index=True)
|
||||
|
||||
stats['bilan'] = stats.max(axis=1)
|
||||
tmp = pd.merge(df,stats['bilan'],left_index=True,right_index=True)
|
||||
tmp.bilan = tmp.bilan.round()
|
||||
|
||||
|
||||
PSinfeq1200 = tmp[tmp.bilan <= 1200].copy()
|
||||
PSsup1200 = tmp[tmp.bilan > 1200].copy()
|
||||
PSinfeq1200.rename(columns={'bilan':'max_alti'}, inplace=True)
|
||||
PSsup1200.rename(columns={'bilan':'max_alti'}, inplace=True)
|
||||
PSinfeq1200.to_postgis(
|
||||
name='cr_PS_CBNA_habitats_inf-eq_1200m',
|
||||
con=con,
|
||||
schema='pelouse_seche',
|
||||
if_exists='replace',
|
||||
index=False,
|
||||
index_label='id',
|
||||
geom_col='geom'
|
||||
)
|
||||
PSsup1200.to_postgis(
|
||||
name='cr_PS_CBNA_habitats_sup_1200m',
|
||||
con=con,
|
||||
schema='pelouse_seche',
|
||||
if_exists='replace',
|
||||
index=False,
|
||||
index_label='id',
|
||||
geom_col='geom'
|
||||
)
|
||||
Reference in New Issue
Block a user