Пример #1
0
 def test_geonames_add_bbox(self):
     in_result = {
         "type": "Feature",
         "geometry": {"type": "Point", "coordinates": [102.18947, 17.77036]},
         "properties": {
             "id": "1608462",
             "gid": "geonames:locality:1608462",
             "layer": "locality",
             "source": "geonames",
             "source_id": "1608462",
             "name": "Nam Som",
             "confidence": 0.957,
             "accuracy": "centroid",
             "country": "Thailand",
             "country_gid": "whosonfirst:country:85632293",
             "country_a": "THA",
             "region": "Udon Thani",
             "region_gid": "whosonfirst:region:85678869",
             "county": "Nam Som",
             "county_gid": "whosonfirst:county:1108731585",
             "locality": "Nam Som",
             "locality_gid": "geonames:locality:1608462",
             "label": "Nam Som, Thailand",
         },
     }
     geocode = Geocode()
     result = geocode.add_bbox(in_result)
     self.assertEqual(result, in_result)
Пример #2
0
def geocode(request):
    geocode = Geocode()
    if request.GET.get('search'):
        result = geocode.search(request.GET.get('search'))
        return HttpResponse(content=json.dumps(result), status=200, content_type="application/json")
    if request.GET.get('result'):
        result = geocode.add_bbox(json.loads(request.GET.get('result')))
        return HttpResponse(content=json.dumps(result), status=200, content_type="application/json")
    else:
        return HttpResponse(status=204, content_type="application/json")
Пример #3
0
def geocode(request):
    geocode = Geocode()
    if request.GET.get('search'):
        result = geocode.search(request.GET.get('search'))
        return HttpResponse(content=json.dumps(result), status=200, content_type="application/json")
    if request.GET.get('result'):
        result = geocode.add_bbox(json.loads(request.GET.get('result')))
        return HttpResponse(content=json.dumps(result), status=200, content_type="application/json")
    else:
        return HttpResponse(status=204, content_type="application/json")
Пример #4
0
    def test_pelias_add_bbox(self):
        in_result = {
            "type": "Feature",
            "geometry": {"type": "Point", "coordinates": [102.18947, 17.77036]},
            "properties": {"id": "1608462", "gid": "geonames:locality:1608462", "layer": "locality",
                "source": "geonames", "source_id": "1608462", "name": "Nam Som", "confidence": 0.957,
                "accuracy": "centroid", "country": "Thailand", "country_gid": "whosonfirst:country:85632293",
                "country_a": "THA", "region": "Udon Thani", "region_gid": "whosonfirst:region:85678869",
                "county": "Nam Som", "county_gid": "whosonfirst:county:1108731585", "locality": "Nam Som",
                "locality_gid": "geonames:locality:1608462", "label": "Nam Som, Thailand"
            }
        }

        api_response = {
            "geocoding": {
                "version": "0.2",
                "attribution": "/v1/attribution",
                "query": {
                    "ids": [{"source": "whosonfirst", "layer": "county", "id": "1108731585"}],
			        "private": False,
			        "lang": {"name": "English", "iso6391": "en", "iso6393": "eng", "defaulted": False}

                },
		        "engine": { "name": "Pelias", "author": "Mapzen", "version": "1.0" },
                "timestamp": 1510925466405
	        },
	        "type": "FeatureCollection",
	        "features": [
                { "type": "Feature", "geometry": {
				    "type": "Point",
				    "coordinates": [102.227634, 17.743244]
			    },
			    "properties": { "id": "1108731585", "gid": "whosonfirst:county:1108731585", "layer": "county",
                    "source": "whosonfirst", "source_id": "1108731585", "name": "Nam Som", "accuracy": "centroid",
                    "country": "Thailand", "country_gid": "whosonfirst:country:85632293", "country_a": "THA",
                    "region": "Udon Thani", "region_gid": "whosonfirst:region:85678869", "county": "Nam Som",
                    "county_gid": "whosonfirst:county:1108731585", "label": "Nam Som, Thailand"
			    },
			    "bbox": [102.020749821, 17.6291659858, 102.33623593, 17.8795015544]
		        }
	        ],
	        "bbox": [102.020749821, 17.6291659858, 102.33623593, 17.8795015544]
        }
        self.mock_requests.get(settings.GEOCODING_UPDATE_URL, text=json.dumps(api_response), status_code=200)
        expected_bbox = api_response.get('bbox')
        geocode = Geocode()
        result = geocode.add_bbox(in_result)
        self.assertEqual(result.get('type'), 'Feature')
        self.assertEqual(result.get('bbox'), expected_bbox)
        self.assertEqual(result.get('properties').get('bbox'), expected_bbox)
