【发布时间】:2012-07-10 01:36:42
【问题描述】:
我有代表地球上边界矩形的坐标:
左上角纬度
左上角经度
右下角纬度
右下角经度
我需要编写一个函数来确定具有经纬度坐标的给定点是否命中边界矩形。
有什么办法吗? 我没有在 sql server 中找到执行此操作的函数。所有函数都适用于线条和多边形,但我只有边界,而不是完整的多边形或线条。
【问题讨论】:
标签: sql sql-server-2008 geospatial spatial
我有代表地球上边界矩形的坐标:
左上角纬度
左上角经度
右下角纬度
右下角经度
我需要编写一个函数来确定具有经纬度坐标的给定点是否命中边界矩形。
有什么办法吗? 我没有在 sql server 中找到执行此操作的函数。所有函数都适用于线条和多边形,但我只有边界,而不是完整的多边形或线条。
【问题讨论】:
标签: sql sql-server-2008 geospatial spatial
您需要创建一个包含四个点的多边形,并针对您的几何点调用STWithin,或针对地理调用STIntersects
即: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)
【讨论】: