PostGIS  3.0.0dev-r@@SVN_REVISION@@

◆ GBOX2GEOS()

GEOSGeometry* GBOX2GEOS ( const GBOX g)

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

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

Referenced by lwgeom_voronoi_diagram().

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