move Search dump function into SearchDescription class

This commit is contained in:
Sarah Hoffmann 2017-10-08 16:03:30 +02:00
parent 75e35f3832
commit fd08d41962
2 changed files with 53 additions and 54 deletions

View File

@ -19,6 +19,27 @@ abstract class Operator
const NAME = 4;
/// Search for postcodes.
const POSTCODE = 5;
private $aConstantNames = null;
public static function toString($iOperator)
{
if ($iOperator == Operator::NONE) {
return '';
}
if ($aConstantNames === null) {
$oReflector = new \ReflectionClass ('Nominatim\Operator');
$aConstants = $oReflector->getConstants();
$aConstantNames = array();
foreach ($aConstants as $sName => $iValue) {
$aConstantNames[$iValue] = $sName;
}
}
return $aConstantNames[$iOperator];
}
}
/**
@ -884,4 +905,33 @@ class SearchDescription
return $a->iSearchRank < $b->iSearchRank ? -1 : 1;
}
//////////// Debugging functions
function dumpAsHtmlTableRow(&$aWordIDs)
{
$kf = function($k) use (&$aWordIDs) { return $aWordIDs[$k]; };
echo "<tr>";
echo "<td>$this->iSearchRank</td>";
echo "<td>".join(', ', array_map($kf, $this->aName))."</td>";
echo "<td>".join(', ', array_map($kf, $this->aNameNonSearch))."</td>";
echo "<td>".join(', ', array_map($kf, $this->aAddress))."</td>";
echo "<td>".join(', ', array_map($kf, $this->aAddressNonSearch))."</td>";
echo "<td>".$this->sCountryCode."</td>";
echo "<td>".Operator::toString($this->iOperator)."</td>";
echo "<td>".$this->sClass."</td>";
echo "<td>".$this->sType."</td>";
echo "<td>".$this->sPostcode."</td>";
echo "<td>".$this->sHouseNumber."</td>";
if ($this->oNearPoint) {
echo "<td>".$this->oNearPoint->lat()."</td>";
echo "<td>".$this->oNearPoint->lon()."</td>";
echo "<td>".$this->oNearPoint->radius()."</td>";
} else {
echo "<td></td><td></td><td></td>";
}
echo "</tr>";
}
};

View File

@ -481,7 +481,8 @@ function _debugDumpGroupedSearches($aData, $aTokens)
foreach ($aTokens as $sToken => $aWords) {
if ($aWords) {
foreach ($aWords as $aToken) {
$aWordsIDs[$aToken['word_id']] = $sToken.'('.$aToken['word_id'].')';
$aWordsIDs[$aToken['word_id']] =
'#'.$sToken.'('.$aToken['word_id'].')#';
}
}
}
@ -493,59 +494,7 @@ function _debugDumpGroupedSearches($aData, $aTokens)
echo "<th>Lat</th><th>Lon</th><th>Radius</th></tr>";
foreach ($aData as $iRank => $aRankedSet) {
foreach ($aRankedSet as $aRow) {
echo "<tr>";
echo "<td>$iRank</td>";
echo "<td>";
$sSep = '';
foreach ($aRow['aName'] as $iWordID) {
echo $sSep.'#'.$aWordsIDs[$iWordID].'#';
$sSep = ', ';
}
echo "</td>";
echo "<td>";
$sSep = '';
foreach ($aRow['aNameNonSearch'] as $iWordID) {
echo $sSep.'#'.$aWordsIDs[$iWordID].'#';
$sSep = ', ';
}
echo "</td>";
echo "<td>";
$sSep = '';
foreach ($aRow['aAddress'] as $iWordID) {
echo $sSep.'#'.$aWordsIDs[$iWordID].'#';
$sSep = ', ';
}
echo "</td>";
echo "<td>";
$sSep = '';
foreach ($aRow['aAddressNonSearch'] as $iWordID) {
echo $sSep.'#'.$aWordsIDs[$iWordID].'#';
$sSep = ', ';
}
echo "</td>";
echo "<td>".$aRow['sCountryCode']."</td>";
echo "<td>".$aRow['sOperator']."</td>";
echo "<td>".$aRow['sClass']."</td>";
echo "<td>".$aRow['sType']."</td>";
echo "<td>".$aRow['sPostcode']."</td>";
echo "<td>".$aRow['sHouseNumber']."</td>";
if ($aRow['oNear']) {
echo "<td>".$aRow['oNear']->lat()."</td>";
echo "<td>".$aRow['oNear']->lon()."</td>";
echo "<td>".$aRow['oNear']->radius()."</td>";
} else {
echo "<td></td><td></td><td></td>";
}
echo "</tr>";
$aRow->dumpAsHtmlTableRow($aWordsIDs);
}
}
echo "</table>";