Mysql
 sql >> база данни >  >> RDS >> Mysql

Напишете GeoDataFrame в SQL база данни

Както беше споменато по-горе, отговорът на @Kartik работи само за едно повикване, за добавяне на данни той поражда 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>)})


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Форматиране на SQL времеви печат с PHP

  2. Как мога да намеря не-ASCII знаци в MySQL?

  3. Какво означава съпоставяне?

  4. Преобразуване на времеви низ в десетични часове PHP

  5. продължавайте да получавате синтактична грешка (php / mysql)