58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
from pycen import con_bdcen,con_fon,update_to_sql
|
|
from pycen.tools import Polygons_to_MultiPolygon
|
|
import geopandas as gpd
|
|
|
|
PATHIN = '/media/colas/SRV/FICHIERS/OUTILS/CARTOGRAPHIE/ESPACE DE TRAVAIL/SITES/LEZE/PG2022/'
|
|
FILEIN = 'LEZE_zonage_2022.shp'
|
|
SITE_NAME = 'LEZE'
|
|
SITE_TYPE = ''
|
|
site = gpd.read_file(PATHIN+FILEIN)
|
|
tab = 'sites'
|
|
sch = 'sites'
|
|
key = 'site_id'
|
|
con = con_fon
|
|
geom_name = 'geom_ecolo'
|
|
|
|
if FILEIN == 'LEZE_zonage_2022.shp':
|
|
site = gpd.GeoDataFrame(
|
|
data={key:SITE_NAME,geom_name:gpd.GeoSeries(site.unary_union)},geometry=geom_name,crs=2154
|
|
)
|
|
|
|
if site.geometry.name != geom_name:
|
|
site.rename_geometry(geom_name, inplace=True)
|
|
|
|
if 'Polygon' in site.geom_type.unique():
|
|
site = Polygons_to_MultiPolygon(site,geom_name)
|
|
|
|
# if SITE_TYPE == 'ZO' and con.url.database == 'bd_cen':
|
|
# zi = gpd.read_postgis("SELECT * FROM sites.sites WHERE site_id = '%s_ZI'"%SITE_NAME,con)
|
|
# site = site.overlay(zi, how='difference')
|
|
# site.rename_geometry(geom_name, inplace=True)
|
|
|
|
|
|
if con.url.database == 'bd_cen':
|
|
if SITE_TYPE != '':
|
|
site[key] = '_'.join([SITE_NAME,SITE_TYPE])
|
|
else :
|
|
site[key] = SITE_NAME
|
|
update_to_sql(
|
|
df= site[[key,geom_name]],
|
|
con=con,
|
|
table_name=tab,
|
|
schema_name=sch,
|
|
key_name=key
|
|
)
|
|
elif con.url.database == 'bd-cen-38':
|
|
from datetime import datetime as dt
|
|
site[key] = SITE_NAME
|
|
site['type_zonage'] = SITE_TYPE
|
|
site['date_maj'] = dt.now().date().isoformat()
|
|
update_to_sql(
|
|
df= site[[key,'type_zonage','date_maj',geom_name]],
|
|
con=con,
|
|
table_name=tab,
|
|
schema_name=sch,
|
|
key_name=[key,'type_zonage']
|
|
)
|
|
|