forked from hans/Nominatim
Reverse geocode include geometry - added bounding box tests
This commit is contained in:
@@ -1647,10 +1647,7 @@
|
||||
$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
|
||||
|
||||
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
|
||||
foreach($aOutlineResult as $k => $v)
|
||||
{
|
||||
$aResult[$k] = $v;
|
||||
}
|
||||
$aResult = array_merge($aResult, $aOutlineResult);
|
||||
|
||||
if ($aResult['extra_place'] == 'city')
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
if (isset($aPointDetails['aBoundingBox']))
|
||||
{
|
||||
$aPlace['boundingbox'] = $aPointDetails['aBoundingBox'][0];
|
||||
$aPlace['boundingbox'] = $aPointDetails['aBoundingBox'];
|
||||
|
||||
if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
|
||||
{
|
||||
|
||||
@@ -11,6 +11,15 @@ Feature: Reverse geocoding
|
||||
| ID | country
|
||||
| 0 | Deutschland
|
||||
|
||||
|
||||
Scenario: Boundingbox is returned
|
||||
Given the request parameters
|
||||
| format | zoom
|
||||
| xml | 4
|
||||
When looking up coordinates 53.9788769,13.0830313
|
||||
And results contain valid boundingboxes
|
||||
|
||||
|
||||
@Tiger
|
||||
Scenario: TIGER house number
|
||||
Given the request parameters
|
||||
|
||||
@@ -8,6 +8,7 @@ Feature: Search queries
|
||||
And result 0 has attributes lat,lon,display_name
|
||||
And result 0 has attributes class,type,importance,icon
|
||||
And result 0 has not attributes address
|
||||
And results contain valid boundingboxes
|
||||
|
||||
Scenario: Simple JSON search
|
||||
When sending json search query "Vaduz"
|
||||
@@ -15,6 +16,7 @@ Feature: Search queries
|
||||
And result 0 has attributes osm_type,osm_id,boundingbox
|
||||
And result 0 has attributes lat,lon,display_name,importance
|
||||
And result 0 has not attributes address
|
||||
And results contain valid boundingboxes
|
||||
|
||||
Scenario: JSON search with addressdetails
|
||||
When sending json search query "Montevideo" with address
|
||||
|
||||
@@ -211,6 +211,15 @@ def api_result_contains(step):
|
||||
m = re.match("%s$" % (v,), curres[k])
|
||||
assert_is_not_none(m, msg="field %s does not match: %s$ != %s." % (k, v, curres[k]))
|
||||
|
||||
@step(u'results contain valid boundingboxes$')
|
||||
def api_result_address_contains(step):
|
||||
step.given('the result is valid')
|
||||
for curres in world.results:
|
||||
bb = curres['boundingbox']
|
||||
if world.response_format == 'json':
|
||||
bb = ','.join(bb)
|
||||
m = re.match('^(-?\d+\.\d+),(-?\d+\.\d+),(-?\d+\.\d+),(-?\d+\.\d+)$', bb)
|
||||
assert_is_not_none(m, msg="invalid boundingbox: %s." % (curres['boundingbox']))
|
||||
|
||||
@step(u'result addresses contain$')
|
||||
def api_result_address_contains(step):
|
||||
|
||||
@@ -104,11 +104,7 @@
|
||||
$fRadius = $fDiameter = getResultDiameter($aPlace);
|
||||
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'],$aPlace['lon'],$aPlace['lat'],$fRadius);
|
||||
|
||||
foreach($aOutlineResult as $k => $v)
|
||||
{
|
||||
$aPlace[$k] = $v;
|
||||
}
|
||||
|
||||
$aPlace = array_merge($aPlace, $aOutlineResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user