PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ GBOX2GEOS()

GEOSGeometry* GBOX2GEOS ( const GBOX g)

Definition at line 314 of file liblwgeom/lwgeom_geos.c.

References GBOX::xmax, GBOX::xmin, GBOX::ymax, and GBOX::ymin.

Referenced by lwgeom_voronoi_diagram().

315 {
316  GEOSGeometry* envelope;
317  GEOSGeometry* ring;
318  GEOSCoordSequence* seq = GEOSCoordSeq_create(5, 2);
319  if (!seq)
320  {
321  return NULL;
322  }
323 
324  GEOSCoordSeq_setX(seq, 0, box->xmin);
325  GEOSCoordSeq_setY(seq, 0, box->ymin);
326 
327  GEOSCoordSeq_setX(seq, 1, box->xmax);
328  GEOSCoordSeq_setY(seq, 1, box->ymin);
329 
330  GEOSCoordSeq_setX(seq, 2, box->xmax);
331  GEOSCoordSeq_setY(seq, 2, box->ymax);
332 
333  GEOSCoordSeq_setX(seq, 3, box->xmin);
334  GEOSCoordSeq_setY(seq, 3, box->ymax);
335 
336  GEOSCoordSeq_setX(seq, 4, box->xmin);
337  GEOSCoordSeq_setY(seq, 4, box->ymin);
338 
339  ring = GEOSGeom_createLinearRing(seq);
340  if (!ring)
341  {
342  GEOSCoordSeq_destroy(seq);
343  return NULL;
344  }
345 
346  envelope = GEOSGeom_createPolygon(ring, NULL, 0);
347  if (!envelope)
348  {
349  GEOSGeom_destroy(ring);
350  return NULL;
351  }
352 
353  return envelope;
354 }
Here is the caller graph for this function: