GB/T 33187.1-2016 地理信息 简单要素访问 第1部分:通用架构

GB/T 33187.1-2016 地理信息 简单要素访问 第1部分:通用架构
积分0.00
特惠
积分0
VIP全站资料免积分下载
立即下载
同类资料根据编号标题搜索
文档
仅供个人学习
反馈
标准编号:GB/T 33187.1-2016
文件类型:.pdf
资源大小:6.7M
标准类别:其他标准
资源ID:224839
VIP资源

GB/T 33187.1-2016 标准规范下载简介:

内容预览由机器从pdf转换为word,准确率92%以上,供参考

GB/T 33187.1-2016 地理信息 简单要素访问 第1部分:通用架构

6.1.2.3几何对象间的空间关系测试方法

本条款中的方法在Geometry子类型的后续描述中有更详细的定义与描述。 Equals(anotherGeometry:Geometry):Integer 若该几何对象与另一个几何对象“空间上 相等”,则返回1(TRUE)。 Disjoint(anotherGeometry:Geometry):Integer若该几何对象与另一个几何对象“空间 上相离”,则返回1(TRUE)。 Intersects(anotherGeometry:Geometry):Integer 若该几何对象与另一个几何对象“空 间上相交”,则返回1(TRUE)。 Touches(anotherGeometry:Geometry):Integer 若该几何对象与另一个几何对象“空 间上相接”,则返回1(TRUE)。 Crosses(anotherGeometry:Geometry):Integer一一若该几何对象“空间上跨越”另一个几何 对象,则返回1(TRUE)。 Within(anotherGeometry:Geometry):Integer若该几何对象“空间上包含于”另一个几 何对象,则返回1(TRUE)。 Contains(anotherGeometry:Geometry):Integer若该几何对象“空间上包含”另一个几何 对象,则返回1(TRUE)。 Overlaps(anotherGeometry:Geometry).Integer— 若该儿何对象与另一个儿何对象“空间 上交登”,则返回1(TRUE)。 Relate(anotherGeometry:Geometry,intersectionPatternMatrix:String):Integer 若该儿 何对象与另一个几何对象符合intersection模型矩阵的值,则两对象空间上相关(Relate),返 回1(TRUE)

JB/T 8729-2013 液压多路换向阀6.1.2.4支持空间分析的方法

6.1.3GeometryCollection

GeometryCollection是由1个几何对象或多个几何对象集合而成的一个几何对象。 GeometryCollection的所有元素应在同一空间参照中。这也是GeometryCollection的空间参照

GeometryCollection对其成员元素无约束条件。GeometryCollection子类则对其成员元素的维数 或成员元素间的交叠程度有所约束

NumGeometries():Integer一返回该GeometryCollection中几何元素的数目。 GeometryN(N.integer)Geometry 返回该GeometryCollection中第N个几何元素。

Point是0维几何对象,表示坐标空间中的一个单个位置。Point有工坐标值和y坐标值。 Point的边界是空集。

X():Double 一返回该Point的工坐标值 Y(),Double——返回该Point 的 y坐标值

