mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
Merge pull request #532 from mtmail/PSR2-namespaces
add namespaces, method visibility according to PSR2 standard
This commit is contained in:
@@ -1,4 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace Nominatim;
|
||||||
|
|
||||||
require_once(CONST_BasePath.'/lib/PlaceLookup.php');
|
require_once(CONST_BasePath.'/lib/PlaceLookup.php');
|
||||||
require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
|
require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
|
||||||
|
|
||||||
@@ -49,67 +52,67 @@ class Geocode
|
|||||||
protected $aStructuredQuery = false;
|
protected $aStructuredQuery = false;
|
||||||
|
|
||||||
|
|
||||||
function Geocode(&$oDB)
|
public function __construct(&$oDB)
|
||||||
{
|
{
|
||||||
$this->oDB =& $oDB;
|
$this->oDB =& $oDB;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setReverseInPlan($bReverse)
|
public function setReverseInPlan($bReverse)
|
||||||
{
|
{
|
||||||
$this->bReverseInPlan = $bReverse;
|
$this->bReverseInPlan = $bReverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLanguagePreference($aLangPref)
|
public function setLanguagePreference($aLangPref)
|
||||||
{
|
{
|
||||||
$this->aLangPrefOrder = $aLangPref;
|
$this->aLangPrefOrder = $aLangPref;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIncludeAddressDetails()
|
public function getIncludeAddressDetails()
|
||||||
{
|
{
|
||||||
return $this->bIncludeAddressDetails;
|
return $this->bIncludeAddressDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIncludeExtraTags()
|
public function getIncludeExtraTags()
|
||||||
{
|
{
|
||||||
return $this->bIncludeExtraTags;
|
return $this->bIncludeExtraTags;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIncludeNameDetails()
|
public function getIncludeNameDetails()
|
||||||
{
|
{
|
||||||
return $this->bIncludeNameDetails;
|
return $this->bIncludeNameDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsPoints($b = true)
|
public function setIncludePolygonAsPoints($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsPoints = $b;
|
$this->bIncludePolygonAsPoints = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsText($b = true)
|
public function setIncludePolygonAsText($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsText = $b;
|
$this->bIncludePolygonAsText = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsGeoJSON($b = true)
|
public function setIncludePolygonAsGeoJSON($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsGeoJSON = $b;
|
$this->bIncludePolygonAsGeoJSON = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsKML($b = true)
|
public function setIncludePolygonAsKML($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsKML = $b;
|
$this->bIncludePolygonAsKML = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsSVG($b = true)
|
public function setIncludePolygonAsSVG($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsSVG = $b;
|
$this->bIncludePolygonAsSVG = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPolygonSimplificationThreshold($f)
|
public function setPolygonSimplificationThreshold($f)
|
||||||
{
|
{
|
||||||
$this->fPolygonSimplificationThreshold = $f;
|
$this->fPolygonSimplificationThreshold = $f;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLimit($iLimit = 10)
|
public function setLimit($iLimit = 10)
|
||||||
{
|
{
|
||||||
if ($iLimit > 50) $iLimit = 50;
|
if ($iLimit > 50) $iLimit = 50;
|
||||||
if ($iLimit < 1) $iLimit = 1;
|
if ($iLimit < 1) $iLimit = 1;
|
||||||
@@ -118,18 +121,18 @@ class Geocode
|
|||||||
$this->iLimit = $iLimit + min($iLimit, 10);
|
$this->iLimit = $iLimit + min($iLimit, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getExcludedPlaceIDs()
|
public function getExcludedPlaceIDs()
|
||||||
{
|
{
|
||||||
return $this->aExcludePlaceIDs;
|
return $this->aExcludePlaceIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getViewBoxString()
|
public function getViewBoxString()
|
||||||
{
|
{
|
||||||
if (!$this->aViewBox) return null;
|
if (!$this->aViewBox) return null;
|
||||||
return $this->aViewBox[0].','.$this->aViewBox[3].','.$this->aViewBox[2].','.$this->aViewBox[1];
|
return $this->aViewBox[0].','.$this->aViewBox[3].','.$this->aViewBox[2].','.$this->aViewBox[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
function setFeatureType($sFeatureType)
|
public function setFeatureType($sFeatureType)
|
||||||
{
|
{
|
||||||
switch ($sFeatureType) {
|
switch ($sFeatureType) {
|
||||||
case 'country':
|
case 'country':
|
||||||
@@ -147,13 +150,13 @@ class Geocode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRankRange($iMin, $iMax)
|
public function setRankRange($iMin, $iMax)
|
||||||
{
|
{
|
||||||
$this->iMinAddressRank = $iMin;
|
$this->iMinAddressRank = $iMin;
|
||||||
$this->iMaxAddressRank = $iMax;
|
$this->iMaxAddressRank = $iMax;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRoute($aRoutePoints, $fRouteWidth)
|
public function setRoute($aRoutePoints, $fRouteWidth)
|
||||||
{
|
{
|
||||||
$this->aViewBox = false;
|
$this->aViewBox = false;
|
||||||
|
|
||||||
@@ -173,7 +176,7 @@ class Geocode
|
|||||||
$this->sViewboxLargeSQL .= ','.($fRouteWidth/30).')';
|
$this->sViewboxLargeSQL .= ','.($fRouteWidth/30).')';
|
||||||
}
|
}
|
||||||
|
|
||||||
function setViewbox($aViewbox)
|
public function setViewbox($aViewbox)
|
||||||
{
|
{
|
||||||
$this->aViewBox = array_map('floatval', $aViewbox);
|
$this->aViewBox = array_map('floatval', $aViewbox);
|
||||||
|
|
||||||
@@ -189,24 +192,24 @@ class Geocode
|
|||||||
$this->sViewboxLargeSQL = "ST_SetSRID(ST_MakeBox2D(ST_Point(".$aBigViewBox[0].",".$aBigViewBox[1]."),ST_Point(".$aBigViewBox[2].",".$aBigViewBox[3].")),4326)";
|
$this->sViewboxLargeSQL = "ST_SetSRID(ST_MakeBox2D(ST_Point(".$aBigViewBox[0].",".$aBigViewBox[1]."),ST_Point(".$aBigViewBox[2].",".$aBigViewBox[3].")),4326)";
|
||||||
}
|
}
|
||||||
|
|
||||||
function setNearPoint($aNearPoint, $fRadiusDeg = 0.1)
|
public function setNearPoint($aNearPoint, $fRadiusDeg = 0.1)
|
||||||
{
|
{
|
||||||
$this->aNearPoint = array((float)$aNearPoint[0], (float)$aNearPoint[1], (float)$fRadiusDeg);
|
$this->aNearPoint = array((float)$aNearPoint[0], (float)$aNearPoint[1], (float)$fRadiusDeg);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setQuery($sQueryString)
|
public function setQuery($sQueryString)
|
||||||
{
|
{
|
||||||
$this->sQuery = $sQueryString;
|
$this->sQuery = $sQueryString;
|
||||||
$this->aStructuredQuery = false;
|
$this->aStructuredQuery = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getQueryString()
|
public function getQueryString()
|
||||||
{
|
{
|
||||||
return $this->sQuery;
|
return $this->sQuery;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function loadParamArray($oParams)
|
public function loadParamArray($oParams)
|
||||||
{
|
{
|
||||||
$this->bIncludeAddressDetails
|
$this->bIncludeAddressDetails
|
||||||
= $oParams->getBool('addressdetails', $this->bIncludeAddressDetails);
|
= $oParams->getBool('addressdetails', $this->bIncludeAddressDetails);
|
||||||
@@ -275,7 +278,7 @@ class Geocode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setQueryFromParams($oParams)
|
public function setQueryFromParams($oParams)
|
||||||
{
|
{
|
||||||
// Search query
|
// Search query
|
||||||
$sQuery = $oParams->getString('q');
|
$sQuery = $oParams->getString('q');
|
||||||
@@ -295,7 +298,7 @@ class Geocode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadStructuredAddressElement($sValue, $sKey, $iNewMinAddressRank, $iNewMaxAddressRank, $aItemListValues)
|
public function loadStructuredAddressElement($sValue, $sKey, $iNewMinAddressRank, $iNewMaxAddressRank, $aItemListValues)
|
||||||
{
|
{
|
||||||
$sValue = trim($sValue);
|
$sValue = trim($sValue);
|
||||||
if (!$sValue) return false;
|
if (!$sValue) return false;
|
||||||
@@ -308,7 +311,7 @@ class Geocode
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setStructuredQuery($sAmentiy = false, $sStreet = false, $sCity = false, $sCounty = false, $sState = false, $sCountry = false, $sPostalCode = false)
|
public function setStructuredQuery($sAmentiy = false, $sStreet = false, $sCity = false, $sCounty = false, $sState = false, $sCountry = false, $sPostalCode = false)
|
||||||
{
|
{
|
||||||
$this->sQuery = false;
|
$this->sQuery = false;
|
||||||
|
|
||||||
@@ -336,7 +339,7 @@ class Geocode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fallbackStructuredQuery()
|
public function fallbackStructuredQuery()
|
||||||
{
|
{
|
||||||
if (!$this->aStructuredQuery) return false;
|
if (!$this->aStructuredQuery) return false;
|
||||||
|
|
||||||
@@ -357,7 +360,7 @@ class Geocode
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDetails($aPlaceIDs)
|
public function getDetails($aPlaceIDs)
|
||||||
{
|
{
|
||||||
//$aPlaceIDs is an array with key: placeID and value: tiger-housenumber, if found, else -1
|
//$aPlaceIDs is an array with key: placeID and value: tiger-housenumber, if found, else -1
|
||||||
if (sizeof($aPlaceIDs) == 0) return array();
|
if (sizeof($aPlaceIDs) == 0) return array();
|
||||||
@@ -488,7 +491,7 @@ class Geocode
|
|||||||
return $aSearchResults;
|
return $aSearchResults;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getGroupedSearches($aSearches, $aPhraseTypes, $aPhrases, $aValidTokens, $aWordFrequencyScores, $bStructuredPhrases)
|
public function getGroupedSearches($aSearches, $aPhraseTypes, $aPhrases, $aValidTokens, $aWordFrequencyScores, $bStructuredPhrases)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Calculate all searches using aValidTokens i.e.
|
Calculate all searches using aValidTokens i.e.
|
||||||
@@ -742,7 +745,7 @@ class Geocode
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
function lookup()
|
public function lookup()
|
||||||
{
|
{
|
||||||
if (!$this->sQuery && !$this->aStructuredQuery) return false;
|
if (!$this->sQuery && !$this->aStructuredQuery) return false;
|
||||||
|
|
||||||
@@ -1464,7 +1467,7 @@ class Geocode
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Just interpret as a reverse geocode
|
// Just interpret as a reverse geocode
|
||||||
$oReverse = new ReverseGeocode($this->oDB);
|
$oReverse = new Nominatim\ReverseGeocode($this->oDB);
|
||||||
$oReverse->setZoom(18);
|
$oReverse->setZoom(18);
|
||||||
|
|
||||||
$aLookup = $oReverse->lookup(
|
$aLookup = $oReverse->lookup(
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace Nominatim;
|
||||||
|
|
||||||
class ParameterParser
|
class ParameterParser
|
||||||
{
|
{
|
||||||
private $aParams;
|
private $aParams;
|
||||||
|
|
||||||
|
|
||||||
function __construct($aParams = null)
|
public function __construct($aParams = null)
|
||||||
{
|
{
|
||||||
$this->aParams = ($aParams === null) ? $_GET : $aParams;
|
$this->aParams = ($aParams === null) ? $_GET : $aParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getBool($sName, $bDefault = false)
|
public function getBool($sName, $bDefault = false)
|
||||||
{
|
{
|
||||||
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
||||||
return $bDefault;
|
return $bDefault;
|
||||||
@@ -19,7 +21,7 @@ class ParameterParser
|
|||||||
return (bool) $this->aParams[$sName];
|
return (bool) $this->aParams[$sName];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getInt($sName, $bDefault = false)
|
public function getInt($sName, $bDefault = false)
|
||||||
{
|
{
|
||||||
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
||||||
return $bDefault;
|
return $bDefault;
|
||||||
@@ -32,7 +34,7 @@ class ParameterParser
|
|||||||
return (int) $this->aParams[$sName];
|
return (int) $this->aParams[$sName];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFloat($sName, $bDefault = false)
|
public function getFloat($sName, $bDefault = false)
|
||||||
{
|
{
|
||||||
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
||||||
return $bDefault;
|
return $bDefault;
|
||||||
@@ -45,7 +47,7 @@ class ParameterParser
|
|||||||
return (float) $this->aParams[$sName];
|
return (float) $this->aParams[$sName];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getString($sName, $bDefault = false)
|
public function getString($sName, $bDefault = false)
|
||||||
{
|
{
|
||||||
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
||||||
return $bDefault;
|
return $bDefault;
|
||||||
@@ -54,7 +56,7 @@ class ParameterParser
|
|||||||
return $this->aParams[$sName];
|
return $this->aParams[$sName];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSet($sName, $aValues, $sDefault = false)
|
public function getSet($sName, $aValues, $sDefault = false)
|
||||||
{
|
{
|
||||||
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
if (!isset($this->aParams[$sName]) || strlen($this->aParams[$sName]) == 0) {
|
||||||
return $sDefault;
|
return $sDefault;
|
||||||
@@ -67,7 +69,7 @@ class ParameterParser
|
|||||||
return $this->aParams[$sName];
|
return $this->aParams[$sName];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getStringList($sName, $aDefault = false)
|
public function getStringList($sName, $aDefault = false)
|
||||||
{
|
{
|
||||||
$sValue = $this->getString($sName);
|
$sValue = $this->getString($sName);
|
||||||
|
|
||||||
@@ -78,7 +80,7 @@ class ParameterParser
|
|||||||
return $aDefault;
|
return $aDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPreferredLanguages($sFallback = null)
|
public function getPreferredLanguages($sFallback = null)
|
||||||
{
|
{
|
||||||
if ($sFallback === null && isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
|
if ($sFallback === null && isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
|
||||||
$sFallback = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
|
$sFallback = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace Nominatim;
|
||||||
|
|
||||||
class PlaceLookup
|
class PlaceLookup
|
||||||
{
|
{
|
||||||
protected $oDB;
|
protected $oDB;
|
||||||
@@ -18,73 +20,73 @@ class PlaceLookup
|
|||||||
protected $fPolygonSimplificationThreshold = 0.0;
|
protected $fPolygonSimplificationThreshold = 0.0;
|
||||||
|
|
||||||
|
|
||||||
function PlaceLookup(&$oDB)
|
public function __construct(&$oDB)
|
||||||
{
|
{
|
||||||
$this->oDB =& $oDB;
|
$this->oDB =& $oDB;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLanguagePreference($aLangPrefOrder)
|
public function setLanguagePreference($aLangPrefOrder)
|
||||||
{
|
{
|
||||||
$this->aLangPrefOrder = $aLangPrefOrder;
|
$this->aLangPrefOrder = $aLangPrefOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludeAddressDetails($bAddressDetails = true)
|
public function setIncludeAddressDetails($bAddressDetails = true)
|
||||||
{
|
{
|
||||||
$this->bAddressDetails = $bAddressDetails;
|
$this->bAddressDetails = $bAddressDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludeExtraTags($bExtraTags = false)
|
public function setIncludeExtraTags($bExtraTags = false)
|
||||||
{
|
{
|
||||||
$this->bExtraTags = $bExtraTags;
|
$this->bExtraTags = $bExtraTags;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludeNameDetails($bNameDetails = false)
|
public function setIncludeNameDetails($bNameDetails = false)
|
||||||
{
|
{
|
||||||
$this->bNameDetails = $bNameDetails;
|
$this->bNameDetails = $bNameDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function setIncludePolygonAsPoints($b = true)
|
public function setIncludePolygonAsPoints($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsPoints = $b;
|
$this->bIncludePolygonAsPoints = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIncludePolygonAsPoints()
|
public function getIncludePolygonAsPoints()
|
||||||
{
|
{
|
||||||
return $this->bIncludePolygonAsPoints;
|
return $this->bIncludePolygonAsPoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsText($b = true)
|
public function setIncludePolygonAsText($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsText = $b;
|
$this->bIncludePolygonAsText = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIncludePolygonAsText()
|
public function getIncludePolygonAsText()
|
||||||
{
|
{
|
||||||
return $this->bIncludePolygonAsText;
|
return $this->bIncludePolygonAsText;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsGeoJSON($b = true)
|
public function setIncludePolygonAsGeoJSON($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsGeoJSON = $b;
|
$this->bIncludePolygonAsGeoJSON = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsKML($b = true)
|
public function setIncludePolygonAsKML($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsKML = $b;
|
$this->bIncludePolygonAsKML = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setIncludePolygonAsSVG($b = true)
|
public function setIncludePolygonAsSVG($b = true)
|
||||||
{
|
{
|
||||||
$this->bIncludePolygonAsSVG = $b;
|
$this->bIncludePolygonAsSVG = $b;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPolygonSimplificationThreshold($f)
|
public function setPolygonSimplificationThreshold($f)
|
||||||
{
|
{
|
||||||
$this->fPolygonSimplificationThreshold = $f;
|
$this->fPolygonSimplificationThreshold = $f;
|
||||||
}
|
}
|
||||||
|
|
||||||
function lookupOSMID($sType, $iID)
|
public function lookupOSMID($sType, $iID)
|
||||||
{
|
{
|
||||||
$sSQL = "select place_id from placex where osm_type = '".pg_escape_string($sType)."' and osm_id = ".(int)$iID." order by type = 'postcode' asc";
|
$sSQL = "select place_id from placex where osm_type = '".pg_escape_string($sType)."' and osm_id = ".(int)$iID." order by type = 'postcode' asc";
|
||||||
$iPlaceID = chksql($this->oDB->getOne($sSQL));
|
$iPlaceID = chksql($this->oDB->getOne($sSQL));
|
||||||
@@ -92,7 +94,7 @@ class PlaceLookup
|
|||||||
return $this->lookup((int)$iPlaceID);
|
return $this->lookup((int)$iPlaceID);
|
||||||
}
|
}
|
||||||
|
|
||||||
function lookup($iPlaceID, $sType = '', $fInterpolFraction = 0.0)
|
public function lookup($iPlaceID, $sType = '', $fInterpolFraction = 0.0)
|
||||||
{
|
{
|
||||||
if (!$iPlaceID) return null;
|
if (!$iPlaceID) return null;
|
||||||
|
|
||||||
@@ -191,7 +193,7 @@ class PlaceLookup
|
|||||||
return $aPlace;
|
return $aPlace;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAddressDetails($iPlaceID, $bAll = false, $housenumber = -1)
|
public function getAddressDetails($iPlaceID, $bAll = false, $housenumber = -1)
|
||||||
{
|
{
|
||||||
$sLanguagePrefArraySQL = "ARRAY[".join(',', array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
$sLanguagePrefArraySQL = "ARRAY[".join(',', array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
||||||
|
|
||||||
@@ -202,7 +204,7 @@ class PlaceLookup
|
|||||||
return chksql($this->oDB->getAll($sSQL));
|
return chksql($this->oDB->getAll($sSQL));
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAddressNames($iPlaceID, $housenumber = -1)
|
public function getAddressNames($iPlaceID, $housenumber = -1)
|
||||||
{
|
{
|
||||||
$aAddressLines = $this->getAddressDetails($iPlaceID, false, $housenumber);
|
$aAddressLines = $this->getAddressDetails($iPlaceID, false, $housenumber);
|
||||||
|
|
||||||
@@ -249,7 +251,7 @@ class PlaceLookup
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
function getOutlines($iPlaceID, $fLon = null, $fLat = null, $fRadius = null)
|
public function getOutlines($iPlaceID, $fLon = null, $fLat = null, $fRadius = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
$aOutlineResult = array();
|
$aOutlineResult = array();
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
namespace Nominatim;
|
||||||
|
|
||||||
class ReverseGeocode
|
class ReverseGeocode
|
||||||
{
|
{
|
||||||
protected $oDB;
|
protected $oDB;
|
||||||
protected $iMaxRank = 28;
|
protected $iMaxRank = 28;
|
||||||
|
|
||||||
|
|
||||||
function ReverseGeocode(&$oDB)
|
public function __construct(&$oDB)
|
||||||
{
|
{
|
||||||
$this->oDB =& $oDB;
|
$this->oDB =& $oDB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function setZoom($iZoom)
|
public function setZoom($iZoom)
|
||||||
{
|
{
|
||||||
// Zoom to rank, this could probably be calculated but a lookup gives fine control
|
// Zoom to rank, this could probably be calculated but a lookup gives fine control
|
||||||
$aZoomRank = array(
|
$aZoomRank = array(
|
||||||
@@ -47,7 +49,7 @@ class ReverseGeocode
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
function lookup($fLat, $fLon, $bDoInterpolation = true)
|
public function lookup($fLat, $fLon, $bDoInterpolation = true)
|
||||||
{
|
{
|
||||||
$sPointSQL = 'ST_SetSRID(ST_Point('.$fLon.','.$fLat.'),4326)';
|
$sPointSQL = 'ST_SetSRID(ST_Point('.$fLon.','.$fLat.'),4326)';
|
||||||
$iMaxRank = $this->iMaxRank;
|
$iMaxRank = $this->iMaxRank;
|
||||||
|
|||||||
@@ -28,12 +28,12 @@ $aCMDOptions
|
|||||||
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
|
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
|
||||||
|
|
||||||
$oDB =& getDB();
|
$oDB =& getDB();
|
||||||
$oParams = new ParameterParser($aCMDResult);
|
$oParams = new Nominatim\ParameterParser($aCMDResult);
|
||||||
|
|
||||||
if ($oParams->getBool('search')) {
|
if ($oParams->getBool('search')) {
|
||||||
if (isset($aCMDResult['nodedupe'])) $aCMDResult['dedupe'] = 'false';
|
if (isset($aCMDResult['nodedupe'])) $aCMDResult['dedupe'] = 'false';
|
||||||
|
|
||||||
$oGeocode = new Geocode($oDB);
|
$oGeocode = new Nominatim\Geocode($oDB);
|
||||||
|
|
||||||
$oGeocode->setLanguagePreference($oParams->getPreferredLanguages(false));
|
$oGeocode->setLanguagePreference($oParams->getPreferredLanguages(false));
|
||||||
$oGeocode->loadParamArray($oParams);
|
$oGeocode->loadParamArray($oParams);
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ $oDB =& getDB();
|
|||||||
$bVerbose = $aResult['verbose'];
|
$bVerbose = $aResult['verbose'];
|
||||||
|
|
||||||
if (!$aResult['search-only']) {
|
if (!$aResult['search-only']) {
|
||||||
$oReverseGeocode = new ReverseGeocode($oDB);
|
$oReverseGeocode = new Nominatim\ReverseGeocode($oDB);
|
||||||
$oReverseGeocode->setZoom(20);
|
$oReverseGeocode->setZoom(20);
|
||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
$oPlaceLookup = new Nominatim\PlaceLookup($oDB);
|
||||||
$oPlaceLookup->setIncludeAddressDetails(true);
|
$oPlaceLookup->setIncludeAddressDetails(true);
|
||||||
$oPlaceLookup->setLanguagePreference(array('en'));
|
$oPlaceLookup->setLanguagePreference(array('en'));
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ if (!$aResult['search-only']) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$aResult['reverse-only']) {
|
if (!$aResult['reverse-only']) {
|
||||||
$oGeocode =& new Geocode($oDB);
|
$oGeocode =& new Nominatim\Geocode($oDB);
|
||||||
|
|
||||||
echo "Warm search: ";
|
echo "Warm search: ";
|
||||||
if ($bVerbose) echo "\n";
|
if ($bVerbose) echo "\n";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ require_once(CONST_BasePath.'/lib/log.php');
|
|||||||
require_once(CONST_BasePath.'/lib/output.php');
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
$sOutputFormat = 'html';
|
$sOutputFormat = 'html';
|
||||||
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ require_once(CONST_BasePath.'/lib/PlaceLookup.php');
|
|||||||
require_once(CONST_BasePath.'/lib/output.php');
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
$sOutputFormat = $oParams->getSet('format', array('html', 'json'), 'html');
|
$sOutputFormat = $oParams->getSet('format', array('html', 'json'), 'html');
|
||||||
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
||||||
@@ -51,7 +51,7 @@ if (CONST_Use_Aux_Location_data) {
|
|||||||
if ($iParentPlaceID) $iPlaceID = $iParentPlaceID;
|
if ($iParentPlaceID) $iPlaceID = $iParentPlaceID;
|
||||||
}
|
}
|
||||||
|
|
||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
$oPlaceLookup = new Nominatim\PlaceLookup($oDB);
|
||||||
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
||||||
$oPlaceLookup->setIncludeAddressDetails(true);
|
$oPlaceLookup->setIncludeAddressDetails(true);
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ require_once(CONST_BasePath.'/lib/PlaceLookup.php');
|
|||||||
require_once(CONST_BasePath.'/lib/output.php');
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
// Format for output
|
// Format for output
|
||||||
$sOutputFormat = $oParams->getSet('format', array('xml', 'json'), 'xml');
|
$sOutputFormat = $oParams->getSet('format', array('xml', 'json'), 'xml');
|
||||||
@@ -23,7 +23,7 @@ $hLog = logStart($oDB, 'place', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
|
|||||||
$aSearchResults = array();
|
$aSearchResults = array();
|
||||||
$aCleanedQueryParts = array();
|
$aCleanedQueryParts = array();
|
||||||
|
|
||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
$oPlaceLookup = new Nominatim\PlaceLookup($oDB);
|
||||||
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
||||||
$oPlaceLookup->setIncludeAddressDetails($oParams->getBool('addressdetails', true));
|
$oPlaceLookup->setIncludeAddressDetails($oParams->getBool('addressdetails', true));
|
||||||
$oPlaceLookup->setIncludeExtraTags($oParams->getBool('extratags', false));
|
$oPlaceLookup->setIncludeExtraTags($oParams->getBool('extratags', false));
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ require_once(CONST_BasePath.'/lib/log.php');
|
|||||||
require_once(CONST_BasePath.'/lib/output.php');
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
$sOutputFormat = 'html';
|
$sOutputFormat = 'html';
|
||||||
$iDays = $oParams->getInt('days', 1);
|
$iDays = $oParams->getInt('days', 1);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
|
|||||||
require_once(CONST_BasePath.'/lib/output.php');
|
require_once(CONST_BasePath.'/lib/output.php');
|
||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
$bAsGeoJSON = $oParams->getBool('polygon_geojson');
|
$bAsGeoJSON = $oParams->getBool('polygon_geojson');
|
||||||
$bAsKML = $oParams->getBool('polygon_kml');
|
$bAsKML = $oParams->getBool('polygon_kml');
|
||||||
@@ -39,7 +39,7 @@ $oDB =& getDB();
|
|||||||
$hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
|
$hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
|
||||||
|
|
||||||
|
|
||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
$oPlaceLookup = new Nominatim\PlaceLookup($oDB);
|
||||||
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
||||||
$oPlaceLookup->setIncludeAddressDetails($oParams->getBool('addressdetails', true));
|
$oPlaceLookup->setIncludeAddressDetails($oParams->getBool('addressdetails', true));
|
||||||
$oPlaceLookup->setIncludeExtraTags($oParams->getBool('extratags', false));
|
$oPlaceLookup->setIncludeExtraTags($oParams->getBool('extratags', false));
|
||||||
@@ -52,7 +52,7 @@ $fLon = $oParams->getFloat('lon');
|
|||||||
if ($sOsmType && $iOsmId > 0) {
|
if ($sOsmType && $iOsmId > 0) {
|
||||||
$aPlace = $oPlaceLookup->lookupOSMID($sOsmType, $iOsmId);
|
$aPlace = $oPlaceLookup->lookupOSMID($sOsmType, $iOsmId);
|
||||||
} elseif ($fLat !== false && $fLon !== false) {
|
} elseif ($fLat !== false && $fLon !== false) {
|
||||||
$oReverseGeocode = new ReverseGeocode($oDB);
|
$oReverseGeocode = new Nominatim\ReverseGeocode($oDB);
|
||||||
$oReverseGeocode->setZoom($oParams->getInt('zoom', 18));
|
$oReverseGeocode->setZoom($oParams->getInt('zoom', 18));
|
||||||
|
|
||||||
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ require_once(CONST_BasePath.'/lib/output.php');
|
|||||||
ini_set('memory_limit', '200M');
|
ini_set('memory_limit', '200M');
|
||||||
|
|
||||||
$oDB =& getDB();
|
$oDB =& getDB();
|
||||||
$oParams = new ParameterParser();
|
$oParams = new Nominatim\ParameterParser();
|
||||||
|
|
||||||
$oGeocode = new Geocode($oDB);
|
$oGeocode = new Nominatim\Geocode($oDB);
|
||||||
|
|
||||||
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
$aLangPrefOrder = $oParams->getPreferredLanguages();
|
||||||
$oGeocode->setLanguagePreference($aLangPrefOrder);
|
$oGeocode->setLanguagePreference($aLangPrefOrder);
|
||||||
@@ -64,7 +64,7 @@ if (CONST_Search_BatchMode && isset($_GET['batch'])) {
|
|||||||
$aBatchResults = array();
|
$aBatchResults = array();
|
||||||
foreach ($aBatch as $aBatchParams) {
|
foreach ($aBatch as $aBatchParams) {
|
||||||
$oBatchGeocode = clone $oGeocode;
|
$oBatchGeocode = clone $oGeocode;
|
||||||
$oBatchParams = new ParameterParser($aBatchParams);
|
$oBatchParams = new Nominatim\ParameterParser($aBatchParams);
|
||||||
$oBatchGeocode->loadParamArray($oBatchParams);
|
$oBatchGeocode->loadParamArray($oBatchParams);
|
||||||
$oBatchGeocode->setQueryFromParams($oBatchParams);
|
$oBatchGeocode->setQueryFromParams($oBatchParams);
|
||||||
$aSearchResults = $oBatchGeocode->lookup();
|
$aSearchResults = $oBatchGeocode->lookup();
|
||||||
|
|||||||
Reference in New Issue
Block a user