gpt4 book ai didi

sql-server - 如何在sql server中构建地理数据类型的格式?

转载 作者:行者123 更新时间:2023-12-05 06:40:25 25 4
gpt4 key购买 nike

我无法理解 SQL Server 中的数据类型地理...例如我有以下数据:

0xE6100000010CCEAACFD556484340B2F336363BCA21C0

我知道的:

0x是十六进制的前缀

后 16 位数字是经度:B2F336363BCA21C0(双十进制格式)

最后 16 位前的 16 位数字是纬度:CEAACFD556484340( double 格式)

4 个第一个数字是 SRID:E610(WGS84 的十六进制)

我不明白的地方:

5 到 12 的数字:0000010C

这是什么?

从我读到的内容来看,这似乎与 WKB(众所周知的二进制文件)或 EWKB(扩展的众所周知的二进制文件)有关,无论如何我无法找到 EWKB 的定义......对于 WKB,这应该是几何类型(4 字节整数),但该值与几何类型代码不匹配(此示例针对一个点坐标)

你能帮助理解这种格式吗?

最佳答案

SQL Server 中的空间类型(几何和地理)是作为 CLR 数据类型实现的。与任何此类数据类型一样,当您直接查询值时,您将获得二进制表示。不幸的是,它不是(据我所知)WKB,而是微软认为最适合其实现的任何格式。对于我们(用户)来说,我们应该使用 MS 发布的方法的已发布接口(interface)(例如 the geography method reference )。也就是说,如果您好奇(而不是实际使用它),您应该只尝试破译 MS 二进制表示。

就是说,如果您需要/想要使用 WKB,您可以!例如,您可以使用 STGeomFromWKB() 静态方法从您提供的 WKB 创建地理实例,并且可以在地理实例上调用 STAsBinary() 以返回 WKB给你。

关于sql-server - 如何在sql server中构建地理数据类型的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603605/

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