示例#1
0
def test_structured_data_list():
    sd1 = StructuredData([1, 2, 3, 5, 8])
    sd2 = StructuredData({"a": [3, 5], "b": "red"})
    udf_data = UdfData(structured_data_list=[sd1, sd2])

    assert udf_data.to_dict() == {
        "datacubes":
        None,
        "feature_collection_list":
        None,
        "structured_data_list": [{
            "data": [1, 2, 3, 5, 8],
            "description": "list",
            "type": "list"
        }, {
            "data": {
                "a": [3, 5],
                "b": "red"
            },
            "description": "dict",
            "type": "dict"
        }],
        "proj":
        None,
        "user_context": {}
    }
    assert repr(udf_data) \
           == '<UdfData datacube_list:None feature_collection_list:None structured_data_list:[<StructuredData with list>, <StructuredData with dict>]>'
示例#2
0
def test_datacube_list():
    xa = xarray.DataArray(numpy.zeros((2, 3)),
                          coords={
                              "x": [1, 2],
                              "y": [3, 4, 5]
                          },
                          dims=("x", "y"),
                          name="testdata")
    cube = XarrayDataCube(xa)
    udf_data = UdfData(datacube_list=[cube], user_context={"kernel": 3})
    assert udf_data.to_dict() == {
        "datacubes": [{
            "id":
            "testdata",
            "data": [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]],
            "dimensions": [{
                "name": "x",
                "coordinates": [1, 2]
            }, {
                "name": "y",
                "coordinates": [3, 4, 5]
            }],
        }],
        "feature_collection_list":
        None,
        "structured_data_list":
        None,
        "proj":
        None,
        "user_context": {
            "kernel": 3
        }
    }
    assert repr(udf_data) \
           == '<UdfData datacube_list:[<XarrayDataCube shape:(2, 3)>] feature_collection_list:None structured_data_list:None>'
示例#3
0
def test_feature_collection_list():
    data = GeoDataFrame({
        "a": [1, 4],
        "b": [2, 16]
    },
                        geometry=[Point(1, 2), Point(3, 5)])
    fc = FeatureCollection(id="test", data=data)
    udf_data = UdfData(feature_collection_list=[fc])
    assert udf_data.to_dict() == {
        'datacubes':
        None,
        'feature_collection_list': [{
            'data': {
                'type':
                'FeatureCollection',
                'features': [{
                    'id': '0',
                    'type': 'Feature',
                    'geometry': {
                        'coordinates': (1.0, 2.0),
                        'type': 'Point'
                    },
                    'properties': {
                        'a': 1,
                        'b': 2
                    },
                    'bbox': (1.0, 2.0, 1.0, 2.0),
                }, {
                    'id': '1',
                    'type': 'Feature',
                    'geometry': {
                        'coordinates': (3.0, 5.0),
                        'type': 'Point'
                    },
                    'properties': {
                        'a': 4,
                        'b': 16
                    },
                    'bbox': (3.0, 5.0, 3.0, 5.0),
                }],
                'bbox': (1.0, 2.0, 3.0, 5.0),
            },
            'id': 'test'
        }],
        'structured_data_list':
        None,
        'proj':
        None,
        'user_context': {}
    }
    assert repr(udf_data) \
           == '<UdfData datacube_list:None feature_collection_list:[<FeatureCollection with GeoDataFrame>] structured_data_list:None>'