WKT Geometry

1 WKT

        Well-known text (WKT) 是一种文本标记语言,用来表示地图上的矢量几何对象。该格式由开放地理空间联盟Open Geospatial Consortium (OGC)制定。

2 Geometry object model

        WKT中的几何对象如图1所示,描述了简单要素几何的对象模型。基类Geometry有4个子类,包含Point,Curve,Surface和GeometryCollection。而且每个几何对象都有一个参考系统,Geometry与ReferenceSystem是关联关系,参考系统包括空间参考系统和线性参考系统。

2.1 Geometry

        Geometry在这个UML类图中是基类,并且它是一个不可实例化的抽象类。 

2.2 Point

        Point继承Geometry。Point 是一个0维的几何对象,表示坐标空间中的单个位置。一个Point有一个x坐标值和一个y坐标值,如果带上参考系统,还可能有z坐标值以及m。x,y是必须有的,z和m为可空的。多个Point构成了MultiPoint。

2.3 Curve

        Curve与Geometry是继承关系。Curve是一个一维的几何对象,存储了一个系列的Point,它不可实例化。上图只定义了Curve的一个子类,LineString,它由一系列点通过线性插值的方式形成。并且,当这条曲线是封闭的时候,它就变成了一个环。

2.4 LineString Line LinearRing

        A LineString is a Curve with linear interpolation between Points. Each consecutive pair of Points defines a Line segment.

        Line 与 LinearRing 继承自LineString。一个Line是一个恰好有两个Point的LineString。而一个LinearRing是一个简单且封闭的LineString。多个LineString构成了MultiLineString。

 如上图4个LineString,其中c为LinearRing,d就不是,因为它不是simple。

2.5 Surface

        Surface是一个2维的集合对象,继承自Geometry。它是不可实例化的,它有两个可实例化的子类分别为Polygon和PolyhedralSurface。一个多边形Polygon是一个简单的平面的曲面Surface。一个多面体PolyhedralSurface是一个由很多多边形面片组成的简单的Surface。

        如下图所示,Polygon与PolyhedralSurface继承自Surface,Polygon与Polyhedral是聚合关系,它是一种弱的“拥有关系”。

2.6 Polygon

         Polygon继承自Surface,它有一个子类三角形Triangle。它由多个LinearRing构成,是一个包含有内环的多边形。多个Polygon构成了MultiPolygon。

2.6 GeometryCollection

        一个几何集合对象GeometryCollection继承自Geometry,它由很多几何对象组成。在一个GeometryCollection中,所有的几何对象都应在同一个空间参考系统中。它有3个子类,MultiSurface,MultiCurve,MultiPoint。其中,MultiCurve与MultiSurface是作为抽象超类引入的,它们归纳了用于处理Curves和Surfaces的集合接口。

2.7 总结

        在上图1中,Geometry、Curve、Surface、MultiCurve、MultiSurface是不可实例化的,其余的都可实例化。

3 示例

TRIANGLE((0 0 0,0 1 0,1 1 0,0 0 0))
TIN (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))
POLYHEDRALSURFACE Z ( PATCHES
    ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),
    ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)),
    ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
    ((1 1 1, 1 0 1, 0 0 1, 0 1 1, 1 1 1)),
    ((1 1 1, 1 0 1, 1 0 0, 1 1 0, 1 1 1)),
    ((1 1 1, 1 1 0, 0 1 0, 0 1 1, 1 1 1))
  )

主要参考

1 OGC Simple Feature Access 官方文档  https://www.opengeospatial.org/standards/sfa

https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry

http://wiki.gis.com/wiki/index.php/Well-known_text

https://blog.csdn.net/BIT_SKY/article/details/50056605

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值