gpt4 book ai didi

sql-server - 我应该使用 SqlGeometry 还是 SqlGeography?

转载 作者:行者123 更新时间:2023-12-02 15:08:18 32 4
gpt4 key购买 nike

我们在这个问题上存在一些内部冲突,似乎无法得出满意的结论。

我们将仅存储纬度和经度,以及可能的简单多边形。我们所需要的只是计算两点之间的距离(并可能查看一个点是否在多边形内),并且整个数据非常接近,使得平面估计可以接受。

由于我们的要求如此宽松,一半的开发团队建议使用 SqlGeometry 类型,这显然更简单。不过,我很难接受这一点,因为我们正在存储地理数据,这似乎将它们存储在 SqlGeography 中是正确的做法。另外,我没有找到任何实质性证据表明 SqlGeometry 数据类型比 SqlGeography 类型更容易使用。

有人建议哪种类型更适合这个相对简单的场景吗?

最佳答案

这不是比较功能、准确性或简单性的问题 - 这两种空间数据类型用于处理不同类型的数据。

打个比方,假设您正在为每行包含唯一标识符的列选择最佳数据类型。如果该 UID 仅包含整数值,则应使用 int,而如果它是 6 个字符的字母数字值,则应使用 char(6)。如果它有可变长度的 unicode 值,您会使用 nvarchar 来代替,对吗?

同样的逻辑也适用于空间数据 - 您根据该列包含的值选择适当的数据类型;如果您使用地理(即纬度/经度)坐标,请使用SqlGeography数据类型。就这么简单。

可以使用SqlGeometry来存储纬度/经度值,但这就像使用nvarchar(max)来存储整数......我向你保证将导致进一步的问题(例如,当所有面积计算结果都以度数平方为单位时)

关于sql-server - 我应该使用 SqlGeometry 还是 SqlGeography?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11041756/

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