344 GEOSGeometry* envelope;
346 GEOSCoordSequence* seq = GEOSCoordSeq_create(5, 2);
347 if (!seq)
return NULL;
349 #if POSTGIS_GEOS_VERSION < 38
350 GEOSCoordSeq_setX(seq, 0, box->xmin);
351 GEOSCoordSeq_setY(seq, 0, box->ymin);
353 GEOSCoordSeq_setX(seq, 1, box->xmax);
354 GEOSCoordSeq_setY(seq, 1, box->ymin);
356 GEOSCoordSeq_setX(seq, 2, box->xmax);
357 GEOSCoordSeq_setY(seq, 2, box->ymax);
359 GEOSCoordSeq_setX(seq, 3, box->xmin);
360 GEOSCoordSeq_setY(seq, 3, box->ymax);
362 GEOSCoordSeq_setX(seq, 4, box->xmin);
363 GEOSCoordSeq_setY(seq, 4, box->ymin);
365 GEOSCoordSeq_setXY(seq, 0, box->xmin, box->ymin);
366 GEOSCoordSeq_setXY(seq, 1, box->xmax, box->ymin);
367 GEOSCoordSeq_setXY(seq, 2, box->xmax, box->ymax);
368 GEOSCoordSeq_setXY(seq, 3, box->xmin, box->ymax);
369 GEOSCoordSeq_setXY(seq, 4, box->xmin, box->ymin);
372 ring = GEOSGeom_createLinearRing(seq);
375 GEOSCoordSeq_destroy(seq);
379 envelope = GEOSGeom_createPolygon(ring, NULL, 0);
382 GEOSGeom_destroy(ring);