जैसा कि पहले उल्लेख किया गया है, @ कार्तिक का उत्तर केवल एक कॉल के लिए काम करता है, डेटा जोड़ने के लिए यह एक DataError
उठाता है। geom
. के बाद से स्तंभ तब ज्यामिति से SRID होने की अपेक्षा करता है। आप GeoAlchemy
. का उपयोग कर सकते हैं सभी मामलों को संभालने के लिए:
# Imports
from geoalchemy2 import Geometry, WKTElement
from sqlalchemy import *
# Use GeoAlchemy's WKTElement to create a geom with SRID
def create_wkt_element(geom):
return WKTElement(geom.wkt, srid = <your_SRID>)
geodataframe['geom'] = geodataframe['geom'].apply(create_wkt_element)
db_url = 'postgresql://username:[email protected]:socket/database'
engine = create_engine(db_url, echo=False)
# Use 'dtype' to specify column's type
# For the geom column, we will use GeoAlchemy's type 'Geometry'
your_geodataframe.to_sql(table_name, engine, if_exists='append', index=False,
dtype={'geom': Geometry('POINT', srid= <your_srid>)})