SQL Server地理位置信息计算两点经纬度距离
2016-06-07 19:10
851 查看
计算两点距离,4326是空间引用标识符,4326代表GCS-WGS-1984坐标系,是系统默认的坐标系。
地理坐标系空间需要用geography ,平面坐标系空间用geometry,计算距离使用STDistance
查询某点经纬度距离1000米范围内的记录
STDistance也可以计算点到面的最短距离。
参考:
空间引用标识符
https://technet.microsoft.com/zh-cn/library/bb964707(v=sql.105)
STDistance(geometry 数据类型)
https://msdn.microsoft.com/zh-cn/library/bb933952(v=sql.100).aspx
STDistance的使用及geometry和geography的区别
http://blog.csdn.net/jcx5083761/article/details/46010215
地理坐标系空间需要用geography ,平面坐标系空间用geometry,计算距离使用STDistance
DECLARE @g geography; DECLARE @h geography; SET @g = geography::STGeomFromText('POINT(104.12765 31.61)', 4326); SET @h = geography::STGeomFromText('POINT(114.132179 22.547010)', 4326); SELECT @g.STDistance(@h);
查询某点经纬度距离1000米范围内的记录
SELECT * FROM [GpsData] WHERE geography::STGeomFromText('POINT(' + cast([Longitude] as varchar(20)) + ' ' + cast([Latitude] as varchar(20)) +')', 4326).STDistance( geography::STGeomFromText('POINT(114.132179 22.547010)', 4326))<1000
STDistance也可以计算点到面的最短距离。
参考:
空间引用标识符
https://technet.microsoft.com/zh-cn/library/bb964707(v=sql.105)
STDistance(geometry 数据类型)
https://msdn.microsoft.com/zh-cn/library/bb933952(v=sql.100).aspx
STDistance的使用及geometry和geography的区别
http://blog.csdn.net/jcx5083761/article/details/46010215
相关文章推荐
- redis+php实现微博功能(一)
- SQL语句级联删除
- mysql 序列与pg序列的比较
- sql count执行速度测试
- Redis - 事物控制和发布订阅
- Redis - 密码配置和主从复制
- Redis监控软件RedisLive安装
- mysql点滴
- Redis - 常用命令操作
- Redis - sort set类型操作
- Redis - set类型操作
- Redis - list类型操作
- Redis - hash类型操作
- Redis - string类型操作
- mysql 一台服务器中装两个mysql
- Redis - 介绍及安装
- 数据库
- sql server 2008完全卸载工具
- Linux下oracle数据库连接问题
- 使用ORAPWD命令Oracle密码文件