我的坐标代表地球上的边界矩形:
左上角纬度
左上角经度
右下角纬度
右下角经度
我需要编写一个函数来确定带有lat long坐标的给定点是否达到了边界矩形。
有什么办法吗? 我没有在sql server中找到函数来完成它。所有函数都使用直线和多边形,但我只有边界,而不是完整的多边形或直线。
答案 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)