|
MobilityDB 1.3
|
Functions for spatial and spatiotemporal tiles. More...
#include "geo/tgeo_tile.h"#include <assert.h>#include <postgres.h>#include <float.h>#include <utils/timestamp.h>#include <liblwgeom.h>#include <meos.h>#include <meos_internal.h>#include <meos_internal_geo.h>#include "temporal/temporal.h"#include "temporal/temporal_tile.h"#include "geo/stbox.h"#include "geo/tgeo_spatialfuncs.h"Functions | |
| static bool | bitmatrix_get (const BitMatrix *bm, int *coords) |
| Get the value of the bit in the bit matrix. More... | |
| BitMatrix * | bitmatrix_make (int *count, int ndims) |
| Create a bit matrix. More... | |
| static void | bitmatrix_set_cell (BitMatrix *bm, int *coords, bool value) |
| Set the value of the bit in the bit matrix. More... | |
| static int | fastvoxel_bm (int *coords1, double *eps1, int *coords2, double *eps2, int ndims, BitMatrix *bm) |
| Set in the bit matrix the bits of the tiles connecting with a line two input tiles. More... | |
| STBox * | stbox_get_space_tile (const GSERIALIZED *point, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin) |
| Return a tile in the spatial grid of a spatiotemporal box. More... | |
| STBox * | stbox_get_space_time_tile (const GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin) |
| Return a tile in the spatiotemporal grid of a spatiotemporal box. More... | |
| STBox * | stbox_get_time_tile (TimestampTz t, const Interval *duration, TimestampTz torigin) |
| Return a tile in the temporal grid of a spatiotemporal box. More... | |
| STBox * | stbox_space_tiles (const STBox *bounds, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool border_inc, int *count) |
| Return the spatial grid of a spatiotemporal box. More... | |
| STBox * | stbox_space_time_tile (const GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool hasx, bool hast) |
| Return a tile in the multidimensional grid of a spatiotemporal box. More... | |
| STBox * | stbox_space_time_tiles (const STBox *bounds, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool border_inc, int *count) |
| Return the spatiotemporal grid of a spatiotemporal box. More... | |
| bool | stbox_tile_state_get (STboxGridState *state, STBox *box) |
| Get the current tile of the multidimensional grid. More... | |
| STboxGridState * | stbox_tile_state_make (const Temporal *temp, const STBox *box, double xsize, double ysize, double zsize, const Interval *duration, POINT3DZ sorigin, TimestampTz torigin, bool border_inc) |
| Create the initial state that persists across multiple calls of the function. More... | |
| void | stbox_tile_state_next (STboxGridState *state) |
| Increment the current state to the next tile of the multidimensional grid. More... | |
| void | stbox_tile_state_set (double x, double y, double z, TimestampTz t, double xsize, double ysize, double zsize, int64 tunits, bool hasx, bool hasz, bool hast, int32 srid, STBox *result) |
| Generate a tile from the current state of the multidimensional grid. More... | |
| STBox * | stbox_time_tiles (const STBox *bounds, const Interval *duration, TimestampTz torigin, bool border_inc, int *count) |
| Return the spatiotemporal grid of a spatiotemporal box. More... | |
| STBox * | tgeo_space_boxes (const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, int *count) |
| Return the spatiotemporal boxes of a temporal geo split with respect to a space grid. More... | |
| Temporal ** | tgeo_space_split (const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, int *count) |
| Return the fragments a temporal geo split according to a space and possibly a time grid. More... | |
| STBox * | tgeo_space_time_boxes (const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, int *count) |
| Return the spatiotemporal boxes of a temporal point split with respect to a space and possibly a time grid. More... | |
| Temporal ** | tgeo_space_time_split (const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, TimestampTz **time_bins, int *count) |
| Return the fragments a temporal geo split according to a space and possibly a time grid. More... | |
| STboxGridState * | tgeo_space_time_tile_init (const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, int *ntiles) |
| Set the state with a temporal point and a space and possibly time grid for splitting or obtaining a set of spatiotemporal boxes. More... | |
| static void | tile_get_coords (double x, double y, double z, TimestampTz t, const STboxGridState *state, int *coords) |
| Transform the minimum values of a tile into matrix coordinates. More... | |
| static void | tile_get_fpos (double dx, double dy, double dz, TimestampTz dt, const STboxGridState *state, double *fpos) |
| Transform the values in a tile into relative positions in matrix cells. More... | |
| int | tpoint_set_tiles (const Temporal *temp, const STboxGridState *state, BitMatrix *bm) |
| Set the bit corresponding to the tiles intersecting a temporal point. More... | |
| static void | tpointinst_get_coords_fpos (const TInstant *inst, bool hasz, bool hast, const STboxGridState *state, int *coords, double *fpos) |
| Get the coordinates of the tile corresponding the temporal point instant. More... | |
| static int | tpointseq_cont_set_tiles (const TSequence *seq, bool hasz, bool hast, const STboxGridState *state, BitMatrix *bm) |
| Set the bit corresponding to the tiles intersecting the temporal point sequence. More... | |
| static int | tpointseq_disc_set_tiles (const TSequence *seq, bool hasz, bool hast, const STboxGridState *state, BitMatrix *bm) |
| Set the bit corresponding to the tiles intersecting a temporal point sequence. More... | |
| static int | tpointseq_set_tiles (const TSequence *seq, bool hasz, bool hast, const STboxGridState *state, BitMatrix *bm) |
| Set the bit corresponding to the tiles intersecting the temporal point sequence. More... | |
| static int | tpointseqset_set_tiles (const TSequenceSet *ss, bool hasz, bool hast, const STboxGridState *state, BitMatrix *bm) |
| Set the bit corresponding to the tiles intersecting a temporal point sequence set. More... | |
Functions for spatial and spatiotemporal tiles.