mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
moved bIncludePolygonAsPoints related logic into lib.php, added tests
This commit is contained in:
@@ -143,6 +143,68 @@ class NominatimTest extends \PHPUnit_Framework_TestCase
|
|||||||
count( getWordSets(array_fill( 0, 18, 'a'),0) )
|
count( getWordSets(array_fill( 0, 18, 'a'),0) )
|
||||||
);
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function test_geometryText2Points()
|
||||||
|
{
|
||||||
|
$fRadius = 1;
|
||||||
|
|
||||||
|
// invalid value
|
||||||
|
$this->assertEquals(
|
||||||
|
NULL,
|
||||||
|
geometryText2Points('', $fRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// POINT
|
||||||
|
$aPoints = geometryText2Points('POINT(10 20)', $fRadius);
|
||||||
|
$this->assertEquals(
|
||||||
|
101,
|
||||||
|
count($aPoints)
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
|
||||||
|
array(
|
||||||
|
['', 10, 21],
|
||||||
|
['', 10.062790519529, 20.998026728428],
|
||||||
|
['', 10.125333233564, 20.992114701314]
|
||||||
|
),
|
||||||
|
array_splice($aPoints, 0,3)
|
||||||
|
);
|
||||||
|
|
||||||
|
// POLYGON
|
||||||
|
$this->assertEquals(
|
||||||
|
array(
|
||||||
|
['30 10', '30', '10'],
|
||||||
|
['40 40', '40', '40'],
|
||||||
|
['20 40', '20', '40'],
|
||||||
|
['10 20', '10', '20'],
|
||||||
|
['30 10', '30', '10']
|
||||||
|
),
|
||||||
|
geometryText2Points('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))', $fRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
// MULTIPOLYGON
|
||||||
|
// only the first polygon is used
|
||||||
|
$this->assertEquals(
|
||||||
|
array(
|
||||||
|
['30 20', '30', '20'],
|
||||||
|
['45 40', '45', '40'],
|
||||||
|
['10 40', '10', '40'],
|
||||||
|
['30 20', '30', '20'],
|
||||||
|
|
||||||
|
// ['15 5' , '15', '5' ],
|
||||||
|
// ['45 10', '45', '10'],
|
||||||
|
// ['10 20', '10', '20'],
|
||||||
|
// ['5 10' , '5' , '10'],
|
||||||
|
// ['15 5' , '15', '5' ]
|
||||||
|
),
|
||||||
|
geometryText2Points('MULTIPOLYGON(((30 20, 45 40, 10 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))', $fRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user