mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-11 13:24:07 +00:00
Reverse geocode include geometry - added bounding box tests
This commit is contained in:
@@ -1647,10 +1647,7 @@
|
|||||||
$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
|
$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
|
||||||
|
|
||||||
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
|
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
|
||||||
foreach($aOutlineResult as $k => $v)
|
$aResult = array_merge($aResult, $aOutlineResult);
|
||||||
{
|
|
||||||
$aResult[$k] = $v;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($aResult['extra_place'] == 'city')
|
if ($aResult['extra_place'] == 'city')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
if (isset($aPointDetails['aBoundingBox']))
|
if (isset($aPointDetails['aBoundingBox']))
|
||||||
{
|
{
|
||||||
$aPlace['boundingbox'] = $aPointDetails['aBoundingBox'][0];
|
$aPlace['boundingbox'] = $aPointDetails['aBoundingBox'];
|
||||||
|
|
||||||
if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
|
if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,6 +11,15 @@ Feature: Reverse geocoding
|
|||||||
| ID | country
|
| ID | country
|
||||||
| 0 | Deutschland
|
| 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
|
@Tiger
|
||||||
Scenario: TIGER house number
|
Scenario: TIGER house number
|
||||||
Given the request parameters
|
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 lat,lon,display_name
|
||||||
And result 0 has attributes class,type,importance,icon
|
And result 0 has attributes class,type,importance,icon
|
||||||
And result 0 has not attributes address
|
And result 0 has not attributes address
|
||||||
|
And results contain valid boundingboxes
|
||||||
|
|
||||||
Scenario: Simple JSON search
|
Scenario: Simple JSON search
|
||||||
When sending json search query "Vaduz"
|
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 osm_type,osm_id,boundingbox
|
||||||
And result 0 has attributes lat,lon,display_name,importance
|
And result 0 has attributes lat,lon,display_name,importance
|
||||||
And result 0 has not attributes address
|
And result 0 has not attributes address
|
||||||
|
And results contain valid boundingboxes
|
||||||
|
|
||||||
Scenario: JSON search with addressdetails
|
Scenario: JSON search with addressdetails
|
||||||
When sending json search query "Montevideo" with address
|
When sending json search query "Montevideo" with address
|
||||||
|
|||||||
@@ -211,6 +211,15 @@ def api_result_contains(step):
|
|||||||
m = re.match("%s$" % (v,), curres[k])
|
m = re.match("%s$" % (v,), curres[k])
|
||||||
assert_is_not_none(m, msg="field %s does not match: %s$ != %s." % (k, 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$')
|
@step(u'result addresses contain$')
|
||||||
def api_result_address_contains(step):
|
def api_result_address_contains(step):
|
||||||
|
|||||||
@@ -104,11 +104,7 @@
|
|||||||
$fRadius = $fDiameter = getResultDiameter($aPlace);
|
$fRadius = $fDiameter = getResultDiameter($aPlace);
|
||||||
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'],$aPlace['lon'],$aPlace['lat'],$fRadius);
|
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'],$aPlace['lon'],$aPlace['lat'],$fRadius);
|
||||||
|
|
||||||
foreach($aOutlineResult as $k => $v)
|
$aPlace = array_merge($aPlace, $aOutlineResult);
|
||||||
{
|
|
||||||
$aPlace[$k] = $v;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user