gpt4 book ai didi

sql-server - SQL Server 2008 将地理点保存为十六进制

转载 作者:行者123 更新时间:2023-12-04 05:47:41 26 4
gpt4 key购买 nike

我已经将我的轨迹记录到一个文本文件中,现在我想将它作为 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

这些点被放置在 map 上的正确位置(使用 SQL Management Studio 中的空间结果选项卡),但是否有可能将它们视为数据库中的正常地理值?

最佳答案

调用 .STAsText() / .ToString() / .AsTextZM() 以人类可读的形式查看它的值(value)。

关于sql-server - SQL Server 2008 将地理点保存为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10470756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com