Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapisz GeoDataFrame w bazie danych SQL

Jak wspomniano wcześniej, odpowiedź @Kartik działa tylko dla pojedynczego wywołania, w przypadku dołączenia danych wywołuje DataError od geom Następnie kolumna oczekuje, że geometria będzie miała SRID. Możesz użyć GeoAlchemy do obsługi wszystkich spraw:

# 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. Nieoczekiwany wyjątek:SQLSTATE[HY000] [1045] Odmowa dostępu dla użytkownika ****@'localhost' (przy użyciu hasła:TAK)

  2. Dlaczego moje dane aplikacji ankiety Django SessionWizardView nie wyświetlają się w użytecznym formacie w mojej bazie danych MySQL?

  3. Jak zresetować hasło roota MySQL

  4. Jak zmienić hasło roota MySQL na domyślne?

  5. Inicjalizacja PHP PDO nie powiodła się z powodu podwójnego portu - Nieprzechwycony wyjątek PDO:SQLSTATE[HY000] [2002]