housenumbers and addr:interpolation

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

housenumbers and addr:interpolation

Gerd Petermann
Hi all,

while looking at the relation type=associatedStreet
I noticed another kind of information that is still ignored:

See e.g.
http://www.openstreetmap.org/relation/1518163

It contains members tagged with role=house which are
not buildings but lines with a tag
addr:interpolation=all
and two nodes giving the range of housenumbers,
nothing else.

I am not yet sure how to use that info, working on it...

Gerd
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

popej
Hi Gerd,

isn't it a direct fit for Garmin format?

I don't know details, but I assume that cgpsmapper format is very
straight description of internal structure of img. My understanding is
that if you assign house numbers to two consecutive junctions, then GPS
will interpolate addresses between these junctions. Cgpsmapper offer
possibility to define different numbers for both sides of the road and
settings like even/odd/both, which describe how interpolation should be
computed. I guess mkgamp already has similar settings hidden somewhere
in algorithms.

--
Best regards,
Andrzej
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

Gerd Petermann
Hi Andrzej,

yes, the img format is quite similar, but that doesn't help here.
The current algo never "sees" the complete relation.
I probably have to add a new hook like the POIGeneratorHook
to change that. I'll look at it tomorrow.

Gerd

popej wrote
Hi Gerd,

isn't it a direct fit for Garmin format?

I don't know details, but I assume that cgpsmapper format is very
straight description of internal structure of img. My understanding is
that if you assign house numbers to two consecutive junctions, then GPS
will interpolate addresses between these junctions. Cgpsmapper offer
possibility to define different numbers for both sides of the road and
settings like even/odd/both, which describe how interpolation should be
computed. I guess mkgamp already has similar settings hidden somewhere
in algorithms.

--
Best regards,
Andrzej
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

WanMil
In reply to this post by popej
Hi Gerd, hi Andrzej,

yes, up to now mkgmap collects all elements (pois and polygons) tagged
with addr:housenumber and mkgmap:street (which need to be set by the
style). The elements are afterwards assigned to the nearby street with
the same name. Elements more far away than 500m (?) are discarded.
The street is then divided into segments and mkgmap tries to find the
housenumbers at both ends and both sides of the segments. Additionally
it checks if all housenumbers on one side of the segment are even/odd/both.

Relations like associatedStreet and addr:interpolation were not
implemented by me because the quality was very very bad on the time of
my implementation. Most useful addr:interpolation lines did have a
start/stop point with adequate tagging (addr:housenumber and
addr:street) so there wouldn't have been any quality gain by supporting it.

Now there might have been changes in the tagging quality. Although I
would recommend to check that first. I strongly recommend to only
support taggings how they are documented in the wiki. Otherwise mkgmap
would support bad tagging which I think is not helpful at all.

WanMil

> Hi Gerd,
>
> isn't it a direct fit for Garmin format?
>
> I don't know details, but I assume that cgpsmapper format is very
> straight description of internal structure of img. My understanding is
> that if you assign house numbers to two consecutive junctions, then GPS
> will interpolate addresses between these junctions. Cgpsmapper offer
> possibility to define different numbers for both sides of the road and
> settings like even/odd/both, which describe how interpolation should be
> computed. I guess mkgamp already has similar settings hidden somewhere
> in algorithms.
>

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

popej
Hi WanMil,

 > up to now mkgmap collects all elements (pois and polygons) tagged
 > with addr:housenumber and mkgmap:street (which need to be set by the
 > style). The elements are afterwards assigned to the nearby street
 > with the same name.

Maybe you could convert a way with addr:interpolate into multiple points
with single addresses and add them all to collection? Or maybe better
use both ends of way and one or a few intermediate addresses?

 > Relations like associatedStreet and addr:interpolation were not
 > implemented by me because the quality was very very bad on the time
 > of my implementation.

I have filtered associatedStreet from bigger area and I have found many
incomplete objects. But I hope it should be quite easy to rate object
quality and discard wrong or redundant information.

 > I strongly recommend to only support taggings how they are
 > documented in the wiki.

