X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/db3ced17bbfff00411f506d8c84419c875959d5e..474418f03cf3a1dcb742a526a455f7721d5d0af6:/lib-php/lib.php diff --git a/lib-php/lib.php b/lib-php/lib.php index a02fefd0..9babe5ed 100644 --- a/lib-php/lib.php +++ b/lib-php/lib.php @@ -1,4 +1,12 @@ $b['importance']?-1:1); + } return $a['foundorder'] <=> $b['foundorder']; } @@ -131,24 +130,6 @@ function addQuotes($s) return "'".$s."'"; } -function fwriteConstDef($rFile, $sConstName, $value) -{ - $sEscapedValue; - - if (is_bool($value)) { - $sEscapedValue = $value ? 'true' : 'false'; - } elseif (is_numeric($value)) { - $sEscapedValue = strval($value); - } elseif (!$value) { - $sEscapedValue = 'false'; - } else { - $sEscapedValue = addQuotes(str_replace("'", "\\'", (string)$value)); - } - - fwrite($rFile, "@define('CONST_$sConstName', $sEscapedValue);\n"); -} - - function parseLatLon($sQuery) { $sFound = null; @@ -225,55 +206,11 @@ function parseLatLon($sQuery) return array($sFound, $fQueryLat, $fQueryLon); } -function createPointsAroundCenter($fLon, $fLat, $fRadius) -{ - $iSteps = max(8, min(100, ($fRadius * 40000)^2)); - $fStepSize = (2*pi())/$iSteps; - $aPolyPoints = array(); - for ($f = 0; $f < 2*pi(); $f += $fStepSize) { - $aPolyPoints[] = array('', $fLon+($fRadius*sin($f)), $fLat+($fRadius*cos($f)) ); - } - return $aPolyPoints; -} - -function closestHouseNumber($aRow) -{ - $fHouse = $aRow['startnumber'] - + ($aRow['endnumber'] - $aRow['startnumber']) * $aRow['fraction']; - - switch ($aRow['interpolationtype']) { - case 'odd': - $iHn = (int)($fHouse/2) * 2 + 1; - break; - case 'even': - $iHn = (int)(round($fHouse/2)) * 2; - break; - default: - $iHn = (int)(round($fHouse)); - break; +if (!function_exists('array_key_last')) { + function array_key_last(array $array) + { + if (!empty($array)) { + return key(array_slice($array, -1, 1, true)); + } } - - 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; }