common_function/scalars/
geo.rs1mod geohash;
16mod h3;
17pub(crate) mod helpers;
18mod measure;
19mod relation;
20mod s2;
21mod wkt;
22
23use crate::function_registry::FunctionRegistry;
24
25pub(crate) struct GeoFunctions;
26
27impl GeoFunctions {
28 pub fn register(registry: &FunctionRegistry) {
29 registry.register_scalar(geohash::GeohashFunction);
31 registry.register_scalar(geohash::GeohashNeighboursFunction);
32
33 registry.register_scalar(h3::H3LatLngToCell);
35 registry.register_scalar(h3::H3LatLngToCellString);
36
37 registry.register_scalar(h3::H3CellBase);
39 registry.register_scalar(h3::H3CellIsPentagon);
40 registry.register_scalar(h3::H3StringToCell);
41 registry.register_scalar(h3::H3CellToString);
42 registry.register_scalar(h3::H3CellCenterLatLng);
43 registry.register_scalar(h3::H3CellResolution);
44
45 registry.register_scalar(h3::H3CellCenterChild);
47 registry.register_scalar(h3::H3CellParent);
48 registry.register_scalar(h3::H3CellToChildren);
49 registry.register_scalar(h3::H3CellToChildrenSize);
50 registry.register_scalar(h3::H3CellToChildPos);
51 registry.register_scalar(h3::H3ChildPosToCell);
52 registry.register_scalar(h3::H3CellContains);
53
54 registry.register_scalar(h3::H3GridDisk);
56 registry.register_scalar(h3::H3GridDiskDistances);
57 registry.register_scalar(h3::H3GridDistance);
58 registry.register_scalar(h3::H3GridPathCells);
59
60 registry.register_scalar(h3::H3CellDistanceSphereKm);
62 registry.register_scalar(h3::H3CellDistanceEuclideanDegree);
63
64 registry.register_scalar(s2::S2LatLngToCell);
66 registry.register_scalar(s2::S2CellLevel);
67 registry.register_scalar(s2::S2CellToToken);
68 registry.register_scalar(s2::S2CellParent);
69
70 registry.register_scalar(wkt::LatLngToPointWkt);
72
73 registry.register_scalar(relation::STContains);
75 registry.register_scalar(relation::STWithin);
76 registry.register_scalar(relation::STIntersects);
77
78 registry.register_scalar(measure::STDistance);
80 registry.register_scalar(measure::STDistanceSphere);
81 registry.register_scalar(measure::STArea);
82 }
83}