const TABLE_PLACEX = 0;
const TABLE_POSTCODE = 1;
const TABLE_OSMLINE = 2;
- const TABLE_AUX = 3;
- const TABLE_TIGER = 4;
+ const TABLE_TIGER = 3;
/// Database table that contains the result.
public $iTable;
public $iExactMatches = 0;
/// Subranking within the results (the higher the worse).
public $iResultRank = 0;
+ /// Address rank of the result.
+ public $iAddressRank;
public function debugInfo()
{
}
)));
}
+
+ public static function joinIdsByTableMinRank($aResults, $iTable, $iMinAddressRank)
+ {
+ return join(',', array_keys(array_filter(
+ $aResults,
+ function ($aValue) use ($iTable, $iMinAddressRank) {
+ return $aValue->iTable == $iTable && $aValue->iAddressRank >= $iMinAddressRank;
+ }
+ )));
+ }
+
+ public static function joinIdsByTableMaxRank($aResults, $iTable, $iMaxAddressRank)
+ {
+ return join(',', array_keys(array_filter(
+ $aResults,
+ function ($aValue) use ($iTable, $iMaxAddressRank) {
+ return $aValue->iTable == $iTable && $aValue->iAddressRank <= $iMaxAddressRank;
+ }
+ )));
+ }
+
public static function sqlHouseNumberTable($aResults, $iTable)
{
$sHousenumbers = '';
foreach ($aResults as $oRes) {
if ($oRes->iResultRank < $iMinRank) {
- $aTail = array_merge($aTail, $aHead);
+ $aTail += $aHead;
$aHead = array($oRes->iId => $oRes);
$iMinRank = $oRes->iResultRank;
} elseif ($oRes->iResultRank == $iMinRank) {