From: Brian Quinion Date: Tue, 11 Jun 2013 16:28:30 +0000 (+0100) Subject: Allow for tiger addresses when filtering by rank X-Git-Tag: v2.2.0~62 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/464fb913a8fcdc9b3f44647cd4cc0f3c1bc67c67?ds=inline;hp=--cc Allow for tiger addresses when filtering by rank --- 464fb913a8fcdc9b3f44647cd4cc0f3c1bc67c67 diff --git a/website/search.php b/website/search.php index a29cb0cb..7cecb9ed 100755 --- a/website/search.php +++ b/website/search.php @@ -144,10 +144,10 @@ array('amenity', 26, 30, false), array('street', 26, 30, false), array('city', 14, 24, false), - array('postalcode', 5, 11, array(5, 11)), array('county', 9, 13, false), array('state', 8, 8, false), array('country', 4, 4, false), + array('postalcode', 5, 11, array(5, 11)), ); $aStructuredQuery = array(); $sAllowedTypesSQLList = ''; @@ -1157,7 +1157,10 @@ $sSQL .= "and (placex.rank_address between $iMinAddressRank and $iMaxAddressRank "; if (14 >= $iMinAddressRank && 14 <= $iMaxAddressRank) $sSQL .= " OR (extratags->'place') = 'city'"; if ($aAddressRankList) $sSQL .= " OR placex.rank_address in (".join(',',$aAddressRankList).")"; - $sSQL .= ") "; + $sSQL .= ") UNION select place_id from location_property_tiger where place_id in (".join(',',$aResultPlaceIDs).") "; + $sSQL .= "and (30 between $iMinAddressRank and $iMaxAddressRank "; + if ($aAddressRankList) $sSQL .= " OR 30 in (".join(',',$aAddressRankList).")"; + $sSQL .= ")"; if (CONST_Debug) var_dump($sSQL); $aResultPlaceIDs = $oDB->getCol($sSQL); }