예제 #1
0
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
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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
예제 #5
0
def test_Extent_box():
    ex1 = Extent.load((1, 2, 4, 4), srs=4326)
    assert np.isclose(ex1.box.Area(), 6.0)
예제 #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()