如何使用sqlserver 2012 空间查询(geometry及 geography)

---恢复内容开始---

介绍

SQL Server 2008为大地测量空间数据提供了geography数据类型为平面空间数据提供了geometry数据类型。这两个都是Microsoft .NET Framework通用语言运行时(CLR)类型,并且可以用来存储不同种类的地理元素,例如点、线和多边形。这两个数据类型都提供了你可以用来执行空间操作的属性和方法,例如计算位置间的距离和找出两者间交叉的地理特性(例如一条河流经一个城镇。)

geography 数据类型

geography数据类型为空间数据提供了一个由经度和纬度联合定义的存储结构。使用这种数据的典型用法包括定义道路、建筑、或者地理特性如可以覆盖到一个光栅图上的向量数据,它考虑了地球的弯曲性,或者计算真实的圆弧距离和空中传播轨道,而这些在一个平面模型中所存在的固有失真引起的错误程度是不可接受的。

geometry数据类型

geometry数据类型为空间数据提供了一个存储结构,它是由任意平面上的坐标定义的。这种数据通常是用在区域匹配系统中的,例如由美国政府制定的州平面系统,或者是不需要考虑地球弯曲性的地图和内层布置图。

geometry 数据类型提供了与开放地理空间联盟(OGC)Simple Features Specification for SQL标准结合的属性和方法,使得你可以对geometry数据执行操作以产生行业标准的行为。

使用(sql语句)

geography 数据类型使用

将数据(wkt)直接转换geography 字段类型

DECLARE @bigGeo geography = geography::STPointFromText(‘POINT (120.280994531787670 36.193256972700624)‘,4326);

将数据(wkt)直接转换geometry字段类型

DECLARE @bigGeo geometry= geometry::STPointFromText(‘POINT (120.280994531787670 36.193256972700624)‘,4326);

进行空间查询

table1:表一

table2:表二

a.Geom 表一中geometry类型字段

b.location 表二中geometry类型字段

select * from table1 a,table2 b where a.Geom.STContains(b.location)=1

geography 类型相同

---恢复内容结束---

时间: 2024-12-14 04:18:39

如何使用sqlserver 2012 空间查询(geometry及 geography)的相关文章

C#开发SQLServer的Geometry和Geography存储

原文:C#开发SQLServer的Geometry和Geography存储 SQL Server2008推出后最大的变化就是提供了支持空间数据存储的Geometry和Geography,这个也是如果将ArcSDE和SQLServer数据库相结合后可以供用户选择的一种数据存储模式,因为SQLServer2008前的数据库版本都是BLOB来存储空间数据对象的,目前没有测试来判断哪个性能更优,但是个人倾向于Geometry和Geography. 使用这两种存储,一个优点就是,使用SQL Server数

SQLServer 2012异常问题(二)--由安装介质引发性能问题

原文:SQLServer 2012异常问题(二)--由安装介质引发性能问题 问题描述:生产环境一个数据库从SQLSERVER 2008 R2升级到SQLSERVER 2012 ,同时更换硬件,但迁移后发现性能明显下降,应用写入.读取性能下降的比较厉害: 向微软寻求帮助后得出答案,原来这与SQLSERVER的安装介质有关. 大致意思是说由于NUMA架构可以自行管理内存池,在安装了CAL的EE后,由于限制只能使用20个cores,同样内存则只能管理到20个cores涉及到的NUMA的对应的内存空间(

Arcgis for Js实现graphiclayer的空间查询

本节讲的是Arcgis for Js的针对graphiclayer的空间查询,内容非常easy.代码例如以下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-

openlayers实现wfs属性查询和空间查询

概述: 一直在寻求openlayers中wfs加载和属性查询的相关操作,功夫不负有心人,蓦然回首,那人却在灯火阑珊处,找到了这篇博文:http://blog.csdn.net/longshengguoji/article/details/39377931,试了下,在IE8中正常运行,但是在chrom中涉及到跨域的问题,待后期接解决吧.本文讲解如何通过wfs实现属性的查询与展示. 效果: 初始化状态 属性查询结果 空间查询结果 数据表: 关键代码: 添加wfs图层 wfs = new OpenLa

使用ArcGIS API for Silverlight 进行复合多条件空间查询

原文:使用ArcGIS API for Silverlight 进行复合多条件空间查询 这两天帮网上认识的一个兄弟做了一个查询的示例,多多少少总结一下,在此和大家分享. 为什么说是复合多条件呢?因为进行空间查询有时候我们查询的条件会很复杂,比如要求某一要素的某一属性大于多少,且小于多少,且又不等于多少等等.而在官网给出的例子中并没有关于复合查询的说明.不过查看API后,你会发现一句很重要的话: A where clause for the query. Any legal SQL where c

Arcgis for Js之featurelayer实现空间查询和属性查询

空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完了效果,下面说说我的实现思路. 首先,实现查询的关键是Query,属性查询时query.where来实现,空间查询时query.geometry来实现,具体代码如下: 1.属性查询 on(dom.byId("query"), "click", function(even

Supermap iClient 空间查询关联外表表查询多表字段示例代码

原创文章,转载请注明出处!http://blog.csdn.net/songhfu 空间查询关联属性表,并查询空间表和关联表字段示例代码如下: /* * 关联测试成功代码 * */ var joinItem=new SuperMap.REST.JoinItem({ foreignTableName: "V_ENABLEVIEW_LAND", joinFilter: "BBS_PARCEL.CADASTRALNO = V_ENABLEVIEW_LAND.CADASTRALNO

ArcGIS Engine开发之空间查询

空间查询功能是通过用户选择的空间几何体以及该几何体与当前地图中要素之间的几何关系进行空间查找,从而得到查询结果的操作. 相关类与接口 空间查询相关的类主要是SpatialFilter类,其实现的接口主要为ISpatialFilter接口.SpatialFilter类是空间关系过滤类,ISpatialFilter接口的成员主要用于返回和修改数据过滤器所使用的空间关系.ISpatialFilter接口同时包含了空间和属性两种查询约束,它继承了IQueryFilter接口. 1.Geometry属性:

SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败

原文:SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败 先感谢一下我的同事们最先发现此问题,鸣谢:向飞.志刚.海云 最近在生产环境发现一个诡异的问题: 环境:WINDOWS 2012+SQLSERVER 2012 SP1,双节点的故障转移群集+单节点的SQLSERVER 2012 SP1实例(镜像) 生产数据库是从SQLSERVER 2008R2迁移到2012的,迁移过程很顺利,按照一般经验,可能导致数据库所有者丢失,因此在迁移后手动修改数据库所有者为sa,与