我已将我的曲目录制到文本文件中,现在我想将其作为Point类型插入到SQL Server 2008 R2数据库的表中。
我使用OpenRowSet读取我的文本文件,并将每一行插入临时表。然后我解析每一行并将正确的值插入到真实表中。 文件中的每一行看起来像:
$GPRMC,101142.415,A,6210.1547,N,02929.2220,E,3.9,231.8,150310,,,A*62
我用这样的代码解析纬度和经度:
INSERT INTO Track(Point)
SELECT
geography::Point(
SUBSTRING(entry,21,2)+'.'+SUBSTRING(entry,23,2)+
SUBSTRING(entry,26,CHARINDEX(',',entry,26)-26),
SUBSTRING(entry,33,3)+'.'+SUBSTRING(entry,36,2)+
SUBSTRING(entry,39,CHARINDEX(',',entry,39)-39)
,4326)
FROM #MYTEMP
之后,当我正在查看真实的桌子(名为Track)时,我看到了类似的东西:
Point
0xE6100000010CE200FA7DFF0C4F40B43C0FEECE4A3D40
这些点位于地图上的正确位置(使用SQL Management Studio中的“空间结果”选项卡),但有可能将它们视为数据库中的正常地理值吗?
答案 0 :(得分:2)
在值上调用.STAsText()
/ .ToString()
/ .AsTextZM()
,以便以人类可读的形式查看。
答案 1 :(得分:0)
我来这里说马丁史密斯所说的话。但是,这是你的幸运日。今天是“教一个(男人)钓鱼的日子”。看看geography methods available。另请注意,“另请参阅”部分还提供了更多信息。