X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/f5dfd93c5cc0800b14548f07a1d25c7350a49fbe..38545f899372405fde2ddf9c1e57852b5537e0c0:/website/reverse.php?ds=sidebyside diff --git a/website/reverse.php b/website/reverse.php index c155fa57..33e6cd5e 100755 --- a/website/reverse.php +++ b/website/reverse.php @@ -1,4 +1,6 @@ getOne("select place_id from placex where osm_type = '".$_GET['osm_type']."' and osm_id = ".(int)$_GET['osm_id']." order by type = 'postcode' asc"); + $iPlaceID = $oDB->getOne($sSQL = ("select place_id from placex where osm_type = '".$_GET['osm_type']."' and osm_id = ".(int)$_GET['osm_id']." order by type = 'postcode' asc")); + if (CONST_Debug) var_dump($sSQL); if (!$iPlaceID) $sError = 'OSM ID Not Found'; } else @@ -72,7 +75,7 @@ $iMaxRank = (isset($_GET['zoom']) && isset($aZoomRank[$_GET['zoom']]))?$aZoomRank[$_GET['zoom']]:28; // Find the nearest point - $fSearchDiam = 0.0001; + $fSearchDiam = 0.0004; $iPlaceID = null; $aArea = false; $fMaxAreaDistance = 1; @@ -97,9 +100,9 @@ $sSQL .= ' and (name is not null or housenumber is not null)'; $sSQL .= ' and class not in (\'waterway\',\'railway\',\'tunnel\',\'bridge\')'; $sSQL .= ' and (ST_GeometryType(geometry) not in (\'ST_Polygon\',\'ST_MultiPolygon\') '; - $sSQL .= ' OR ST_DWithin('.$sPointSQL.', ST_Centroid(geometry), '.$fSearchDiam.'))'; + $sSQL .= ' OR ST_DWithin('.$sPointSQL.', centroid, '.$fSearchDiam.'))'; $sSQL .= ' ORDER BY ST_distance('.$sPointSQL.', geometry) ASC limit 1'; -//var_dump($sSQL); + if (CONST_Debug) var_dump($sSQL); $aPlace = $oDB->getRow($sSQL); if (PEAR::IsError($aPlace)) { @@ -134,14 +137,15 @@ $sSQL .= " get_address_by_language(place_id, $sLanguagePrefArraySQL) as langaddress,"; $sSQL .= " get_name_by_language(name, $sLanguagePrefArraySQL) as placename,"; $sSQL .= " get_name_by_language(name, ARRAY['ref']) as ref,"; - $sSQL .= " st_y(st_centroid(geometry)) as lat, st_x(st_centroid(geometry)) as lon"; + $sSQL .= " st_y(centroid) as lat, st_x(centroid) as lon"; $sSQL .= " from placex where place_id = $iPlaceID "; -//var_dump($sSQL); + $aPlace = $oDB->getRow($sSQL); +//var_dump($sSQL, $aPlace); exit; if ($bShowAddressDetails) { - $aAddress = getAddressDetails($oDB, $sLanguagePrefArraySQL, $iPlaceID, $aPlace['country_code']); + $aAddress = getAddressDetails($oDB, $sLanguagePrefArraySQL, $iPlaceID, $aPlace['calculated_country_code']); } $aClassType = getClassTypes(); $sAddressType = ''; @@ -160,4 +164,7 @@ $aPlace['addresstype'] = $sAddressType; } + + if (CONST_Debug) exit; + include(CONST_BasePath.'/lib/template/address-'.$sOutputFormat.'.php');