我正在使用经/纬度来处理地理点,因此需要在我们数据库的半径5英里范围内找到其他点.但是,我似乎找不到STBuffer的单位",它似乎不符合英尺,英里,米,公里等.文档仅将它们称为单位",有任何建议?谢谢
I'm working with a geographic point using lat/long and need to find other points in our database within a 5 mile radius of that point. However, I can't seem to find out what the "units" are for STBuffer, it doesn't seem to conform to feet, miles, meters, kilometers, etc. The documentation only refers to them as "units", any suggestions? Thanks
[...] from geography :: STGeomFromText('POINT(xy)',4326).STBuffer(z).STIntersects(geography :: STGeomFromText('POINT('+ CAST(v.Longitude as varchar(max)))+''+ CAST(v.Latitude as varchar(max))+')',4326))= 1
[...] from geography::STGeomFromText('POINT(x y)', 4326).STBuffer(z).STIntersects(geography::STGeomFromText('POINT(' + CAST(v.Longitude as varchar(max)) + ' ' + CAST(v.Latitude as varchar(max)) + ')', 4326)) = 1
推荐答案STBuffer以米为单位.此处有更多信息.
STBuffer is in meters. More info here.
要将英里转换为米,请将英里数除以0.0006213712
To convert, miles to meters, divide the number of miles by 0.0006213712
(即5英里/0.0006213712 = 8,046.72米)
(i.e. 5 miles / 0.0006213712 = 8,046.72 meters)
更多推荐
SQL Server 2008地理.STBuffer()距离测量单位
发布评论