Entrada y salida

Un valor de celda temporal se introduce utilizando la sintaxis temporal estándar con el identificador de celda de 64 bits subyacente. El analizador de entrada acepta la forma hexadecimal canónica que publica cada cuadrícula — la forma que emiten la CLI de H3 y h3_cell_to_string, y la forma que lee la implementación de referencia de CARTO — con un prefijo 0x opcional, en cualquiera de las dos cajas de letra y con 16 dígitos significativos como máximo. El hexadecimal es idiomático en los tres ecosistemas y es lo que emite la función de salida, de modo que todos los ejemplos siguientes lo usan. El valor debe además denotar algo que su cuadrícula indexe: para H3 una celda, una arista dirigida o un vértice, de modo que un literal hexadecimal bien formado como 12345, que no es ninguno de los tres, se rechaza en lugar de almacenarse como un valor sin ubicación. Como referencia, el hexadecimal 480fffffffffffff usado en los ejemplos es la celda mundial QUADBIN de resolución 0, igual al decimal 5192650370358181887.

Las funciones asBinary y asHexWKB serializan un valor raster o raquet, y rasterFromBinary, rasterFromHexWKB, raquetFromBinary y raquetFromHexWKB lo reconstruyen. Un ráster se escribe en la forma que escribe el ráster de PostGIS, de modo que una columna de rásteres hace un viaje de ida y vuelta entre PostgreSQL y cualquier programa que lea esa forma. Una tesela lleva sus píxeles y su georreferenciación QUADBIN en un único valor, de modo que hace un viaje de ida y vuelta a través de una cadena de bytes portable sin intervención de ninguna extensión espacial, y la forma hexadecimal permite que una columna de teselas haga ese viaje mediante un COPY basado en texto. Ambas funciones de salida aceptan un argumento opcional de ordenación de bytes, NDR para little-endian o XDR para big-endian, cuyo valor predeterminado es la ordenación del servidor.