Both: associatedStreet and addr:interpolation are documented:
http://wiki.openstreetmap.org/wiki/Relation:associatedStreet
http://wiki.openstreetmap.org/wiki/Key:addr#Tags_for_interpolation_ways

See statistics too:
https://taginfo.openstreetmap.org/keys/addr:interpolation
https://taginfo.openstreetmap.org/tags/type=associatedStreet

--
Best regards,
Andrzej
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

WanMil

> Both: associatedStreet and addr:interpolation are documented:
> http://wiki.openstreetmap.org/wiki/Relation:associatedStreet
> http://wiki.openstreetmap.org/wiki/Key:addr#Tags_for_interpolation_ways

"As long as we don't have a node or building outline for each
house(number) along a way, it's also possible to use automatic number
interpolation. For that, draw a way connecting the existing house
numbers and mark it with the type of interpolation as shown in the
picture above. Additional tags such as addr:street=* are still added to
the objects with the addr:housenumber=* tag, the interpolation way only
gets the addr:interpolation=* tag. "

So in other words, addr:interpolation should connect two or more
elements that are fully tagged with addr:housenumber and addr:street. So
there is no improvement in adding an addr:interpolation handling to
mkgmap. When removing the interpolation line you still have the single
elements with the housenumber information. They are already converted to
the Garmin format which automatically interpolates.

There is one exception: In case an interpolation covers more than one
street segment:
        ´|
========┴=======
  1------------15

The interpolation 1 to 15 spans over the crossroads. The street have two
segment so the current algorithm ignores the interpolation and would
assign housenumber 1 to the left and 15 to the right segment. This could
be the place where mkgmap might add two virtual housenumber nodes e.g. 9
and 11.

>
> See statistics too:
> https://taginfo.openstreetmap.org/keys/addr:interpolation
> https://taginfo.openstreetmap.org/tags/type=associatedStreet
>

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

Gerd Petermann
In reply to this post by WanMil
Hi WanMil,

I agree that we should not support undocumented tagging.
The question for me is whether the combination of
type=associatedStreet and members with role=house whch
have the addr:interpolation=* tag is documented.
I fear the wiki is not clear about this.

Regarding the normal use of addr:interpolation:
I'll add some code to check if the evaluation is useful.
I think it will improve results when the nodes of the
way have no addr:street tag. The tag value
in the addr:interpolation would also be interesting
when it is a number, e.g. a value 3 in combination
with housenumbers 2 and 20 mean 2,5,8,11,14,17,20,
while a value 2 means even.

I have no idea why someone would use that with numbers
like 18, so maybe all the data using numbers is wrong.

Gerd

WanMil wrote
Hi Gerd, hi Andrzej,

yes, up to now mkgmap collects all elements (pois and polygons) tagged
with addr:housenumber and mkgmap:street (which need to be set by the
style). The elements are afterwards assigned to the nearby street with
the same name. Elements more far away than 500m (?) are discarded.
The street is then divided into segments and mkgmap tries to find the
housenumbers at both ends and both sides of the segments. Additionally
it checks if all housenumbers on one side of the segment are even/odd/both.

Relations like associatedStreet and addr:interpolation were not
implemented by me because the quality was very very bad on the time of
my implementation. Most useful addr:interpolation lines did have a
start/stop point with adequate tagging (addr:housenumber and
addr:street) so there wouldn't have been any quality gain by supporting it.

Now there might have been changes in the tagging quality. Although I
would recommend to check that first. I strongly recommend to only
support taggings how they are documented in the wiki. Otherwise mkgmap
would support bad tagging which I think is not helpful at all.

WanMil

> Hi Gerd,
>
> isn't it a direct fit for Garmin format?
>
> I don't know details, but I assume that cgpsmapper format is very
> straight description of internal structure of img. My understanding is
> that if you assign house numbers to two consecutive junctions, then GPS
> will interpolate addresses between these junctions. Cgpsmapper offer
> possibility to define different numbers for both sides of the road and
> settings like even/odd/both, which describe how interpolation should be
> computed. I guess mkgamp already has similar settings hidden somewhere
> in algorithms.
>

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

Gerd Petermann
In reply to this post by WanMil
Hi WanMil,