Пример #5
0
 def test_geonames_add_bbox(self):
     in_result = {
         "type": "Feature",
         "geometry": {"type": "Point", "coordinates": [102.18947, 17.77036]},
         "properties": {"id": "1608462", "gid": "geonames:locality:1608462", "layer": "locality",
                        "source": "geonames", "source_id": "1608462", "name": "Nam Som", "confidence": 0.957,
                        "accuracy": "centroid", "country": "Thailand", "country_gid": "whosonfirst:country:85632293",
                        "country_a": "THA", "region": "Udon Thani", "region_gid": "whosonfirst:region:85678869",
                        "county": "Nam Som", "county_gid": "whosonfirst:county:1108731585", "locality": "Nam Som",
                        "locality_gid": "geonames:locality:1608462", "label": "Nam Som, Thailand"
         }
     }
     geocode = Geocode()
     result = geocode.add_bbox(in_result)
     self.assertEqual(result, in_result)
Пример #6
0
    def test_pelias_add_bbox(self, get_cert_info, mock_get_session):
        mock_get_session.return_value = self.session
        get_cert_info.return_value = None
        in_result = {
            "type": "Feature",
            "geometry": {"type": "Point", "coordinates": [102.18947, 17.77036]},
            "properties": {
                "id": "1608462",
                "gid": "geonames:locality:1608462",
                "layer": "locality",
                "source": "geonames",
                "source_id": "1608462",
                "name": "Nam Som",
                "confidence": 0.957,
                "accuracy": "centroid",
                "country": "Thailand",
                "country_gid": "whosonfirst:country:85632293",
                "country_a": "THA",
                "region": "Udon Thani",
                "region_gid": "whosonfirst:region:85678869",
                "county": "Nam Som",
                "county_gid": "whosonfirst:county:1108731585",
                "locality": "Nam Som",
                "locality_gid": "geonames:locality:1608462",
                "label": "Nam Som, Thailand",
            },
        }

        api_response = {
            "geocoding": {
                "version": "0.2",
                "attribution": "/v1/attribution",
                "query": {
                    "ids": [{"source": "whosonfirst", "layer": "county", "id": "1108731585"}],
                    "private": False,
                    "lang": {"name": "English", "iso6391": "en", "iso6393": "eng", "defaulted": False},
                },
                "engine": {"name": "Pelias", "author": "Mapzen", "version": "1.0"},
                "timestamp": 1510925466405,
            },
            "type": "FeatureCollection",
            "features": [
                {
                    "type": "Feature",
                    "geometry": {"type": "Point", "coordinates": [102.227634, 17.743244]},
                    "properties": {
                        "id": "1108731585",
                        "gid": "whosonfirst:county:1108731585",
                        "layer": "county",
                        "source": "whosonfirst",
                        "source_id": "1108731585",
                        "name": "Nam Som",
                        "accuracy": "centroid",
                        "country": "Thailand",
                        "country_gid": "whosonfirst:country:85632293",
                        "country_a": "THA",
                        "region": "Udon Thani",
                        "region_gid": "whosonfirst:region:85678869",
                        "county": "Nam Som",
                        "county_gid": "whosonfirst:county:1108731585",
                        "label": "Nam Som, Thailand",
                    },
                    "bbox": [102.020749821, 17.6291659858, 102.33623593, 17.8795015544],
                }
            ],
            "bbox": [102.020749821, 17.6291659858, 102.33623593, 17.8795015544],
        }
        self.adapter.register_uri("GET", settings.GEOCODING_UPDATE_URL, text=json.dumps(api_response), status_code=200)
        expected_bbox = api_response.get("bbox")
        geocode = Geocode()
        result = geocode.add_bbox(in_result)
        self.assertEqual(result.get("type"), "Feature")
        self.assertEqual(result.get("bbox"), expected_bbox)
        self.assertEqual(result.get("properties").get("bbox"), expected_bbox)