A tcell value shares the same on-disk representation as tbigint. The binary-coercion cast between them is explicit, requiring ::, so cell-specific functions cannot be silently called on arbitrary bigint trajectories.
Convert between a tcell and a tbigint
{tbigint,tcell}::{tcell,tbigint}
The cast is a binary coercion in both directions, so it costs nothing beyond the type change. It round trips: casting a cell to tbigint and back answers the cell it started from.
SELECT (tbigint '590464338553208831@2001-01-01')::th3index; -- 831c02fffffffff@2001-01-01 SELECT (tbigint '5234909528541102079@2001-01-01')::tquadbin; -- 48a6227affffffff@2001-01-01 SELECT (tbigint '5171187903383994368@2001-01-01')::ts2cell; -- 47c3c@2001-01-01
Cast a temporal cell to a temporal geodetic or planar point of cell centroids
tcell::{tgeogpoint,tgeompoint}
The cast of a QUADBIN cell answers a point of the Web-Mercator plane the grid is defined on, while the cast of an S2 cell answers a geodetic one; each grid declares the single cast its own definition calls for. H3 declares both, so it is the one grid where the caller chooses between the geodetic and the SRID-4326 planar representation.
SELECT asText((th3index '831c02fffffffff@2001-01-01')::tgeogpoint, 6); -- POINT(-144.523991 49.716503)@2001-01-01 SELECT asText((th3index '831c02fffffffff@2001-01-01')::tgeompoint, 6); -- POINT(-144.523991 49.716503)@2001-01-01 SELECT asText((tquadbin '48a6227affffffff@2001-01-01')::tgeompoint, 6); -- POINT(4.394531 50.847573)@2001-01-01 SELECT asText((ts2cell '47c3c@2001-01-01')::tgeogpoint, 6); -- POINT(4.222019 50.936164)@2001-01-01