PostGIS  2.3.8dev-r@@SVN_REVISION@@

◆ GBOX2GEOS()

GEOSGeometry* GBOX2GEOS ( const GBOX box)

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

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

Referenced by lwgeom_voronoi_diagram().

285 {
286  GEOSGeometry* envelope;
287  GEOSGeometry* ring;
288  GEOSCoordSequence* seq = GEOSCoordSeq_create(5, 2);
289  if (!seq)
290  {
291  return NULL;
292  }
293 
294  GEOSCoordSeq_setX(seq, 0, box->xmin);
295  GEOSCoordSeq_setY(seq, 0, box->ymin);
296 
297  GEOSCoordSeq_setX(seq, 1, box->xmax);
298  GEOSCoordSeq_setY(seq, 1, box->ymin);
299 
300  GEOSCoordSeq_setX(seq, 2, box->xmax);
301  GEOSCoordSeq_setY(seq, 2, box->ymax);
302 
303  GEOSCoordSeq_setX(seq, 3, box->xmin);
304  GEOSCoordSeq_setY(seq, 3, box->ymax);
305 
306  GEOSCoordSeq_setX(seq, 4, box->xmin);
307  GEOSCoordSeq_setY(seq, 4, box->ymin);
308 
309  ring = GEOSGeom_createLinearRing(seq);
310  if (!ring)
311  {
312  GEOSCoordSeq_destroy(seq);
313  return NULL;
314  }
315 
316  envelope = GEOSGeom_createPolygon(ring, NULL, 0);
317  if (!envelope)
318  {
319  GEOSGeom_destroy(ring);
320  return NULL;
321  }
322 
323  return envelope;
324 }
double xmax
Definition: liblwgeom.h:292
double ymin
Definition: liblwgeom.h:293
double xmin
Definition: liblwgeom.h:291
double ymax
Definition: liblwgeom.h:294
Here is the caller graph for this function: