Estas funciones convierten una geometría ordinaria (no temporal) en la celda o el conjunto de celdas que la cubre en una resolución dada, y comprueban si una trayectoria de celdas temporales entra alguna vez en ese conjunto de celdas. La salida del conjunto de celdas junto con el predicado de intersección alguna vez forman el prefiltro espacial multiplataforma que usan las consultas portables de BerlinMOD.
Devolver la celda de una cuadrícula que contiene una geometría de punto en la resolución dada
latLngToCell(geometry,resolution integer) → h3index geoToQuadbinCell(geometry,integer) → quadbin geoToS2Cell(geography,integer) → s2cell
La geometría debe ser un POINT no vacío, su longitud y su latitud se interpretan en el SRID 4326, y la resolución está entre 0 y 15 para H3, entre 0 y 26 para QUADBIN y entre 0 y 30 para S2; cualquier otro argumento provoca un error. La forma H3 toma el nombre de la función h3_latlng_to_cell de h3-pg; QUADBIN y S2 no tienen extensión anfitriona, y sus formas conservan los nombres que les da MobilityDB.
SELECT latLngToCell(geometry 'SRID=4326;Point(4.35 50.85)', 7); -- 871fa4418ffffff SELECT geoToQuadbinCell(geometry 'SRID=4326;Point(4.35 50.85)', 10); -- 48a6227affffffff SELECT geoToS2Cell(geography 'SRID=4326;Point(4.35 50.85)', 10); -- 47c3c3
Devolver el conjunto de celdas de una cuadrícula que cubren una geometría en la resolución dada
geoToH3IndexSet(geometry,integer) → h3indexset
Se admite todo tipo de geometría: un POINT produce una única celda, una LINESTRING muestrea sus segmentos y toma los vecinos de cada muestra, de modo que el conjunto contiene todas las celdas que la línea toca, un POLYGON rellena su interior, y los valores MULTI* / GEOMETRYCOLLECTION devuelven la unión de sus componentes. La cobertura se presenta solo para H3: es la única cuadrícula para la que MobilityDB lleva un núcleo de cobertura de regiones, y las formas para QUADBIN y S2 aún no están implementadas. Devuelve todas las celdas que la geometría toca, la cobertura que necesita un prefiltro espacial, donde la función h3_polygon_to_cells de h3-pg devuelve las celdas cuyo centro contiene un polígono, razón por la que el nombre sigue siendo el de MobilityDB.
SELECT geoToH3IndexSet(geometry 'SRID=4326;Point(4.35 50.85)', 7);
-- {"871fa4418ffffff"}
Devolver si una trayectoria de celdas temporales toma alguna vez una de las celdas de un conjunto de celdas
h3indexset ?= th3index → boolean
Combinado con el constructor del conjunto de celdas responde si un viaje pasa alguna vez por una región sin materializar la geometría de la trayectoria, un prefiltro conservador para el eIntersects exacto. Descansa sobre un núcleo propio, que solo lleva H3; las formas para QUADBIN y S2 aún no están implementadas.
SELECT geoToH3IndexSet(geometry 'SRID=4326;Point(4.35 50.85)', 7) ?= th3index '871fa4418ffffff@2001-01-01'; -- t