コード例 #1
0
def test_reduce_bands_logical_ops():
    input = create_spacetime_layer_singleband()
    input = gps.Pyramid({0: input})

    imagecollection = GeopysparkDataCube(pyramid=input)

    visitor = GeotrellisTileProcessGraphVisitor()
    graph = {
        "eq": {
            "arguments": {
                "x": {
                    "from_argument": "data"
                },
                "y": 10
            },
            "process_id": "eq",
        },
        "not": {
            "arguments": {
                "expression": {
                    "from_node": "eq"
                }
            },
            "process_id": "not",
            "result": True
        }
    }
    visitor.accept_process_graph(graph)
    stitched = imagecollection.reduce_bands(
        visitor).pyramid.levels[0].to_spatial_layer().stitch()
    print(stitched)
    assert 0 == stitched.cells[0][0][0]
コード例 #2
0
def test_reduce_bands_arrayelement():
    input = create_spacetime_layer()
    input = gps.Pyramid({0: input})

    imagecollection = GeopysparkDataCube(pyramid=input)

    visitor = GeotrellisTileProcessGraphVisitor()
    graph = {
        "arrayelement3": {
            "process_id": "array_element",
            "result": False,
            "arguments": {
                "data": {
                    "from_argument": "data"
                },
                "index": 0
            }
        },
        "subtract1": {
            "process_id": "subtract",
            "result": False,
            "arguments": {
                "data": [{
                    "from_node": "arrayelement1"
                }, {
                    "from_node": "arrayelement2"
                }]
            }
        },
        "arrayelement4": {
            "process_id": "array_element",
            "result": False,
            "arguments": {
                "data": {
                    "from_argument": "data"
                },
                "index": 1
            }
        },
        "arrayelement1": {
            "process_id": "array_element",
            "result": False,
            "arguments": {
                "data": {
                    "from_argument": "data"
                },
                "index": 0
            }
        },
        "divide1": {
            "process_id": "divide",
            "result": True,
            "arguments": {
                "data": [{
                    "from_node": "sum1"
                }, {
                    "from_node": "subtract1"
                }]
            }
        },
        "sum1": {
            "process_id": "sum",
            "result": False,
            "arguments": {
                "data": [{
                    "from_node": "arrayelement3"
                }, {
                    "from_node": "arrayelement4"
                }]
            }
        },
        "arrayelement2": {
            "process_id": "array_element",
            "result": False,
            "arguments": {
                "data": {
                    "from_argument": "data"
                },
                "index": 1
            }
        }
    }
    visitor.accept_process_graph(graph)
    stitched = imagecollection.reduce_bands(
        visitor).pyramid.levels[0].to_spatial_layer().stitch()
    print(stitched)
    assert 3.0 == stitched.cells[0][0][0]