При запуске приведенного ниже кода я получаю ошибку (3037, «Недопустимые данные ГИС, предоставленные функции st_polyfromtext») . Я видел другой пост с похожей ошибкой, но не могу найти ответ для этой конкретной ситуации!
conn = MySQLdb.connect(host="localhost", port=, user="", passwd="", db="db", charset="utf8")
cur = conn.cursor()
cur.execute("CREATE TABLE `db`.`table` ("
"`ID` INT NOT NULL AUTO_INCREMENT,"
"`X_Center` DOUBLE NULL,"
"`Y_Center` DOUBLE NULL,"
"`geometry` POLYGON NOT NULL,"
"PRIMARY KEY (`ID`));")
with open("file.csv",encoding="utf8") as csvfile:
reader = csv.DictReader(csvfile, delimiter = ',')
for row in reader:
sql_statement = "INSERT INTO table(X_Center,Y_Center,geometry) VALUES (%s, %s, ST_PolyFromText(%s,0))"
cur = conn.cursor()
param = [(row['X_Center'], row['Y_Center'], row['geometry']))]
cur.executemany(sql_statement,param)
conn.escape_string(sql_statement)
conn.commit()
Полигональные файлы "file.csv" имеют как полные значения, так и неполные значения значений многоугольника.
Как получить полные значения полигонов и вставить их в базу данных MySQL?
![table of the Polygon](https://i.stack.imgur.com/Fo2d1.png)