PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ gserialized_distance_box_2d()

Datum gserialized_distance_box_2d ( PG_FUNCTION_ARGS  )

Definition at line 629 of file gserialized_gist_2d.c.

630{
631 BOX2DF b1, b2;
632 Datum gs1 = PG_GETARG_DATUM(0);
633 Datum gs2 = PG_GETARG_DATUM(1);
634
635 POSTGIS_DEBUG(3, "entered function");
636
637 /* Must be able to build box for each argument (ie, not empty geometry). */
638 if ( (gserialized_datum_get_box2df_p(gs1, &b1) == LW_SUCCESS) &&
640 {
641 double distance = box2df_distance(&b1, &b2);
642 POSTGIS_DEBUGF(3, "got boxes %s and %s", box2df_to_string(&b1), box2df_to_string(&b2));
643 PG_RETURN_FLOAT8(distance);
644 }
645 PG_RETURN_FLOAT8(FLT_MAX);
646}
static char * box2df_to_string(const BOX2DF *a)
static double box2df_distance(const BOX2DF *a, const BOX2DF *b)
Calculate the box->box distance.
int gserialized_datum_get_box2df_p(Datum gsdatum, BOX2DF *box2df)
Peak into a GSERIALIZED datum to find the bounding box.
#define LW_SUCCESS
Definition liblwgeom.h:111
static double distance(double x1, double y1, double x2, double y2)
Definition lwtree.c:1032

References box2df_distance(), box2df_to_string(), distance(), gserialized_datum_get_box2df_p(), and LW_SUCCESS.

Here is the call graph for this function: