检查地理空间Point是否在边界矩形中

时间:2012-07-10 14:33:42

标签: sql sql-server-2008 geospatial spatial

我的坐标代表地球上的边界矩形:

左上角纬度

左上角经度

右下角纬度

右下角经度

我需要编写一个函数来确定带有lat long坐标的给定点是否达到了边界矩形。

有什么办法吗? 我没有在sql server中找到函数来完成它。所有函数都使用直线和多边形,但我只有边界,而不是完整的多边形或直线。

1 个答案:

答案 0 :(得分:1)

您需要创建四个点的多边形,并针对几何点调用STWithin,或针对地理位置调用STIntersects

ie:http://msdn.microsoft.com/en-us/library/ff929207.aspx

 declare @area geography, @point geography
 select @area = geography :: STGeomFromText('polygon((10 10, 20 10, 20 20, 10 20, 10 10))', 4326)
 select @point = geography :: STGeomFromText('point(15 15)', 4326)
 select @area.STIntersects(@point)

 select @point = geography :: STGeomFromText('point(5 5)', 4326)
 select @area.STIntersects(@point)
相关问题