通过区域坐标获取sqlserver中的geometry 的区域范围内的坐标
2014-11-27 17:12
239 查看
sqlserver目前已经可以支持地理空间字段了,也就是 geometry
API地址:
http://msdn.microsoft.com/zh-cn/LIBRARY/cc280487.aspx
创建表和geometry字段以及插入点,线,多边形的sql如下:
ps: 4326是空间引用标识符
(SRID) 一般写0或者4326
存入表中的geom字段如下:
查询语句
假如我们在数据库中存了很多坐标点的地址
选取圆形区域范围的 地址---也就是 圆心到半径范围内的所有点
PS:这里diatance的单位是 英里
查询出的结果如图
选取多边形
查询出的结果如图
API地址:
http://msdn.microsoft.com/zh-cn/LIBRARY/cc280487.aspx
创建表和geometry字段以及插入点,线,多边形的sql如下:
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL DROP TABLE dbo.SpatialTable; GO CREATE TABLE SpatialTable ( id int IDENTITY (1,1), geom geometry, adress varchar ); GO INSERT INTO SpatialTable (geom) VALUES (geometry::STGeomFromText('POINT (20 180)', 4326)); INSERT INTO SpatialTable (geom) VALUES (geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)', 4326)); INSERT INTO SpatialTable (geom) VALUES (geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 4326)); GO
ps: 4326是空间引用标识符
(SRID) 一般写0或者4326
存入表中的geom字段如下:
查询语句
假如我们在数据库中存了很多坐标点的地址
选取圆形区域范围的 地址---也就是 圆心到半径范围内的所有点
DECLARE @g geometry; set @g = geometry::STGeomFromText('POINT(104.12765 30.60445)', 4326) SELECT address,geom.STY,geom.STX from SpatialTable where geom.STDistance(@g)<=0.005
PS:这里diatance的单位是 英里
查询出的结果如图
选取多边形
DECLARE @g geometry; set @g = geometry::STGeomFromText('POLYGON ((104.12189573049204 30.608145728994504,104.12223905324595 30.60282680842528,104.13262456655161 30.603122311674902,104.13176625966685 30.610066378528995,104.12189573049204 30.608145728994504,104.12189573049204 30.608145728994504))',4326) SELECT address from SpatialTable where geom.STIntersects(@g)=1
查询出的结果如图
相关文章推荐
- 通过区域坐标获取sqlserver中的geometry 的区域范围内的坐标
- 通过区域坐标在mongodb中查找范围内的坐标点
- 百度地图画出区域并获取区域坐标范围 收藏版
- 通过区域坐标在mongodb中查找范围内的坐标点
- C#应用GDAL通过传入范围获取tif数据的最大高程值及其坐标
- 百度地图画出区域并获取区域坐标范围
- 腾讯地图画出区域获取该区域的范围坐标
- 百度地图画出区域并获取区域坐标范围
- 百度api商圈范围图修改获取坐标数据、点是否在区域范围判断、js解析创建excel
- 百度地图画出区域并获取区域坐标范围
- 百度地图画出区域并获取区域坐标范围
- 腾讯地图画出区域获取该区域的范围坐标
- js获取区域坐标
- 通过android手机内置GPS获取平面直角坐标和高斯坐标的原理(附代码)
- js获取元素到文档区域document的(横向、纵向)坐标的两种方法
- 利用select_region_point算子可以通过区域内的一个点或者区域的一部分,获取完整区域
- Revit中如何通过API获取对象的位置坐标和旋转角度
- C#使用百度API通过IP获取地理位置和坐标
- 关于通过GPS模块获取的坐标数据无法在Google地图上正确标记的问题说明
- arcgis android 通过getExtent得到当前地图范围四个点的坐标