La représentation Well-Known Binary (WKB) des valeurs géométriques est définies par les spécifications OpenGIS. Il est aussi défini comme le standard ISO ``SQL/MM Part 3: Spatial''.
WKB sert à échanger des données géométriques sous forme de
flux binaires représenté par des BLOB
contenant des données WKB.
WKB utilise des entiers non-signés d'un octet, de quatre octets et des nombres à virgules flottantes de précision double (IEEE 754 format). Un octet fait 8 bits.
Par exemple, la valeur WKB qui correspond à POINT(1
1)
est constituée de la séquence suivante de 21
octets, représentée ici en code hexadécimal :
0101000000000000000000F03F000000000000F03F
La séquence peut être décomposée comme ceci :
Byte order : 01 WKB type : 01000000 X : 000000000000F03F Y : 000000000000F03F
Voici le détail des composants :
L'ordre des octets peut être 0 ou 1, pour indiquer un
stockage little-endian ou big-endian. Les ordres
little-endian et big-endian sont aussi connus sous le nom de
Network Data Representation
(NDR) et
External Data Representation
(XDR),
respectivement.
Le type WKB est un code qui indique le type géométrique.
Les valeurs de 1 à 7 indiquent : Point
,
Ligne LineString
, Polygone
Polygon
, Plusieurs points
MultiPoint
, Plusieurs lignes
MultiLineString
, Plusieurs polygones
MultiPolygon
, et Groupe géométrique
GeometryCollection
.
Une valeur Point
a des coordonnées X et
Y, représentées par un nombre à virgule flottante, en
double précision.
Les valeurs WKB des formes géométriques plus complexes sont représentées par des structures biens plus complexes, comme présenté dans les spécifications 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.