Die Well-Known Binary(WKB)-Darstellung für Geometriewerte ist in der OpenGIS-Spezifikation sowie im ISO-Standard SQL/MM Part 3: Spatial definiert.
Mit der WKB-Darstellung werden Geometriedaten als Binärströme
übermittelt. Diese sind BLOB
-Werte, die
geometrische WKB-Informationen enthalten.
WKB verwendet Ein-Byte-Integer ohne Vorzeichen, Vier-Byte-Integer ohne Vorzeichen und Acht-Byte-Zahlen mit doppelter Genauigkeit (IEEE 754 format). Ein Byte sind acht Bits.
So besteht beispielsweise ein WKB-Wert, der POINT(1
1)
darstellt, aus der folgenden Reihe von 21 Byte
(hier jeweils durch zwei Hexadezimalziffern dargestellt):
0101000000000000000000F03F000000000000F03F
Diese Folge lässt sich in folgende Bestandteile zerlegen:
Byte order : 01 WKB type : 01000000 X : 000000000000F03F Y : 000000000000F03F
Die Bestandteile werden folgendermaßen dargestellt:
Die Byte-Reihenfolge kann 0 (Little-Endian-Speicherung) oder 1 (Big-Endian-Speicherung) sein. Diese Byte-Reihenfolgen bezeichnet man auch als Network Data Representation (NDR) bzw. External Data Representation (XDR).
Der WKB-Typ ist ein Code, der den Geometrietyp angibt. Seine
Werte von 1 bis 7 bedeuten Point
,
LineString
, Polygon
,
MultiPoint
,
MultiLineString
,
MultiPolygon
und
GeometryCollection
.
Ein Point
-Wert hat x- und y-Koordinaten,
die jeweils als Wert mit doppelter Genauigkeit dargestellt
sind.
Die WKB-Werte für komplexere Geometriewerte werden durch komplexere Datenstrukturen dargestellt. Diese sind in der OpenGIS-Spezifikation genauer beschrieben.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.