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

http://tech.ddvip.com   2008年09月09日    社区交流

内容摘要:既然几何数据类型是通过CLR来扩展出来的,学习过C#的都知道,一个对象下面会有属性和方法,那么几何数据类型对应的也有其属性和方法。

  在上一篇博客中说道了几何数据类型(点、线、面和集合)的定义,既然几何数据类型是通过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);--错误的代码

来源:blog.csdn    作者:CSDN深蓝居    责编:豆豆技术应用

正在加载评论...