WEB开发网
开发学院数据库MSSQL Server SQL2008空间数据类型--欧氏几何2类与方法 阅读

SQL2008空间数据类型--欧氏几何2类与方法

 2008-09-09 10:04:40 来源:WEB开发网   
核心提示:在上一篇博客中说道了几何数据类型(点、线、面和集合)的定义,既然几何数据类型是通过CLR来扩展出来的,SQL2008空间数据类型--欧氏几何2类与方法,学习过C#的都知道,一个对象下面会有属性和方法,2 对应是SQL为:SET @g = geometry::STPointFromText('PoINT (1 2

在上一篇博客中说道了几何数据类型(点、线、面和集合)的定义,既然几何数据类型是通过CLR来扩展出来的,学习过C#的都知道,一个对象下面会有属性和方法,那么几何数据类型对应的也有其属性和方法。下图就能够反映出这些几何对象的类关系。

SQL2008空间数据类型--欧氏几何2类与方法

由于我自己本身对C#比较熟悉(其实其他语言也就不怎么会了),这里我就按照C#的方式来讲一下。

首先要将的是函数。函数分为几种:构造函数、静态函数和实例下的函数。

2.1先说构造函数:

构造geometry对象及其下面的子对象有多种构造函数:通过熟知文本WKT构造、通过熟知二进制WKB构造和通过GML构造。如下语句就是通过WKT构造一个geometry对象。

DECLARE @g geometry;

SET @g = geometry::STGeomFromText('POINT (1 2)', 0);

除了构造geometry对象外,每个子类也有自己的构造函数,下表给出了每个类的通过WKT构造的函数,通过WKB构造的函数类似,这里就不给出了。

SQL2008空间数据类型--欧氏几何2类与方法

该表取自OGC官方文档,在SQL2008中使用时函数名前面有ST前缀。比如同样构造一个点1,2 对应是SQL为:

SET @g = geometry::STPointFromText('PoINT (1 2)',0);

构造函数必须与给出的WKT类型对应,这里完全可以认为是C#中做的一个类型转换,如果类型不对应强制转换必然失败,比如:

SET @g = geometry::STLineFromText('PoINT (1 2)',0);--错误的代码

1 2 3 4  下一页

Tags:SQL 空间 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接