I wrote a very simple python function that gives me the envelope/bounding box/...based on two coordinate pairs (ower left and upper right corner):
# ...
def get_bounding_box(self, ll_corner, ur_corner):
try:
from shapely.geometry import MultiPoint
mp_env = MultiPoint([ll_corner, ur_corner]).envelope
return ogr.CreateGeometryFromWkt( mp_env.to_wkt() )
print mp_env
POLYGON ((4.8439699999999997 52.3661099999999990, 4.8469199999999999 52.3661099999999990, 4.8469199999999999 52.3706000000000031, 4.8439699999999997 52.3706000000000031, 4.8439699999999997 52.3661099999999990))
As you can see I'm returning an ogr geometry which I use, for instance, in this manner:
bbox = geo.get_bounding_box(lowerleft,upper_right)
...
p=ogr.Geometry(ogr.wkbPoint)
p.AddPoint(x,y)
if p.Within(bbox):
....
Isn't there an equivalent function to shapely's envelope in ogr? Both .ConvexHull()
and GetEnvelope()
return only the two corner coordinate pairs.