]> git.openstreetmap.org Git - nominatim.git/blobdiff - website/details.php
show address tags and postcode in details
[nominatim.git] / website / details.php
index 0dc3397aa42e6864ef89e6325253eaa53472b34a..5b52e2cc0577503443f1e945055fa8377e823739 100755 (executable)
@@ -83,7 +83,7 @@ $hLog = logStart($oDB, 'details', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
 
 // Get the details for this point
 $sSQL = "SELECT place_id, osm_type, osm_id, class, type, name, admin_level,";
-$sSQL .= "    housenumber, street, isin, postcode, calculated_country_code AS country_code,";
+$sSQL .= "    housenumber, postcode, country_code,";
 $sSQL .= "    importance, wikipedia,";
 $sSQL .= "    to_char(indexed_date, 'YYYY-MM-DD HH24:MI') AS indexed_date,";
 $sSQL .= "    parent_place_id, ";
@@ -99,10 +99,10 @@ $sSQL .= "    CASE ";
 $sSQL .= "       WHEN importance = 0 OR importance IS NULL THEN 0.75-(rank_search::float/40) ";
 $sSQL .= "       ELSE importance ";
 $sSQL .= "       END as calculated_importance, ";
-$sSQL .= "    ST_AsText(CASE ";
+$sSQL .= "    ST_AsGeoJSON(CASE ";
 $sSQL .= "                WHEN ST_NPoints(geometry) > 5000 THEN ST_SimplifyPreserveTopology(geometry, 0.0001) ";
 $sSQL .= "                ELSE geometry ";
-$sSQL .= "                END) as outlinestring";
+$sSQL .= "                END) as asgeojson";
 $sSQL .= " FROM placex ";
 $sSQL .= " WHERE place_id = $iPlaceID";
 
@@ -130,6 +130,13 @@ if (PEAR::isError($aPointDetails['aNames'])) { // possible timeout
     $aPointDetails['aNames'] = [];
 }
 
+// Address tags
+$sSQL = "SELECT (each(address)).key as key,(each(address)).value FROM placex WHERE place_id = $iPlaceID ORDER BY key";
+$aPointDetails['aAddressTags'] = $oDB->getAssoc($sSQL);
+if (PEAR::isError($aPointDetails['aAddressTags'])) { // possible timeout
+    $aPointDetails['aAddressTags'] = [];
+}
+
 // Extra tags
 $sSQL = "SELECT (each(extratags)).key,(each(extratags)).value FROM placex WHERE place_id = $iPlaceID ORDER BY (each(extratags)).key";
 $aPointDetails['aExtraTags'] = $oDB->getAssoc($sSQL);