全新的 python 并喜欢它,我想这可能是一个简单的。
我目前在pymssql的帮助下通过 Python 脚本将点插入 SQL Server 2008 。
var1 = "hi"
lat = "55.92"
lon = "-3.29"
cursor.execute("INSERT INTO table (field1, x, y) VALUES(%s, %s, %s)",
(var1 , lat, lon))
这一切都很好。我还需要将这些坐标插入到GEOGRAPHY 类型字段(称为 geog)中。
geog_type = "geography::STGeomFromText('POINT(%s %s)',4326))" % (lat, lon)
cursor.execute("INSERT INTO table (field1, x, y, geog) VALUES(%s, %s, %s, %s)",
(var1 , lat, lon, geog_type))
这会引发以下异常:
输入知名文本 (WKT) 中的标签 geography::STGeomFro 无效。有效标签为 POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION、CIRCULARSTRING、COMPOUNDCURVE、CURVEPOLYGON 和 FULLGLOBE(仅限地理数据类型)。
从 SSMS 我可以在表上运行插入语句来插入一个点。
USE [nosde]
INSERT INTO tweets (geog)
VALUES(
geography::STGeomFromText(
'POINT(55.9271035250276 -3.29431266523898)',4326))
如果您需要更多详细信息,请在评论中告诉我。
我在 pastebin 上的一些工作。