from osgeo import ogr

def envelop_2_polygon(env):
    ring = ogr.Geometry(ogr.wkbLinearRing)
    ring.AddPoint(env[0], env[2])
    ring.AddPoint(env[0], env[3])
    ring.AddPoint(env[1], env[3])
    ring.AddPoint(env[1], env[2])
    ring.AddPoint(env[0], env[2])
    # Create polygon
    poly = ogr.Geometry(ogr.wkbPolygon)
    poly.AddGeometry(ring)
    return poly


env = [1,3,1,3]

poly = envelop_2_polygon(env)
line =  ogr.Geometry(ogr.wkbLineString)
line.AddPoint(0, 2)
line.AddPoint(4, 2)
line.AddPoint(5, 2)

print(poly)
print(line)
print(line.Simplify(1))