Exemple #1
0
 def test_corner_create_unit_GGB_using_corners(self):
     # create small GGB centred on (150.00025,-34.00025)
     scale = 0.00025
     origin = (150.0, -34.0)
     corner = (150.0 + scale, -34.0 - scale)
     ggb = GriddedGeoBox.from_corners(origin, corner)
     self.assertEqual(corner, ggb.corner)
Exemple #2
0
 def test_shape_create_unit_GGB_using_corners(self):
     # create small GGB centred on (150.00025,-34.00025)
     expectedShape = (1, 1)
     scale = 0.00025
     origin = (150.0, -34.0)
     corner = (150.0 + scale, -34.0 - scale)
     ggb = GriddedGeoBox.from_corners(origin, corner)
     self.assertEqual(expectedShape, ggb.shape)
Exemple #3
0
    def test_real_world_shape(self):
        # Flinders Islet, NSW
        flindersOrigin = (150.927659, -34.453309)
        flindersCorner = (150.931697, -34.457915)
        shapeShouldBe = (19, 17)

        ggb = GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
        self.assertEqual(shapeShouldBe, ggb.shape)
Exemple #4
0
    def test_real_world_origin_lat(self):
        # Flinders Islet, NSW
        flindersOrigin = (150.927659, -34.453309)
        flindersCorner = (150.931697, -34.457915)
        originShouldBe = flindersOrigin

        ggb = GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
        self.assertAlmostEqual(originShouldBe[1], ggb.origin[1])
Exemple #5
0
    def test_real_world_origin_lon(self):
        # Flinders Islet, NSW
        flindersOrigin = (150.927659, -34.453309)
        flindersCorner = (150.931697, -34.457915)
        originShouldBe = flindersOrigin
        shapeShouldBe = (19, 17)

        ggb = GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
        self.assertEqual(shapeShouldBe, ggb.shape)
        self.assertAlmostEqual(originShouldBe[0], ggb.origin[0])
Exemple #6
0
    def test_real_world_corner_lat(self):
        # Flinders Islet, NSW
        flindersOrigin = (150.927659, -34.453309)
        flindersCorner = (150.931697, -34.457915)
        originShouldBe = flindersOrigin
        shapeShouldBe = (19, 17)
        cornerShouldBe = (flindersOrigin[0] + shapeShouldBe[1] * 0.00025, \
            flindersOrigin[1] - shapeShouldBe[0] * 0.00025)

        ggb = GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
        self.assertAlmostEqual(cornerShouldBe[1], ggb.corner[1])
Exemple #7
0
def getFlindersIsletGGB():
    flindersOrigin = (150.927659, -34.453309)
    flindersCorner = (150.931697, -34.457915)

    return GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
Exemple #8
0
        return out


if __name__ == "__main__":
    # need this hack until set_epsilon patch v1.0.5
    # affine.set_epsilon(1e-9)
    import affine
    affine.EPSILON = 1e-9
    affine.EPSILON2 = 1e-18

    # choose Flinders Islet bounding box
    flindersOrigin = (150.927659, -34.453309)
    flindersCorner = (150.931697, -34.457915)

    flindersGGB = GriddedGeoBox.from_corners(flindersOrigin, flindersCorner)
    mask = get_land_sea_mask(flindersGGB)
    print("geobox_shape=%s" % str(flindersGGB.shape))
    print("mask_shape=%s" % str(mask.shape))
    print(mask)

    # same test for AGDC cell around  Darwin area

    scale = 0.00025
    shape = (4000, 4000)
    origin = (130.0, -12.0)

    corner = (shape[1] * scale + origin[0], origin[1] - shape[0] * scale)
    ggb = GriddedGeoBox(shape, origin, pixelsize=(scale, scale))
    print(ggb)