微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

是否有人建议哪种类型更适合这种相对简单的情况?

解决方法

这不是比较特征,准确性或简单性的问题 – 两种空间数据类型用于处理不同类型的数据.

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

空间数据采用相同的逻辑 – 您可以根据该列包含的值选择适当的数据类型;如果您正在使用地理(即纬度/经度)坐标,请使用sqlGeography数据类型.就这么简单.

您可以使用sqlgeometry来存储纬度/经度值,但这就像使用nvarchar(max)来存储整数…我保证会导致进一步的问题(当您的所有区域计算都出来时)以度为单位,例如)

原文地址:https://www.jb51.cc/mssql/77575.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