X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/4d7e0d97b2a644cf5479c3301eb20f5f46d6509e..bfe51197429c9436034bb4d25931ad4d687d09c8:/website/details.php?ds=inline diff --git a/website/details.php b/website/details.php index eeb48656..7c6ad8ad 100755 --- a/website/details.php +++ b/website/details.php @@ -71,8 +71,8 @@ // Get the bounding box and outline polygon $sSQL = "select ST_AsText(geometry) as outlinestring,"; - $sSQL .= "ST_Y(ST_PointN(ExteriorRing(ST_Box2D(geometry)),4)) as minlat,ST_Y(ST_PointN(ExteriorRing(ST_Box2D(geometry)),2)) as maxlat,"; - $sSQL .= "ST_X(ST_PointN(ExteriorRing(ST_Box2D(geometry)),1)) as minlon,ST_X(ST_PointN(ExteriorRing(ST_Box2D(geometry)),3)) as maxlon"; + $sSQL .= "ST_YMin(geometry) as minlat,ST_YMax(geometry) as maxlat,"; + $sSQL .= "ST_XMin(geometry) as minlon,ST_XMax(geometry) as maxlon"; $sSQL .= " from placex where place_id = $iPlaceID"; $aPointPolygon = $oDB->getRow($sSQL); IF (PEAR::IsError($aPointPolygon)) @@ -109,12 +109,19 @@ // Address $aAddressLines = getAddressDetails($oDB, $sLanguagePrefArraySQL, $iPlaceID, $aPointDetails['country_code'], true); + // Linked places + $sSQL = "select placex.place_id, osm_type, osm_id, class, type, housenumber, admin_level, rank_address, ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon') as isarea, st_distance(geometry, placegeometry) as distance, "; + $sSQL .= " get_name_by_language(name,$sLanguagePrefArraySQL) as localname, length(name::text) as namelength "; + $sSQL .= " from placex, (select geometry as placegeometry from placex where place_id = $iPlaceID) as x"; + $sSQL .= " where linked_place_id = $iPlaceID"; + $sSQL .= " order by rank_address asc,rank_search asc,get_name_by_language(name,$sLanguagePrefArraySQL),housenumber"; + $aLinkedLines = $oDB->getAll($sSQL); + // All places this is an imediate parent of $sSQL = "select placex.place_id, osm_type, osm_id, class, type, housenumber, admin_level, rank_address, ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon') as isarea, st_distance(geometry, placegeometry) as distance, "; $sSQL .= " get_name_by_language(name,$sLanguagePrefArraySQL) as localname, length(name::text) as namelength "; $sSQL .= " from placex, (select geometry as placegeometry from placex where place_id = $iPlaceID) as x"; $sSQL .= " where parent_place_id = $iPlaceID"; -// $sSQL .= " and type != 'postcode'"; $sSQL .= " order by rank_address asc,rank_search asc,get_name_by_language(name,$sLanguagePrefArraySQL),housenumber"; $aParentOfLines = $oDB->getAll($sSQL);