summaryrefslogtreecommitdiff
path: root/navit/search.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-05-05 12:08:41 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-05-05 12:08:41 +0000
commitec3fb2ac6b994fae1ed983be4ad8147e8c30046a (patch)
tree105624e5c609c0a65f3961d8f6207d3ced10b2d3 /navit/search.c
parent2da21e0a6a33d016d901cdd0227b903018a0ada9 (diff)
downloadnavit-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.c5
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])