41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from geoalchemy2 import Geometry
|
|
import geopandas as gpd
|
|
from sqlalchemy import create_engine
|
|
|
|
user_cad = 'cgeier' # utilisateur de connexion à la bdd
|
|
pwd_cad = 'adm1n*bdCen' # mot de passe de la bdd
|
|
adr_cad = '91.134.194.221' # adresse ip de la bdd
|
|
port_cad = '5432' # port de la bdd
|
|
base_cad = 'rhomeo' # nom de la bdd
|
|
schema_cad = 'refgeo'
|
|
con = create_engine('postgresql+psycopg2://{0}:{1}@{2}:{3}/{4}'.format(user_cad,pwd_cad,adr_cad,port_cad,base_cad), echo=False)
|
|
|
|
|
|
file = '/home/colas/Documents/5_BDD/BASSIN_VERSANT/AGENCE EAU/bvmdo/bvmdo.shp'
|
|
df = gpd.read_file(file)
|
|
df.rename_geometry('geom', inplace=True)
|
|
|
|
has_z = True if df.has_z.all() else False
|
|
unique_geom = df.geom_type.unique()
|
|
geom_type = df.geom_type[0].upper() if len(unique_geom) == 1 else 'GEOMETRY'
|
|
geom_type = geom_type+'Z'if has_z else geom_type
|
|
|
|
(df
|
|
.to_wkt()
|
|
.to_sql(
|
|
'zh',
|
|
con,
|
|
schema_cad,
|
|
if_exists='append',
|
|
index=False,
|
|
dtype={
|
|
'geom':Geometry(geometry_type=geom_type,srid=2154)
|
|
}
|
|
)
|
|
)
|
|
|
|
|
|
sql = 'SELECT * FROM tachenew.tache_urbaine'
|
|
sql = 'SELECT * FROM arvfnew.arvf_global_buffer'
|
|
df = gpd.read_postgis(sql,con)
|