X(:Double 一返回该Point的工坐标值 Y().Double 返回该Point的y坐标值。

6.1.5MultiPoint

MultiPoint是o维GeometryCollcction。MultiPoint的元素被限制为Point。这些Point 连接的或无序的。 MultiPoint中没有任意两个Point具有相同的坐标值,则它是简单的。 MultiPoint的边界是空集

6.1.6 Curve

Curve是存储为一系列Point(序列排列的点)的1维几何对象。其子类型决定了点与点之间插值 方式。本部分仅定义了Curve的一个子类一一LineString,它在点间采用线性插值。 Curve是1维几何对象,在f:[a,b]→R”映射中,它是一个真实的、闭合的、间隔D=[a,b]=(rE R.la≤≤b)的同胚映射。 若Curve没有两次穿过同一个Point,则该Curve是简单的(见参考文献[1]的3.12.7.3)。 VcECurve,[a,b]=c.Domain, c.IsSimple(l,2(a2→(1)f(2))(l,2[ab)2=f(1)f(2)) 若Curve的起始Point和终止Point相等,则该Curve是闭合的(见参考文献[1]的3.12.7.3)。 闭合Curve的边界是空。 简单闭合的Curve是Ring(环)。 非闭合Curve的边界由它的两个端Point组成(见参考文献[1]的3.12.3.2)。 Curve是拓扑闭合的

Curve是存储为一系列Point(序列排列的点)的1维几何对象。其子类型决定了点与点 式。本部分仅定义了Curve的一个子类一一LineString,它在点间采用线性插值。 Curve是1维几何对象,在f:[a,b]R”映射中,它是一个真实的、闭合的、间隔D=[a,b]=(E R.la≤工≤b)的同胚映射。 若Curve没有两次穿过同一个Point,则该Curve是简单的(见参考文献[1]的3.12.7.3)。 VcECurve,[a,b]=c.Domain, c.IsSimple=(Vl,2(a,b]l2→f()f(2))(l,2[ab)2→f(1)f(2)) 若Curve的起始Point和终止Point相等,则该Curve是闭合的(见参考文献[1]的3.12.7.3)。 闭合Curve的边界是空。 简单闭合的Curve是Ring(环)。 非闭合Curve的边界由它的两个端Point组成(见参考文献[1]的3.12.3.2)。 Curve是拓扑闭合的

Length().Double 该Curve在其空间参照系中的长度。 StartPoint():Point 该Curve的起始Point。 EndPoint(:Point 该Curve的终止Point。 IsClosed():Integer 若该Curve是闭合的[StartPoint()=EndPoint()],则返回

(TRUE)。 IsRing():Integer一若该Curve是闭合的[StartPoint()=EndPoint()」、且简单的(没有超过 一次地穿过同一个Point),则返回1(TRUE)

6.1.7LineString、Line(直线)和LinearRing(纟

图2LineString的示例—(a)简单的LineString;(b)非简单的LineString (e)简单、闭合的LineString(LinearRing):(d)非简单、闭合的LineString

NumPoints():Integer 返回该LineString中Point的数目, PointN(N.Integer):Point 返回该LineString中指定的第N个Point

6.1.8 MultiCurve

MultiCurve是元素为Curve的1维GeometryCollection,如图3所示。 在本部分中,MultiCurve是不可实例化的类;它为其子类定义了一套方法,且包括可扩展的原因。 当且仅当MultiCurve的所有元素是简单的、且任意两元素的交仅出现在这两元素边界上的Point 时,则该MultiCurve是简单的。 MultiCurve的边界可使用“模2”并规则获得:MultiCurve边界上的Point是该MultiCurve中奇数 个元素的边界上的Point(见参考文献[1]的3.12.3.2)。 若MultiCurve的所有元素是闭合的,则该MultiCurve是闭合的。闭合MultiCurve的边界总是 为空。 MultiCurve是拓扑闭合的

IsClosed():Integer 若该MultiCurve中每条Curve是闭合的[StartPoint()一EndPo (1,则返回1(TRUE)

Length():Double该MultiCurve的长度等于其所有Curve长度的总和

6.1.9MultiLineString

MultiLineString是元素为LineString的MultiCurve。 图3(a)、(b)、(c)中MultiLineString的边界分别是(sl,e2)、fsl,el)和0。

其中:s起始:e终止

图3MultiLineString示例——(a)简单的MultiLineString;(b)有2个元素的非简单 MultiLineString:(c)有2个元素的非简单,闭合的MultiLineString

6.1410 Surface

Surface是2维儿何对象。 一个简单Surface由与1个外边界,0到多个内边界相关的单个“斑块(Patch)”构成。在3维空间 中,简单Surface与平面是同构的。PolyhedralSurface(多面体曲面)由简单Surface沿着它们的边界 “缝合”而成;3维空间中的PolyhedralSurface总体上不可以是平坦的(见参考文献[1]的3.12.9.1、 .12.9.3)。 简单Surface的边界是由其内边界、外边界组成的闭合Curve的集合(见参考文献[1]的3.12.9.4)。 本部分定义了Surface唯一可实例化的子类Polygon它是简单的平坦 Surface,

Area():Double——在该Surface空间参照系内,测量的该Surface的面积。 Centroid():Point 以点的形式返回该Surface的数学质心。返回的结果并不一定在该 Surface上。 PointOnSurface().Point 返回一个在该Surface上的Point。

):Double——在该Surface空间参照系内,测量的该Surface的面积。 id():Point 一以点的形式返回该Surface的数学质心。返回的结果并不一定在该 e上。 OnSurface()Point 返回一个在该Surface上的Point

6.1.11Polygon

Polygon是由1个外边界,o到多个内边界定义的平坦Surface。每一个内边界定义了Polygon的 个洞。 Polygon的声明(定义为有效Polygon的规则)如下: a)Polygon是拓扑闭合的; b)Polygon的边界由一套描述其内、外边界的LinearRing组成; c)边界上的两个Ring不能相互跨越,且Polygon边界上的Ring仅能相切在一个Point上。例

如,VPolygon,Vcl2E.Boundaryl2EPointqEclqEc2→ ±c2]; d) Polygon不可以有切割线,边缘不可以有刺峰或刺孔。例如,PEPolygon,P=Closure(Interior (P)); e) 每个Polygon的内部是相连接的点的集合; D 有1或多个洞的Polygon的外部是不连通的。每个洞定义了外部的一个连接组分。 在上述声明中,内部、闭合和外部有了标准的拓扑定义。a)和c)的结合使Polygon成为一个规则的 闭合点集。 Polygon是简单几何对象。 图4示出Polygon的一些例子

图4Polygon示例 (a)有1个Ring的Polygon(b)有2个Ring的Polygon: (c)有3个Ring的 Polygon

6.1.11.2 方法

声明、不能用单个Polygon实例表示的几何对象

