X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/fa9677242c56be5c8ab76de771ae7deb1822955f..88eaf7fb94a112350c954cc6dd7e34b3408d461a:/lib/template/details-html.php
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index 3e9e39d7..c15e74c8 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,301 +1,268 @@
-
-
+
+
-
".$sTitle." \n";
- }
-
- function headline3($sTitle)
- {
- echo "".$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 ''."\n";
- echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name ')." \n";
- echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . " \n";
- echo ' ' . osm_link($aAddressLine) . " \n";
- echo ' ' . (isset($aAddressLine['admin_level']) ? $aAddressLine['admin_level'] : '') . " \n";
- // echo '' . (isset($aAddressLine['rank_search_label']) ? $aAddressLine['rank_search_label'] : '') ." \n";
- // echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').' ';
- echo ' ' . format_distance($aAddressLine['distance'])." \n";
- echo ' ' . nominatim_link($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";
- }
+ 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
+
+
+
+
+
+
$aParentOfLines)
- {
- $sGroupHeading = ucwords($sGroupHeading);
- headline3($sGroupHeading);
-
- foreach($aParentOfLines as $aAddressLine)
- {
- _one_row($aAddressLine);
- }
- }
- if (sizeof($aParentOfLines) >= 500) {
- echo 'There are more child objects which are not shown.
';
- }
- }
-
- // headline('Other Parts');
- // headline('Linked To');
-
- echo "
\n";
+ 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";
?>
-
-
-
+
+
+
-
+ ?>
+
-
+