コード例 #1
0
def test_query_hits_ms(config_MapServer_WFS_cities):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_MapServer_WFS_cities)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 5000
コード例 #2
0
def test_query_hits_geosol_gs(config_geosol_gs_WFS):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_geosol_gs_WFS)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) is 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 186
コード例 #3
0
def test_query_hits_4326(config_gpkg_4326):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_gpkg_4326)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 2481
コード例 #4
0
def test_query_hits_agol(config_ArcGIS_ESRIJSON):
    """Testing query on entire collection for hits"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    feature_collection = p.query(resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 100
コード例 #5
0
def config_random_id(config_ArcGIS_ESRIJSON):
    p = OGRProvider(config_ArcGIS_ESRIJSON)
    # Get bunch of features to randomly have an id
    feature_collection = p.query(startindex=0, limit=10, resulttype='results')
    features = feature_collection.get('features', None)
    features_list = []
    for feature in features:
        features_list.append(feature['id'])
    selected_id = random.choice(features_list)
    fulladdr = p.get(selected_id)['properties']['fulladdr']
    return (selected_id, fulladdr.split(' ')[0])
コード例 #6
0
def test_query_bbox_hits_gs(config_MapServer_WFS_continents):
    """Testing query for a valid JSON object with geometry, single address"""

    p = OGRProvider(config_MapServer_WFS_continents)
    feature_collection = p.query(bbox=[-61, 46, -60, 47], resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 3
コード例 #7
0
def test_query_bbox_hits_ms(config_MapServer_WFS_cities):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS_cities)
    feature_collection = p.query(bbox=[-47, -24, -45, -22], resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
コード例 #8
0
def test_query_with_property_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with property filter"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(
        startindex=20, limit=10, resulttype='results',
        properties=[('denominazione_regione', 'Lazio')])
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 10
    for feature in features:
        assert 'Lazio' in feature['properties']['denominazione_regione']
コード例 #9
0
def test_query_bbox_hits_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(
        bbox=[10.497565, 41.520355, 15.111823, 43.308645], resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
コード例 #10
0
def test_query(config_poi_portugal):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_poi_portugal)
    feature_collection = p.query()
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert features is not None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #11
0
def test_query_bbox_hits_ms(config_MapServer_WFS):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS)
    # feature_collection = p.query(
    # bbox=[120000, 480000, 124000, 487000], resulttype='hits')
    feature_collection = p.query(
        bbox=[4.874016, 52.306852, 4.932020, 52.370004], resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
コード例 #12
0
def test_query_bbox_hits_4326(config_shapefile_4326):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_shapefile_4326)
    # feature_collection = p.query(
    # bbox=[120000, 480000, 124000, 487000], resulttype='hits')
    feature_collection = p.query(
        bbox=[5.763409, 52.060197, 5.769256, 52.061976], resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 1
コード例 #13
0
def test_query_bbox_hits_agol(config_ArcGIS_ESRIJSON):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    feature_collection = p.query(bbox=[
        -9822165.181154, 5112669.004249, -9807305.104750, 5133712.297986
    ],
                                 resulttype='hits')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits > 1
コード例 #14
0
def test_query_with_property_filtering_ms(config_MapServer_WFS):
    """Testing query with property filtering on mapserver backend"""

    p = OGRProvider(config_MapServer_WFS)

    feature_collection = p.query(properties=[
        ('station', '21'),
    ])

    for feature in feature_collection['features']:
        assert 'properties' in feature
        assert 'station' in feature['properties']

        assert feature['properties']['station'] == '21'
コード例 #15
0
def test_query_bbox_hits_geosol_gs(config_geosol_gs_WFS):
    """Testing query for a valid JSON object with geometry, single address"""

    p = OGRProvider(config_geosol_gs_WFS)
    feature_collection = p.query(
        bbox=(681417.0, 4849032.0, 681417.3, 4849032.3), resulttype='hits')
    # feature_collection = p.query(bbox=(
    # 5.763409, 52.060197, 5.769256, 52.061976), resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 1
コード例 #16
0
def test_query_bbox_hits_28992(config_shapefile_28992):
    """Testing query for a valid JSON object with geometry, single address"""

    p = OGRProvider(config_shapefile_28992)
    # feature_collection = p.query(
    #     bbox=(180800, 452500, 181200, 452700), resulttype='hits')
    feature_collection = p.query(
        bbox=[5.763409, 52.060197, 5.769256, 52.061976], resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    assert hits == 1
コード例 #17
0
def test_query_with_limit_ms(config_MapServer_WFS):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS)
    feature_collection = p.query(limit=2, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 2
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #18
0
def test_query_with_startindex(config_ArcGIS_ESRIJSON):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_ArcGIS_ESRIJSON)
    feature_collection = p.query(startindex=10, limit=10, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 10
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert properties['fulladdr'] is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #19
0
def test_query_with_property_filtering_ms(config_MapServer_WFS_cities):
    """Testing query with property filtering on mapserver backend"""

    p = OGRProvider(config_MapServer_WFS_cities)

    feature_collection = p.query(properties=[
        ('NAME', 'Seoul'),
    ])

    assert len(feature_collection['features']) == 1

    feature = feature_collection['features'][0]

    assert 'properties' in feature
    assert 'NAME' in feature['properties']
    assert feature['properties']['NAME'] == 'Seoul'
コード例 #20
0
def test_query_with_property_filtering(config_sqlite_4326):
    """Testing query with property filtering"""

    p = OGRProvider(config_sqlite_4326)

    feature_collection = p.query(properties=[('straatnaam', 'Arnhemseweg')])

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) > 1

    for feature in features:
        assert 'properties' in feature
        assert 'straatnaam' in feature['properties']

        assert feature['properties']['straatnaam'] == 'Arnhemseweg'
コード例 #21
0
def test_query_bbox_hits_gs(config_GeoServer_WFS):
    """Testing query for a valid JSON object with geometry, single address"""

    p = OGRProvider(config_GeoServer_WFS)
    feature_collection = p.query(bbox=(180800, 452500, 181200, 452700),
                                 resulttype='hits')
    # feature_collection = p.query(bbox=(
    # 5.763409, 52.060197, 5.769256, 52.061976), resulttype='hits')

    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 0
    hits = feature_collection.get('numberMatched', None)
    assert hits is not None
    print('hits={}'.format(hits))
    assert hits == 1
コード例 #22
0
def test_query_with_property_filtering_gs(config_MapServer_WFS_continents):
    """Testing query with property filtering on geoserver backend"""

    p = OGRProvider(config_MapServer_WFS_continents)

    feature_collection = p.query(properties=[
        ('NA2DESC', 'Greece'),
        ('NA3DESC', 'Europe'),
    ])

    for feature in feature_collection['features']:
        assert 'properties' in feature
        assert 'NA2DESC' in feature['properties']
        assert 'NA3DESC' in feature['properties']

        assert feature['properties']['NA2DESC'] == 'Greece'
        assert feature['properties']['NA3DESC'] == 'Europe'
コード例 #23
0
def test_query_with_property_filtering_gs(config_GeoServer_WFS):
    """Testing query with property filtering on geoserver backend"""

    p = OGRProvider(config_GeoServer_WFS)

    feature_collection = p.query(properties=[
        ('postcode', '9711LM'),
        ('huisnummer', 106),
    ])

    for feature in feature_collection['features']:
        assert 'properties' in feature
        assert 'postcode' in feature['properties']
        assert 'huisnummer' in feature['properties']

        assert feature['properties']['postcode'] == '9711LM'
        assert feature['properties']['huisnummer'] == 106
コード例 #24
0
def test_query_with_startindex(config_MapServer_WFS):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS)
    feature_collection = p.query(startindex=20, limit=5, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 5
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert feature['id'] == 'stations.21'
    assert '101696.68' in properties['xrd']
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #25
0
def test_query_with_startindex_vsicurl(config_vsicurl_csv):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_vsicurl_csv)
    feature_collection = p.query(startindex=20, limit=10, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 10
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert feature['id'] == 21
    assert 'Veneto' in properties['denominazione_regione']
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #26
0
def test_query_with_startindex_4326(config_shapefile_4326):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_shapefile_4326)
    feature_collection = p.query(startindex=20, limit=5, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 5
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert feature['id'] == 'inspireadressen.1744969'
    assert 'Egypte' in properties['straatnaam']
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #27
0
def test_query_with_offset(config_MapServer_WFS_cities):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS_cities)
    feature_collection = p.query(offset=20, limit=5, resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 5
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert feature['id'] == 'cities.411'
    assert '6610764' in properties['POPULATION']
    geometry = feature.get('geometry', None)
    assert geometry is not None
コード例 #28
0
def test_query_bbox_gs(config_MapServer_WFS_continents):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_MapServer_WFS_continents)
    feature_collection = p.query(bbox=(5, 52, 6, 53), resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 4
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
    assert properties['NA2DESC'] == 'Netherlands'
    assert properties['NA3DESC'] == 'Europe'
コード例 #29
0
def test_query_bbox_gs(config_GeoServer_WFS):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_GeoServer_WFS)
    feature_collection = p.query(bbox=[180800, 452500, 181200, 452700],
                                 resulttype='results')
    # feature_collection = p.query(
    # bbox=(5.763409, 52.060197, 5.769256, 52.061976), resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 1
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    geometry = feature.get('geometry', None)
    assert geometry is not None
    assert properties['straatnaam'] == 'Planken Wambuisweg'
コード例 #30
0
def test_query_bbox_geosol_gs(config_geosol_gs_WFS):
    """Testing query for a valid JSON object with geometry"""

    p = OGRProvider(config_geosol_gs_WFS)
    # feature_collection = p.query(
    # bbox=[120000, 480000, 124000, 487000], resulttype='results')
    feature_collection = p.query(bbox=(681417.0, 4849032.0, 681417.3,
                                       4849032.3),
                                 resulttype='results')
    assert feature_collection.get('type', None) == 'FeatureCollection'
    features = feature_collection.get('features', None)
    assert len(features) == 1
    hits = feature_collection.get('numberMatched', None)
    assert hits is None
    feature = features[0]
    properties = feature.get('properties', None)
    assert properties is not None
    assert properties['sito'] == 'Centro storico di Firenze'
    geometry = feature.get('geometry', None)
    assert geometry is not None