La representación Well-Known Binary (WKB) de valores geométricos está definida por la especificación OpenGIS. También está definida en el estándar ISO “SQL/MM Part 3: Spatial”.
WKB se utiliza para intercambiar datos como cadenas binarias
representadas por valores BLOB
que contienen
información geométrica WKB.
WKB utiliza enteros sin signo de un byte, enteros sin signo de cuatro bytes, y números de ocho bytes de doble precisión (formato IEEE 754). Un byte son ocho bits.
Por ejemplo, un valor WKB que corresponde a un POINT(1
1)
consiste en esta secuancia de 21 bytes (cada uno
representado aquí por dos dígitos hexadecimales):
0101000000000000000000F03F000000000000F03F
La secuencia puede descomponerse en los siguientes componentes:
Orden de byte : 01 Tipo WKB : 01000000 X : 000000000000F03F Y : 000000000000F03F
La representación de componentes es como sigue:
El orden de byte puede ser 0 o 1, para indicar almacenamiento tipo little-endian o big-endian. Los órdenes de byte little-endian y big-endian son también conocidos como Representación de Datos de Red (Network Data Representation (NDR)) y Representación Externa de Datos (External Data Representation (XDR)), respectivamente.
El tipo WKB es un código que indica el tipo de geometría.
Los valores del 1 al 7 significan Point
,
LineString
, Polygon
,
MultiPoint
,
MultiLineString
,
MultiPolygon
, y
GeometryCollection
.
Un valor Point
tiene coordenadas X e Y,
cada una representada por un valor de doble precisión.
Los valores WKB que representan valores geométricos más complejos son representados por estructuras de datos más complejas, tal como se detalla en la especificación OpenGIS.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.