diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-05-05 12:08:41 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-05-05 12:08:41 +0000 |
commit | ec3fb2ac6b994fae1ed983be4ad8147e8c30046a (patch) | |
tree | 105624e5c609c0a65f3961d8f6207d3ced10b2d3 /navit/search.c | |
parent | 2da21e0a6a33d016d901cdd0227b903018a0ada9 (diff) | |
download | navit-ec3fb2ac6b994fae1ed983be4ad8147e8c30046a.tar.gz |
Fix:Core:Better interpolation of housnumbers along streets
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5480 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/search.c')
-rw-r--r-- | navit/search.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/navit/search.c b/navit/search.c index 1f3145511..ac84b8780 100644 --- a/navit/search.c +++ b/navit/search.c @@ -755,6 +755,7 @@ search_house_number_coordinate(struct item *item, struct interpolation *inter) } else { int count,max=1024; int hn_pos,hn_length; + int step=inter->mode?2:1; struct coord *c=g_alloca(sizeof(struct coord)*max); item_coord_rewind(item); count=item_coord_get(item, c, max); @@ -779,7 +780,11 @@ search_house_number_coordinate(struct item *item, struct interpolation *inter) dbg(1,"distance[%d]=%d\n",i,distances[i]); } dbg(1,"sum=%d\n",distance_sum); +#if 0 hn_distance=distance_sum*hn_pos/hn_length; +#else + hn_distance=(distance_sum*hn_pos+distance_sum*step/2)/(hn_length+step); +#endif dbg(1,"hn_distance=%d\n",hn_distance); i=0; while (i < count-1 && hn_distance > distances[i]) |