图5不能用单个Polygon实例表达的几何对象示例

ExteriorRing():LineString 返回该Polygon的外环。 NumlnteriorRing():Integer 返回该Polygon内环的数目。 InteriorRingN(N:Integer).LineString 以LineString的形式返回该Polygon的第N个 Ring.

6.1.12 MultiSurface

MultiSurface是其元索为Surface的2维GeometryCollection。MultiSurface中任意两个Surface 的内部不可以相交。MultiSurface中任意两个元素的边界可能最多相交在有限个Point上。 本部分的MultiSurface是不可实例化的类。它为其子类定义了一套方法,且包括可扩展的原因。 MultiSurface可实例化的子类是MultiPolygon,对应Polygon的集合

Area():Double—一在该MultiSurface空间参照系内,测量的该MultiSurface的面积。 Centroid()Point一 一以Point的形式返回该MultiSurface的数学质心。返回的结果并不一 定在该MultiSurface面上。 PointOnSurface()Point 返回在该MultiSurface上的一个Point

6.1.13MultiPolygon

6.1.14 关系算子

6.1.14.1 背景

不能用单个MultiPolygon实例所表示的几何对

图9Touches关系的示

图11 Within关系的示例一 (a)Polygon/Polygon;(b)Polygon/LineString (c)LineString/LineString;(d)Polygon/Point

图12Overlaps关系的示例一 (a)Polygon/LineString:(b)LineString/LineString

tains包含 a. Contains(b) 台 b. Within(a)

[ntersects 相图

6.2几何的WKT表示

每个儿何类型都有其WKT表示。该表示可用于构建该类型的新实例,也可将已有实例转换为以 字母数字表达的文本形式。

单”(tokens)重复0到多次:该大

《GeometryTaggedText): (Point Tagged Text) I(LineString Tagged Text) I (Polygon Tagged Text) I《MultiPoint Tagged Text) I《MultiLineString Tagged Text) I 《MultiPolygon Tagged Text) I(GeometryCollection Tagged Text) 《Point Tagged Text);" POINT (Point Text) 《LineString Tagged Text)" LINESTRING (LineString Text)

表2几何的WKT表示示例

6.3几何的WKB表示

几何的WKB表示(WKBGeometry)提供了一种几何对象连续字节流的便捷表示。它可以实现几 何对象在SQL/CLI客户端和SQL实现之间的二进制形式交换

数字类型的序列,然后将每个数字类型序列化为公认定义的、标准的、二进制表示数据类型(ND R)之一的字节序列。几何表示的二进制编码(NDR或XDR)方式用位于系列字节之前的一字节 述。两种Ge**etry编码的唯一不同的是字节顺序,XDR编码是大端的,而NDR编码是小端的

6.3.2.2数字(Nu*eri*)类型的定义

UnsignedInteger是对[0,4294967295]范围内的非负整数进行编码的32位(4字节)数据类型。 D*uble是采用IEEE745[18双精度格式对双精度数进行编码的64位(8字节)双精度数据类型。 上述定义在XDR和NDR中是一样的

6.3.2.3数字类型的XDR(大端)编码

UnsignedInteger的XDR表示是大端的(最有效的字节在前)。 D*uble的XDR表示是大端的(符号位是第一字节)

63.2.4数字类型的NDR(小端)编码

JnsignedInteger的NDR表乐 D*uble的NDR表示是小端的(符号位是最后字节)

6.3.2.5WKBGe**etry的NDR和XDR表示的转换

UnsignedInteger和D*uble的NDR和XDR数据类型间的转换较为简单,即将字节流中的无符 型和双精度型字节进行交换

GB/T 15684-2015 谷物碾磨制品 脂肪酸值的测定6.3.2.6与其他COM和CORBA数据转换协议的关系

上述用于UnsignedInteger和D*uble数值的XDR表示也是CORBA外部服务规范15中用于外 部化对象的CORBA标准流格式的UnsignedInteger和D*uble数值的标准表示。 上述用于Unsign*dInteger和D*uble数值的NDR表示也是基于DEC、RPC和NDR[16]的 DCOM协议中UnsignedInteger和D*uble数值的标准表示

6.3.2.7WKBGe**etry表示的描述

Ge**etry的WKB表示的基本结构单元是由两个D*uble数组成的P*int的字节流。可以使用日 定义几何对象的字节流构建其他几何对象的字节流。 //基本类型定义 //byte:1字节 //uint32:32位无符号整数(4字节)

6.3.2.8几何的WKB表示的声明

格式(B=1)的具有两个LinearRing(NR=2)、每 有3个点(NP=3)的P*lyg*n(T=3)的WKB表

Ge**etry的WKB表示设计用于几何类型实例。任何WKBGe**etry实例应该满足它 何类型的声明(见6.1)。

5.4空间参照系的WKT表示

GB/T 38183-2019 摩托车和轻便摩托车辐板式车轮6.4空间参照系的WKT表示

©版权声明
相关文章