sql >> Databasteknik >  >> RDS >> Mysql

Skriv GeoDataFrame till SQL Database

Som nämnts tidigare fungerar @Kartiks svar endast för ett enstaka samtal, för att lägga till data genererar det ett DataError sedan geom kolumnen förväntar sig sedan att geometrin har ett SRID. Du kan använda GeoAlchemy för att hantera alla ärenden:

# 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>)})


  1. Hur man uppdaterar Oracle Clob med JDBC

  2. Hur skickar jag argument till ett PL/SQL-skript på kommandoraden med SQLPLUS?

  3. PG::DuplicateTable:FEL:relationsinlägg finns redan

  4. Enkel CRUD-drift med PDO-databasanslutning