Hi all guys,<div><br></div><div>i've looked into nominatim sources and found some that i think that is bug. I've mentioned one in forums but looks like there is no devs here so i'm posing here:</div><div><br></div>
<div>1) </div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://forum.openstreetmap.org/viewtopic.php?id=11987">http://forum.openstreetmap.org/viewtopic.php?id=11987</a></div><div><br>
</div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
In Ukraine it's common situation to have housenumbers like 43/2 and so on - in order to make them searcheable we should update search.php:</p><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
$sHouseNumberRegex = '\\\\m'.str_replace(' ','[-, ]',$aSearch['sHouseNumber']).'\\\\M';</p><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
to</p><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
$sHouseNumberRegex = '\\\\m'.str_replace(' ','[-, <strong style="font-weight: bold; ">/</strong>]',$aSearch['sHouseNumber']).'\\\\M';</p><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
2)</p><p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
I found that in one case <span class="Apple-style-span" style="font-family: arial; font-size: small; color: rgb(0, 0, 0); line-height: normal; "><a href="http://localhost/~seth/reverse?format=xml&lat=49.989675&lon=36.206152&zoom=18&addressdetails=1">http://localhost/~seth/reverse?format=xml&lat=49.989675&lon=36.206152&zoom=18&addressdetails=1</a></span></p>
<p style="color: rgb(51, 51, 51); font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 1em; ">
nominatim returns street that is far away of specified place. Looking into sources i found that in </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<font class="Apple-style-span" color="#333333" face="Verdana, Helvetica, Arial, sans-serif"></font></p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<font class="Apple-style-span" color="#333333" face="Verdana, Helvetica, Arial, sans-serif">if ($iMaxRank >= 26)</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<font class="Apple-style-span" color="#333333" face="Verdana, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre"> </span>{</font></p><p></p><font class="Apple-style-span" color="#333333" face="Verdana, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="font-size: 11px; line-height: 16px; white-space: pre; "> </span><span class="Apple-style-span" style="font-size: 11px; line-height: 16px; ">// Street level search is done using placex table</span><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
$sSQL = 'select place_id from placex';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>$sSQL .= ' WHERE ST_DWithin('.$sPointSQL.', geometry, '.$fSearchDiam.')';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>$sSQL .= ' and rank_search >= 26 and rank_search <= '.$iMaxRank;</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>$sSQL .= ' and (ST_GeometryType(geometry) not in (\'ST_Polygon\',\'ST_MultiPolygon\') ';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>$sSQL .= ' OR ST_DWithin('.$sPointSQL.', ST_Centroid(geometry), '.$fSearchDiam.'))';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>$sSQL .= ' and rank_address != 0 and type != \'houses\'';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space:pre"> </span>if ($bNamedOnly) $sSQL .= ' and (name is not null or housenumber is not null)';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-tab-span" style="white-space: pre; "> </span>$sSQL .= ' ORDER BY rank_search desc, ST_distance('.$sPointSQL.', <b>geometry</b>) ASC limit 1';</p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<br></p><p style="font-size: 11px; line-height: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
should be replaced for</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-style-span" style="font-size: 11px; line-height: 16px;"><span class="Apple-tab-span" style="white-space: pre; "> </span>$sSQL .= ' ORDER BY rank_search desc, ST_distance('.$sPointSQL.', <b>ST_Centroid(geometry)</b>) ASC limit 1';</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-style-span" style="font-size: 11px; line-height: 16px;">after it - reverse script returns nearby subway station.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-style-span" style="font-size: 11px; line-height: 16px;">Hope you will add this fixes to all benefit from better search. </span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-style-span" style="font-size: 11px; line-height: 16px;"><br></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.75em; padding-right: 0px; padding-bottom: 0.75em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
<span class="Apple-style-span" style="font-size: 11px; line-height: 16px;">Illia</span></p></font><p></p></div>