X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/620100a5ac943e86e54f81f40dc52f1dd0d61330..d3f7465ccad9cce6c84f0b089282c5ece550c5ed:/lib/template/details-html.php
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index 548cee7a..c15e74c8 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,277 +1,268 @@
-
-
+
+
-
-
".$sTitle."\n";
- }
-
- function osm_link($aFeature)
- {
- $sOSMType = ($aFeature['osm_type'] == 'N'?'node':($aFeature['osm_type'] == 'W'?'way':($aFeature['osm_type'] == 'R'?'relation':'')));
- if ($sOSMType)
- {
- return ''.$sOSMType.' '.$aFeature['osm_id'].' ';
- }
- return '';
- }
-
- function wikipedia_link($aFeature)
- {
- if ($aFeature['wikipedia'])
- {
- list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aFeature['wikipedia']);
- return ''.$aFeature['wikipedia'].' ';
- }
- return '';
- }
-
- function nominatim_link($aFeature, $sTitle)
- {
- return ''.$sTitle.' ';
- }
-
- function format_distance($fDistance)
- {
- // $fDistance is in meters
- if ($fDistance < 1)
- {
- return '0';
- }
- elseif ($fDistance < 1000)
- {
- return'~'.(round($fDistance,0)).' m ';
- }
- else
- {
- return'~'.(round($fDistance/1000,1)).' km ';
- }
- }
-
- function kv($sKey,$sValue)
- {
- echo '
' . $sKey . ' '.$sValue.' '. "\n";
- }
-
-
- function hash_to_subtable($aAssociatedList)
- {
- $sHTML = '';
- foreach($aAssociatedList as $sKey => $sValue)
- {
- $sHTML = $sHTML.' '.$sValue.' ('.$sKey.')
'."\n";
- }
- return $sHTML;
- }
-
- // function hash_to_subtable($aAssociatedList)
- // {
- // $sHTML = '';
- // foreach($aAssociatedList as $sKey => $sValue)
- // {
- // $sHTML = $sHTML . ''.$sKey.' '.$sValue.' '."\n";
- // }
- // $sHTML = $sHTML . '
';
- // return $sHTML;
- // }
-
-
- function map_icon($sIcon)
- {
- if ($sIcon){
- echo ' ';
- }
- }
-
-
- function _one_row($aAddressLine){
- $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f');
-
- echo '';
- echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name ').' ';
- echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . ' ';
- echo ' ' . osm_link($aAddressLine) . ' ';
- echo ' ' . (isset($aAddressLine['admin_level']) ? $aAddressLine['admin_level'] : '') . ' ';
- // echo '' . (isset($aAddressLine['rank_search_label']) ? $aAddressLine['rank_search_label'] : '') .' ';
- // echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').' ';
- echo ' ' . format_distance($aAddressLine['distance']).' ';;
- echo ' ' . nominatim_link($aAddressLine,'details >') . ' ';;
- echo " \n";
- }
+ function headline($sTitle)
+ {
+ echo "".$sTitle." \n";
+ }
+
+ function headline3($sTitle)
+ {
+ echo "".$sTitle." \n";
+ }
+
+
+ function format_distance($fDistance, $bInMeters = false)
+ {
+ if ($bInMeters) {
+ // $fDistance is in meters
+ if ($fDistance < 1) {
+ return '0';
+ }
+ elseif ($fDistance < 1000) {
+ return '~'.(round($fDistance,0)).' m ';
+ }
+ else {
+ return '~'.(round($fDistance/1000,1)).' km ';
+ }
+ } else {
+ if ($fDistance == 0) {
+ return '0';
+ } else {
+ return ''.(round($fDistance,4)).' ';
+ }
+ }
+ }
+
+ function kv($sKey,$sValue)
+ {
+ echo ' ' . $sKey . ' '.$sValue.' '. "\n";
+ }
+
+
+ function hash_to_subtable($aAssociatedList)
+ {
+ $sHTML = '';
+ foreach ($aAssociatedList as $sKey => $sValue) {
+ $sHTML = $sHTML.' '.$sValue.' ('.$sKey.')
'."\n";
+ }
+ return $sHTML;
+ }
+
+ function map_icon($aPlace)
+ {
+ $sIcon = Nominatim\ClassTypes\getIconFile($aPlace);
+ if (isset($sIcon)) {
+ $sLabel = Nominatim\ClassTypes\getIcon($aPlace);
+ echo ' ';
+ }
+ }
+
+
+ function _one_row($aAddressLine, $bDistanceInMeters = false){
+ $bNotUsed = isset($aAddressLine['isaddress']) && !$aAddressLine['isaddress'];
+
+ echo ''."\n";
+ echo ' '.(trim($aAddressLine['localname'])!==null?$aAddressLine['localname']:'No Name ')." \n";
+ echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'];
+ if ($aAddressLine['type'] == 'administrative'
+ && isset($aAddressLine['place_type']))
+ {
+ echo '('.$aAddressLine['place_type'].')';
+ }
+ echo " \n";
+ echo ' ' . osmLink($aAddressLine) . " \n";
+ echo ' ' . (isset($aAddressLine['rank_address']) ? $aAddressLine['rank_address'] : '') . " \n";
+ echo ' ' . ($aAddressLine['admin_level'] < 15 ? $aAddressLine['admin_level'] : '') . " \n";
+ echo ' ' . format_distance($aAddressLine['distance'], $bDistanceInMeters)." \n";
+ echo ' ' . detailsPermaLink($aAddressLine,'details >') . " \n";
+ echo " \n";
+ }
+
+ function _one_keyword_row($keyword_token,$word_id){
+ echo "\n";
+ echo '';
+ // mark partial tokens (those starting with a space) with a star for readability
+ echo ($keyword_token[0]==' '?'*':'');
+ echo $keyword_token;
+ if (isset($word_id))
+ {
+ echo ' word id: '.$word_id;
+ }
+ echo " \n";
+ }
?>
-
-
-
-
-
-
-
Address
-
-
-
-
- Local name
- Type
- OSM
- Admin level
-
- Distance
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ format(DateTime::RFC822) );
+ kv('Admin Level' , $aPointDetails['admin_level'] );
+ kv('Rank' , $aPointDetails['rank_search_label'] );
+ if ($aPointDetails['calculated_importance']) {
+ kv('Importance' , $aPointDetails['calculated_importance'].($aPointDetails['importance']?'':' (estimated)') );
+ }
+ kv('Coverage' , ($aPointDetails['isarea']?'Polygon':'Point') );
+ kv('Centre Point' , $aPointDetails['lat'].','.$aPointDetails['lon'] );
+ kv('OSM' , osmLink($aPointDetails) );
+ kv('Place Id (on this server )'
+ , $aPointDetails['place_id'] );
+ if ($aPointDetails['wikipedia'])
+ {
+ kv('Wikipedia Calculated' , wikipediaLink($aPointDetails) );
+ }
+
+ kv('Computed Postcode', $aPointDetails['postcode']);
+ kv('Address Tags' , hash_to_subtable($aPointDetails['aAddressTags']) );
+ kv('Extra Tags' , hash_to_subtable($aPointDetails['aExtraTags']) );
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
Address
+
+
+
+
+ Local name
+ Type
+ OSM
+ Address rank
+ Admin level
+ Distance
+
+
+
+
+
+
';
- foreach($aLinkedLines as $aAddressLine)
- {
- _one_row($aAddressLine);
- }
- echo '
';
- }
-
-
-
- if ($aPlaceSearchNameKeywords)
- {
- headline('Name Keywords');
- foreach($aPlaceSearchNameKeywords as $aRow)
- {
- echo '
'.$aRow['word_token']."
\n";
- }
- }
-
- if ($aPlaceSearchAddressKeywords)
- {
- headline('Address Keywords');
- foreach($aPlaceSearchAddressKeywords as $aRow)
- {
- echo '
'.($aRow['word_token'][0]==' '?'*':'').$aRow['word_token'].'('.$aRow['word_id'].')'."
\n";
- }
- }
-
- if (sizeof($aParentOfLines))
- {
- headline('Parent Of');
-
- $aGroupedAddressLines = array();
- foreach($aParentOfLines as $aAddressLine)
- {
- if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class'];
- else $sType = $aAddressLine['type'];
-
- if (!isset($aGroupedAddressLines[$sType]))
- $aGroupedAddressLines[$sType] = array();
- $aGroupedAddressLines[$sType][] = $aAddressLine;
- }
- foreach($aGroupedAddressLines as $sGroupHeading => $aParentOfLines)
- {
- $sGroupHeading = ucwords($sGroupHeading);
- echo "
$sGroupHeading \n";
-
- echo '
';
- foreach($aParentOfLines as $aAddressLine)
- {
- _one_row($aAddressLine);
- }
- echo '
';
- }
- if (sizeof($aParentOfLines) >= 500) {
- echo '
There are more child objects which are not shown.
';
- }
- }
-
- // headline('Other Parts');
- // headline('Linked To');
+ if ($aLinkedLines)
+ {
+ headline('Linked Places');
+ foreach ($aLinkedLines as $aAddressLine) {
+ _one_row($aAddressLine, true);
+ }
+ }
+
+ if ($bIncludeKeywords)
+ {
+ headline('Name Keywords');
+ if ($aPlaceSearchNameKeywords) {
+ foreach ($aPlaceSearchNameKeywords as $aRow) {
+ _one_keyword_row($aRow['word_token'], $aRow['word_id']);
+ }
+ }
+
+ headline('Address Keywords');
+ if ($aPlaceSearchAddressKeywords) {
+ foreach ($aPlaceSearchAddressKeywords as $aRow) {
+ _one_keyword_row($aRow['word_token'], $aRow['word_id']);
+ }
+ }
+ }
+
+ if (!empty($aHierarchyLines))
+ {
+ headline('Parent Of');
+
+ $aGroupedAddressLines = array();
+ foreach ($aHierarchyLines as $aAddressLine) {
+ if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class'];
+ else $sType = $aAddressLine['type'];
+
+ if (!isset($aGroupedAddressLines[$sType]))
+ $aGroupedAddressLines[$sType] = array();
+ $aGroupedAddressLines[$sType][] = $aAddressLine;
+ }
+ foreach ($aGroupedAddressLines as $sGroupHeading => $aHierarchyLines) {
+ $sGroupHeading = ucwords($sGroupHeading);
+ headline3($sGroupHeading);
+
+ foreach ($aHierarchyLines as $aAddressLine) {
+ _one_row($aAddressLine, true);
+ }
+ }
+ if (count($aHierarchyLines) >= 500) {
+ echo '
There are more child objects which are not shown.
';
+ }
+ }
+
+ echo "\n";
?>
-
-
-
+
+
+
+
+
+ ?>
+
-
+