(did not read this yesterday)

I agree in most points, but maybe the information that is
given with the addr:interpolation tag should also be used?
The stats in taginfo say that most of them are odd/even,
so we can ignore them. But what about "all" ?

Do you have time to code the interpretation of the addr:interpolation tag?
I don't have an idea how to use it besides simply adding all
housenumbers, but that seems a bit memory costly.

Gerd

> Date: Mon, 1 Dec 2014 22:28:50 +0100

> From: [hidden email]
> To: [hidden email]
> Subject: Re: [mkgmap-dev] housenumbers and addr:interpolation
>
>
> > Both: associatedStreet and addr:interpolation are documented:
> > http://wiki.openstreetmap.org/wiki/Relation:associatedStreet
> > http://wiki.openstreetmap.org/wiki/Key:addr#Tags_for_interpolation_ways
>
> "As long as we don't have a node or building outline for each
> house(number) along a way, it's also possible to use automatic number
> interpolation. For that, draw a way connecting the existing house
> numbers and mark it with the type of interpolation as shown in the
> picture above. Additional tags such as addr:street=* are still added to
> the objects with the addr:housenumber=* tag, the interpolation way only
> gets the addr:interpolation=* tag. "
>
> So in other words, addr:interpolation should connect two or more
> elements that are fully tagged with addr:housenumber and addr:street. So
> there is no improvement in adding an addr:interpolation handling to
> mkgmap. When removing the interpolation line you still have the single
> elements with the housenumber information. They are already converted to
> the Garmin format which automatically interpolates.
>
> There is one exception: In case an interpolation covers more than one
> street segment:
> ´|
> ========┴=======
> 1------------15
>
> The interpolation 1 to 15 spans over the crossroads. The street have two
> segment so the current algorithm ignores the interpolation and would
> assign housenumber 1 to the left and 15 to the right segment. This could
> be the place where mkgmap might add two virtual housenumber nodes e.g. 9
> and 11.
>
> >
> > See statistics too:
> > https://taginfo.openstreetmap.org/keys/addr:interpolation
> > https://taginfo.openstreetmap.org/tags/type=associatedStreet
> >
>
> _______________________________________________
> mkgmap-dev mailing list
> [hidden email]
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

Steve Ratcliffe

Hi Gerd

> I agree in most points, but maybe the information that is
> given with the addr:interpolation tag should also be used?
> The stats in taginfo say that most of them are odd/even,
> so we can ignore them. But what about "all" ?

I agree that addr:interpolation should be used when present.
If you only have two numbers at each end of the interpolation
range you need to know if the intermediate numbers are odd, even
or both.  If the value is something other than odd,even or all then
the mapper was either trying to do something more complex or was
just confused, in which case I would ignore the interpolation.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

Gerd Petermann
Hi Steve,

I found another tag that we don't use:
addr:place

This is used frequently, but I don't know if the img format
supports it?

Gerd

Steve Ratcliffe wrote
Hi Gerd

> I agree in most points, but maybe the information that is
> given with the addr:interpolation tag should also be used?
> The stats in taginfo say that most of them are odd/even,
> so we can ignore them. But what about "all" ?

I agree that addr:interpolation should be used when present.
If you only have two numbers at each end of the interpolation
range you need to know if the intermediate numbers are odd, even
or both.  If the value is something other than odd,even or all then
the mapper was either trying to do something more complex or was
just confused, in which case I would ignore the interpolation.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: housenumbers and addr:interpolation

popej
Hi Gerd,

 > I found another tag that we don't use:
 > addr:place

 > This is used frequently, but I don't know if the img format
 > supports it?

addr:place is used instead of addr:street - some addresses don't contain
street name but name of village instead. I don't think there is
possibility to add points without a road to address search.

Often used circumvention for this problem is to give place name to
nameless roads in nearby area. Then you can add house numbers to roads
and get these addresses in standard address search. City Navigator maps
use this solution.

Other possibility is to create short artificial road (like 10m) at the
point position and add to it place name and house number. This road
doesn't have to be routable, only available in search index. This
solution is used for transparent maps of addresses.

--
Best regards,
Andrzej
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev