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

Jak mogę zaimportować geoDataFrame do MySQL?

Po wypróbowaniu wielu rzeczy zauważyłem, że funkcja to_sql nie generowała poprawnej składni MySQL, aby mogła działać. Również przy podejściu do zmiany na wkb MySQL nadal nie rozpoznawał tej kolumny jako geometrii, jeśli zostawię tekst bez zmian (patrz zdjęcie w pytaniu).

U mnie zadziałała zmiana pola geometrii na ciąg znaków i zaktualizowanie go w pythonie, aby wyglądało tak:

Następnie przystąpiłem do korzystania z poniższego kodu, w którym wysyłam ramkę danych do MySQL, a następnie aktualizuję tabelę, aby ustawić kolumnę geometrii:

regions.to_sql('pr_regions', con=conn, schema='eq_pr_db',
               if_exists='replace', index=False)

#add column type Polygon

conn.execute('''ALTER TABLE `eq_pr_db`.`pr_regions` 
                ADD COLUMN `geom` Polygon;''')

#populate new column by applying the ST_GeomFromText function to transform the string to geometry type.

conn.execute('''UPDATE `eq_pr_db`.`pr_regions`
                SET geom =  ST_GeomFromText(geometry) ;''')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python łączy się z bazą danych MySQL za pomocą złącza MySQL i przykładu PyMySQL

  2. Wykrywaj zdarzenia uśpienia i budzenia systemu operacyjnego w Javie

  3. Integracja z innym systemem

  4. Tabele bazy danych, jedna tabela odwołująca się do wielu niepowiązanych tabel

  5. Data Java SQL jest przesunięta o 1 dzień