sql >> Databáze >  >> RDS >> Mysql

Jak mohu importovat geoDataFrame do MySQL?

Po vyzkoušení mnoha věcí jsem si všiml, že funkce to_sql negeneruje správnou syntaxi MySQL, aby fungovala. Také s přístupem ke změně na wkb MySQL stále nerozpoznalo tento sloupec jako geometrii, pokud nechám text tak, jak je (viz obrázek v otázce).

Co pro mě fungovalo, bylo změnit pole geometrie na řetězec a aktualizovat ho v pythonu, takže by to vypadalo takto:

Poté jsem přistoupil k použití níže uvedeného kódu, kde jsem odeslal datový rámec do MySQL a poté aktualizoval tabulku, aby nastavil sloupec geometrie:

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. Problémy se spuštěním Mysql | CHYBA! Server skončil bez aktualizace souboru PID

  2. Jak monitorovat nasazení MySQL pomocí Prometheus &Grafana na ScaleGrid

  3. Porovnejte hodnotu s SQL PHP s řetězcem odděleným čárkami

  4. Vložit více řádků do chyby SQLite (kód chyby =1)