在上一期的专栏中,我们已经对SQL Server 2008提供的两种空间数据类型Geometry和Geography进行了初步介绍。本期专栏将继续深入探讨这些数据类型所提供的方法,以完成对平面空间的基本运算。为了更好地掌握这部分内容,我们首先要了解SQL Server 2008是通过UDT(用户定义类型)的方式来提供空间几何对象的。这些对象类别遵循OGC(Open Geospatial Consortium,开放地理信息系统联盟)的规范,并加以扩充,提供了相当丰富的属性和方法。 SQL Server 2008中的空间数据类型可以通过SQLCLR(SQL Common Language Runtime)UDT方式实现,因此支持静态方法(Static method)、实例方法(Instance method)以及属性(Property)。在T-SQL中调用各类别所提供的属性、方法通常有如下惯例:使用"."来访问属性或调用实例方法,例如@g.STArea()、@g.STX;使用"::"来调用类提供的静态方法,如Geometry::STGeomFromText();方法名后需要加上括号,而属性则不需要;另外,方法和属性名需要区分大小写。 下面,我们就对这些方法进行分类讨论。以下列举的方法仅仅作为示例,而为了节省篇幅,未列出所有可用的方法。例如,Geometry和Geography数据类型都可以执行STGeomFromText()和STPointFromText()等方法来建立几何对象的实例。此外,还可以通过STArea()、STLength()、STCentroid()、STX、STY等方法提供几何对象的信息;STIntersects()、STDistance()等方法来判断两个几何对象之间的关系;STUnion()、STSymDifference()等方法来维护几何对象内容,如合并、取差集等。此外,SQL Server 2008也为OGC规范的方法以ST开头,同时也自行衍生了诸如AsGml()、AsTextZM()、IsNull()、M、MakeValid()、ToString()等方法。 下面,通过一些具体的T-SQL调用示例,我们可以进一步了解这些方法的使用。例如,声明一个Geometry类型的变量@g,并使用STAsBinary()、STAsText()、AsTextZM()、AsGml()等方法来展示以不同格式表示的相同几何对象。以WKT(Well Known Text)格式描述的“线”(LINESTRING),通过STGeomFromText静态方法转化为Geometry对象实例,然后使用STPointN方法来获取对象实例中的各个“点”。 在实际应用中,需要注意的是,虽然Geometry和Geography数据类型在大多数属性和方法上是通用的,但某些方法和属性是特定数据类型独有的。因此,在调用时需要根据需要使用的方法和属性查阅相关的线上文档说明以确定可以使用。为避免错误,读者应确保在正式使用前对相关细节有充分理解。
- 粉丝: 5
- 资源: 921
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- XMLParseError(解决方案).md
- ServiceWorkerError(解决方案).md
- JSONParseError(解决方案).md
- StorageError(解决方案).md
- ClipboardError(解决方案).md
- NotificationError(解决方案).md
- 已调试springboot在线旅游网站系统源码sql.zip
- PaymentRequestError(解决方案).md
- GeolocationError(解决方案).md
- WebAuthnError(解决方案).md
- PerformanceError(解决方案).md
- SpeechRecognitionError(解决方案).md
- SpeechSynthesisError(解决方案).md
- WebRTCError(解决方案).md
- 数组越界异常(解决方案).md
- 空指针异常(解决方案).md