X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/10620c71bb7999ed89ca45e545d9ce611a5e1476..a038582e34d73ac2575572c9dec0e890557fb0f5:/website/details.php?ds=sidebyside diff --git a/website/details.php b/website/details.php index 3c4581d5..110fdc07 100755 --- a/website/details.php +++ b/website/details.php @@ -43,7 +43,7 @@ //$oDB->query($sSQL); // Get the details for this point - $sSQL = "select place_id, osm_type, osm_id, class, type, name, admin_level, housenumber, street, isin, postcode, country_code, "; + $sSQL = "select place_id, osm_type, osm_id, class, type, name, admin_level, housenumber, street, isin, postcode, country_code, importance,"; $sSQL .= " parent_place_id, rank_address, rank_search, get_searchrank_label(rank_search) as rank_search_label, get_name_by_language(name,$sLanguagePrefArraySQL) as localname, "; $sSQL .= " ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon') as isarea,ST_GeometryType(geometry) as geotype, ST_Y(ST_Centroid(geometry)) as lat,ST_X(ST_Centroid(geometry)) as lon "; $sSQL .= " from placex where place_id = $iPlaceID"; @@ -84,6 +84,11 @@ { preg_match_all('/(-?[0-9.]+) (-?[0-9.]+)/',$aMatch[1],$aPolyPoints,PREG_SET_ORDER); } + elseif (preg_match('#MULTIPOLYGON\\(\\(\\(([- 0-9.,]+)#',$aPointPolygon['outlinestring'],$aMatch)) + { + // TODO: this just takes the first ring + preg_match_all('/(-?[0-9.]+) (-?[0-9.]+)/',$aMatch[1],$aPolyPoints,PREG_SET_ORDER); + } elseif (preg_match('#POINT\\((-?[0-9.]+) (-?[0-9.]+)\\)#',$aPointPolygon['outlinestring'],$aMatch)) { $fRadius = 0.01; @@ -114,6 +119,18 @@ $sSQL .= " order by rank_address asc,rank_search asc,get_name_by_language(name,$sLanguagePrefArraySQL),housenumber"; $aParentOfLines = $oDB->getAll($sSQL); + $aPlaceSearchNameKeywords = false; + $aPlaceSearchAddressKeywords = false; + if (isset($_GET['keywords']) && $_GET['keywords']) + { + $sSQL = "select * from search_name where place_id = $iPlaceID"; + $aPlaceSearchName = $oDB->getRow($sSQL); + $sSQL = "select * from word where word_id in (".substr($aPlaceSearchName['name_vector'],1,-1).")"; + $aPlaceSearchNameKeywords = $oDB->getAll($sSQL); + $sSQL = "select * from word where word_id in (".substr($aPlaceSearchName['nameaddress_vector'],1,-1).")"; + $aPlaceSearchAddressKeywords = $oDB->getAll($sSQL); + } + logEnd($oDB, $hLog, 1); include(CONST_BasePath.'/lib/template/details-'.$sOutputFormat.'.php');