A representação Well-Known Binary (WKB) para valores geométricos é definida pela especificação OpenGIS. Ela também é definida no padrão ISO "SQL/MM Part 3: Spatial".
WKB é usado para trocar dados geometry como fluxos binários representados por valores BLOB contendop informações geométricas WKB.
WKB usa inteiros sem sinal de 1-byte e 4-byte e números de precisão dupla de 8-byte (formato IEEE 754). Um byte é 8 bits.
Por exemplo, um valor WKB que corresonde a POINT(1
1)
consiste desta sequência de 21 bytes (cada um
representado aqui por dois digitos hexa):
0101000000000000000000F03F000000000000F03F
A sequência pode ser quebrada nestes componentes:
Byte order : 01 WKB type : 01000000 X : 000000000000F03F Y : 000000000000F03F
A respresentação do componente está a seguir:
O byte order pode ser de 0 ou 1 para indicar o tipo little-endian ou big-endian. Os byte orders little-endian e big-endian também são conhecidos como Network Data Representation - Representação de Dados de Rede (NDR) e External Data Representation - Representação de Dados Externos (XDR), repectivamente.
O tipo WKB é um código que indica o tipo de geometria.
Valores de 1 a 7 indicam Point
,
LineString
, Polygon
,
MultiPoint
,
MultiLineString
,
MultiPolygon
, e
GeometryCollection
.
Um valor Point
têm coordenadas X e Y,
cada uma representada como um valor de dupla precisão.
Valores WKB para valores de geometria mais complexas são representados por estrutras de dados mais complexas, como detalhado na epecificação OpenGIS.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.