X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/320d488627b1a5674458cbef644c6731882b2a23..d53af96aa49dfe74d4c54d375fbc6dce111faae1:/lib/lib.php?ds=inline diff --git a/lib/lib.php b/lib/lib.php index 39bc90d7..759c71d7 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -1,12 +1,10 @@ getAll($sSQL)); - if ($bRaw) return $aAddressLines; - //echo "
"; - //var_dump($aAddressLines); - $aAddress = array(); - $aFallback = array(); - foreach ($aAddressLines as $aLine) { - $bFallback = false; - $aTypeLabel = Nominatim\ClassTypes\getInfo($aLine); - - if ($aTypeLabel === false) { - $aTypeLabel = Nominatim\ClassTypes\getFallbackInfo($aLine); - $bFallback = true; - } - - if ((isset($aLine['localname']) && $aLine['localname']) || (isset($aLine['housenumber']) && $aLine['housenumber'])) { - $sTypeLabel = strtolower(isset($aTypeLabel['simplelabel'])?$aTypeLabel['simplelabel']:$aTypeLabel['label']); - $sTypeLabel = str_replace(' ', '_', $sTypeLabel); - if (!isset($aAddress[$sTypeLabel]) || (isset($aFallback[$sTypeLabel]) && $aFallback[$sTypeLabel]) || $aLine['class'] == 'place') { - $aAddress[$sTypeLabel] = $aLine['localname']?$aLine['localname']:$aLine['housenumber']; - } - $aFallback[$sTypeLabel] = $bFallback; - } } - return $aAddress; } - function addQuotes($s) { return "'".$s."'"; @@ -262,3 +228,25 @@ function closestHouseNumber($aRow) return max(min($aRow['endnumber'], $iHn), $aRow['startnumber']); } + +function getSearchRankLabel($iRank) +{ + if (!isset($iRank)) return 'unknown'; + if ($iRank < 2) return 'continent'; + if ($iRank < 4) return 'sea'; + if ($iRank < 8) return 'country'; + if ($iRank < 12) return 'state'; + if ($iRank < 16) return 'county'; + if ($iRank == 16) return 'city'; + if ($iRank == 17) return 'town / island'; + if ($iRank == 18) return 'village / hamlet'; + if ($iRank == 20) return 'suburb'; + if ($iRank == 21) return 'postcode area'; + if ($iRank == 22) return 'croft / farm / locality / islet'; + if ($iRank == 23) return 'postcode area'; + if ($iRank == 25) return 'postcode point'; + if ($iRank == 26) return 'street / major landmark'; + if ($iRank == 27) return 'minory street / path'; + if ($iRank == 28) return 'house / building'; + return 'other: ' . $iRank; +}