Example #1
0
def test_aws_s2_meta_info_provider_provides_data_type():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)

    assert not aws_s2_meta_info_provider.provides_data_type('AWS_S2_L2')
    assert not aws_s2_meta_info_provider.provides_data_type('hdtgbhhj')
    assert aws_s2_meta_info_provider.provides_data_type('AWS_S2_L1C')
Example #2
0
def test_read_sub_lut():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    sub_lut = aws_s2_meta_info_provider._read_sub_lut('30', 'S')

    for key in sub_lut.keys():
        assert key.startswith('30S')
Example #3
0
def test_aws_s2_meta_info_provider_get_parameters_as_dict():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    parameters_as_dict = aws_s2_meta_info_provider._get_parameters_as_dict()

    assert 1 == len(parameters_as_dict.keys())
    assert 'path_to_json_file' in parameters_as_dict.keys()
    assert path_to_json_file == parameters_as_dict['path_to_json_file']
Example #4
0
def test_query_non_local():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    query_string = "POLYGON((-6.5 37.7, -5.7 37.6, -5.7 37.1, -6.5 37.1, -6.5 37.7));2017-09-04;2017-09-04;AWS_S2_L1C"

    data_set_meta_infos = aws_s2_meta_info_provider.query_non_local(query_string)

    assert 1 == len(data_set_meta_infos)
    assert '30/S/TG/2017/9/4/0' == data_set_meta_infos[0].identifier
    assert data_set_meta_infos[0].start_time == '2017-09-04T11:18:25'
    assert data_set_meta_infos[0].end_time == '2017-09-04T11:18:25'
    assert data_set_meta_infos[0].data_type == 'AWS_S2_L1C'
    data_set_coverage_0 = loads(data_set_meta_infos[0].coverage)
    stg_30_polygon = loads(STG_30_COVERAGE)
    assert data_set_coverage_0.almost_equals(stg_30_polygon)
Example #5
0
def test_get_data_set_meta_infos_for_tile_description():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    tile_description = TileDescription('30SWJ', BARRAX_TILE)
    start_time = get_time_from_string('2016-04-01')
    end_time = get_time_from_string('2016-04-30')
    data_set_meta_infos = aws_s2_meta_info_provider._get_data_set_meta_infos_for_tile_description(tile_description,
                                                                                                  start_time, end_time)
    assert 6 == len(data_set_meta_infos)
    assert '2016-04-01T10:57:59' == data_set_meta_infos[0].start_time
    assert '30/S/WJ/2016/4/1/0' == data_set_meta_infos[0].identifier
    assert '2016-04-04T11:03:11' == data_set_meta_infos[1].start_time
    assert '30/S/WJ/2016/4/4/0' == data_set_meta_infos[1].identifier
    assert '2016-04-11T10:57:56' == data_set_meta_infos[2].start_time
    assert '30/S/WJ/2016/4/11/0' == data_set_meta_infos[2].identifier
    assert '2016-04-14T11:09:07' == data_set_meta_infos[3].start_time
    assert '30/S/WJ/2016/4/14/0' == data_set_meta_infos[3].identifier
    assert '2016-04-21T10:59:16' == data_set_meta_infos[4].start_time
    assert '30/S/WJ/2016/4/21/0' == data_set_meta_infos[4].identifier
    assert '2016-04-24T11:09:39' == data_set_meta_infos[5].start_time
    assert '30/S/WJ/2016/4/24/0' == data_set_meta_infos[5].identifier
Example #6
0
def test_get_affected_tile_descriptions():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    barrax_geometry = loads(BARRAX_POLYGON)
    affected_tile_ids = aws_s2_meta_info_provider.get_affected_tile_descriptions(barrax_geometry)

    assert 1 == len(affected_tile_ids)
    assert '30SWJ' == affected_tile_ids[0].tile_id
    assert BARRAX_TILE == affected_tile_ids[0].coverage

    large_polygon = loads("POLYGON((-15. 52.43,10. 52.43, 10. 28.94,-15. 28.94,-15. 52.43))")
    affected_tile_ids = aws_s2_meta_info_provider.get_affected_tile_descriptions(large_polygon)

    for tile_description in affected_tile_ids:
        assert tile_description.tile_id.startswith('28R') or tile_description.tile_id.startswith('29R') or \
               tile_description.tile_id.startswith('30R') or tile_description.tile_id.startswith('31R') or \
               tile_description.tile_id.startswith('32R') or tile_description.tile_id.startswith('28S') or \
               tile_description.tile_id.startswith('29S') or tile_description.tile_id.startswith('30S') or \
               tile_description.tile_id.startswith('31S') or tile_description.tile_id.startswith('32S') or \
               tile_description.tile_id.startswith('28T') or tile_description.tile_id.startswith('29T') or \
               tile_description.tile_id.startswith('30T') or tile_description.tile_id.startswith('31T') or \
               tile_description.tile_id.startswith('32T') or tile_description.tile_id.startswith('28U') or \
               tile_description.tile_id.startswith('29U') or tile_description.tile_id.startswith('30U') or \
               tile_description.tile_id.startswith('31U') or tile_description.tile_id.startswith('32U')
Example #7
0
def test_aws_s2_meta_info_provider_get_name():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    assert 'AwsS2MetaInfoProvider' == aws_s2_meta_info_provider.name()
Example #8
0
def test_aws_s2_meta_info_provider_accessor_create_from_parameters():
    parameters = {'path_to_json_file': path_to_json_file}
    aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters)
    assert type(aws_s2_meta_info_provider) == AwsS2MetaInfoProvider