SQL 2008地理与地理几何 - 使用哪个?
我正在创建一个 Google 地图混搭并使用 SQL 2008。
我将在地球上拥有大量点,并且希望在 SQL 中对它们执行各种计算 - 例如选择特定多边形内包含的所有点,或选择XY 10 公里以内的所有点。
我以前从未使用过 SQL 空间功能。我应该使用 geography
还是 geometry
数据类型?
I'm creating a Google map mashup and am using SQL 2008.
I will have a large number of points on the earth and will want to perform various calculations on them in SQL - such as selecting all points contained within a particular polygone, or select all points within 10km of XY.
I have never used and SQL spatial features before. Should I use the geography
or the geometry
datatype for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
地理是用于在地球上绘制点的类型。
如果您有一个存储 Google 地图点的表,如下所示:
那么您可以使用以下存储过程在其中填充点:
然后,如果您想查询纬度、经度和海拔高度,只需使用以下查询格式:
Geography is the type that is intended for plotting points on the earth.
If you have a table that stores Google Maps points like this:
then you could fill points in it with this stored procedure:
Then if you want to query for the latitude, longitude and altitude, simply use the following query format:
中给出的答案
您可以按照 PostGIS FAQ 我很困惑。我应该使用几何或地理哪个数据存储?
PostGIS 和 SQL Server 这两个数据库中的几何和地理类型遵循相同的概念,因此 PostGIS FAQ 中给出的答案适用于您的问题。
You can follow the answer given in PostGIS FAQ
I'm all confused. Which data store should I use geometry or geography?
The geometry and geography types in both databases, PostGIS and SQL Server, follow the same concept, so the answer given in the PostGIS FAQ is applicable to your problem.
您很可能需要地理类型,因为它考虑了地球的曲率。几何更多地是为了“平面”地看待事物。查看这篇文章以获取更多信息
http://www.mssqltips.com/tip.asp?tip=1847
Most likely you want the geography type since it accounts for the curvature of the earth. Geometry is more for a "flat" view of things. Check out this article for more info
http://www.mssqltips.com/tip.asp?tip=1847