PostGIS  2.2.7dev-r@@SVN_REVISION@@
Datum geography_eq ( PG_FUNCTION_ARGS  )

Definition at line 201 of file geography_btree.c.

References FALSE, FP_EQUALS, geography_gidx_center(), TRUE, POINT3D::x, POINT3D::y, and POINT3D::z.

202 {
203  /* Put aside some stack memory and use it for GIDX pointers. */
204  char gboxmem1[GIDX_MAX_SIZE];
205  char gboxmem2[GIDX_MAX_SIZE];
206  GIDX *gbox1 = (GIDX*)gboxmem1;
207  GIDX *gbox2 = (GIDX*)gboxmem2;
208  POINT3D p1, p2;
209 
210  /* Must be able to build box for each argument (ie, not empty geometry) */
211  if ( ! gserialized_datum_get_gidx_p(PG_GETARG_DATUM(0), gbox1) ||
212  ! gserialized_datum_get_gidx_p(PG_GETARG_DATUM(1), gbox2) )
213  {
214  PG_RETURN_BOOL(FALSE);
215  }
216 
217  geography_gidx_center(gbox1, &p1);
218  geography_gidx_center(gbox2, &p2);
219 
220  if ( FP_EQUALS(p1.x, p2.x) && FP_EQUALS(p1.y, p2.y) && FP_EQUALS(p1.z, p2.z) )
221  PG_RETURN_BOOL(TRUE);
222 
223  PG_RETURN_BOOL(FALSE);
224 
225 }
double y
Definition: liblwgeom.h:324
double x
Definition: liblwgeom.h:324
double z
Definition: liblwgeom.h:324
static void geography_gidx_center(GIDX *gidx, POINT3D *p)
#define FALSE
Definition: dbfopen.c:168
#define FP_EQUALS(A, B)
#define TRUE
Definition: dbfopen.c:169

Here is the call graph for this function: