19.3.2. 著名的二进制(WKB)格式

用于几何值的著名二进制( WKB)表示是由 OpenGIS规范定义的。它还定义在 ISO SQL/MM Part 3: Spatial”标准中。

WKB用于以二进制流的形式交换几何数据,二进制流由含几何WKB信息的BLOB值表示。

WKB使用1字节无符号整数、4字节无符号整数、以及8字节双精度数(IEEE 754格式)。1字节等于8比特。

例如,与POINT(1 1)对应的WKB值由下述21字节序列构成(在此,每个字节由2个十六进制数值表示):

0101000000000000000000F03F000000000000F03F

该序列可分为下述部分:

Byte order : 01
WKB type   : 01000000
X          : 000000000000F03F
Y          : 000000000000F03F

表示如下:

·         字节顺序(Byte order)可以是01,分别表明little-endianbig-endian存储。little-endianbig-endian字节顺序也分别称为网络数据表示(NDR)和外部数据表示(XDR)。

·         WKB type”(WKB类型)是指明几何类型的代码。取值从17,分别表示PointLineStringPolygonMultiPointMultiLineStringMultiPolygon、和GeometryCollection

·         Point值具有XY坐标,每个值均用双精度值表示。

对于更复杂几何值的WKB值,它们是由更复杂的数据结构表示的,详情请参见OpenGIS规范。

关注编程学问公众号