def test_Extent___add__(): # setup ex1 = Extent.load((1, 2, 3, 4), srs=EPSG4326) ex2 = Extent.load((1, 1, 3, 3), srs=EPSG4326) # Simple add ex = ex1 + ex2 assert ex.xMin == 1 assert ex.xMax == 3 assert ex.yMin == 1 assert ex.yMax == 4
def test_Extent_shift(): ex = Extent.load((1, 2, 3, 4), srs=4326) ex1 = ex.shift(-1, 2) np.isclose(ex1.xMin, 0) np.isclose(ex1.xMax, 2) np.isclose(ex1.yMin, 4) np.isclose(ex1.yMax, 6)
def test_Extent_load(): # Explicit ex1 = Extent.load((1, 2, 3, 4), srs=4326) assert np.isclose(ex1.xMin, 1) assert np.isclose(ex1.xMax, 3) assert np.isclose(ex1.yMin, 2) assert np.isclose(ex1.yMax, 4) assert ex1.srs.IsSame(EPSG4326) # Geometry ex2 = Extent.load(GEOM) assert np.isclose(ex2.xMin, 10.10000) assert np.isclose(ex2.xMax, 14.60000) assert np.isclose(ex2.yMin, 30.50000) assert np.isclose(ex2.yMax, 38.10000) assert ex2.srs.IsSame(EPSG4326) # vector ex3 = Extent.load(AACHEN_POINTS) assert np.isclose(ex3.xMin, 6.03745) assert np.isclose(ex3.xMax, 6.33091) assert np.isclose(ex3.yMin, 50.5367) assert np.isclose(ex3.yMax, 50.9227) assert ex3.srs.IsSame(EPSG4326) # Raster ex4 = Extent.load(CLC_RASTER_PATH) assert np.isclose(ex4.xMin, 4012100) assert np.isclose(ex4.yMin, 3031800) assert np.isclose(ex4.xMax, 4094600) assert np.isclose(ex4.yMax, 3111000) assert ex4.srs.IsSame(EPSG3035) # Location set ls = LocationSet(pointsInAachen3035, srs=3035) ex5 = Extent.load(ls) assert np.isclose(ex5.xMin, 6.02141) assert np.isclose(ex5.yMin, 50.51939) assert np.isclose(ex5.xMax, 6.371634) assert np.isclose(ex5.yMax, 50.846025) assert ex5.srs.IsSame(EPSG4326)
def test_Extent_corners(): ex = Extent.load((1, 2, 3, 4), srs=4326) # Points as Tuples pts = ex.corners() assert np.isclose(pts[0], (1, 2)).all() # bottom left assert np.isclose(pts[1], (3, 2)).all() # bottom right assert np.isclose(pts[2], (1, 4)).all() # top left assert np.isclose(pts[3], (3, 4)).all() # top right # Points as Geometries pts = ex.corners(asPoints=True) assert pts[0].GetSpatialReference().IsSame(EPSG4326) assert pts[0].GetX() == 1 # bottom left, X assert pts[0].GetY() == 2 # bottom left, Y assert pts[1].GetX() == 3 # bottom right, X assert pts[1].GetY() == 2 # bottom right, Y assert pts[2].GetX() == 1 # top left, X assert pts[2].GetY() == 4 # top left, Y assert pts[3].GetX() == 3 # top right, X assert pts[3].GetY() == 4 # top right, Y
def test_Extent_box(): ex1 = Extent.load((1, 2, 4, 4), srs=4326) assert np.isclose(ex1.box.Area(), 6.0)
def test_Extent_xXyY(): ex1 = Extent.load((1, 2, 3, 4), srs=4326) assert np.isclose(ex1.xXyY, (1, 3, 2, 4)).all()