On Mon, 6 Apr 2009 21:08:15 -0400 (EDT), Steve Singer
<[email protected]> wrote:
> If the interpolation ways model the geometry of the original way just
> offset 
> by some factor then the interpolation ways wouldn't cross the street 
> segment.  If your source for the addresses is the same as the source for 
> your roads (as is this case with geobase) then this isn't hard to
implement

Sorry to disasspoint you but if the road turns by more then 90° then
a copy of the way offset along the normal at the start-point would cross
the way.
You would need to have each of the nodes offset along the average of normal
of both segments before and after each point. so:

createInterpokationWay(way w, int offset) {

Node startInterpNode = new Node(w.getNode(0).location + 
   offset * w.getNode(0).getNextSegment().vectorNormalLeft());

foreach (Node n in w.nodes except 0 and last) {
  Vector last = w.getNode(0).getLastSegment().vectorNormalLeft();
  Vector next = w.getNode(0).getNextSegment().vectorNormalLeft();
  Vector normalVector = 
          new Vector((last[0] + next[0]) / 2,
                     (last[1] + next[1]) / 2).normalize()
  Node interpNode = new Node(w.getNode(0).location + 
     offset * normalVector );
}

Node endInterpNode = new Node(w.getNode(last).location + 
   offset * w.getNode(last).getLastSegment().vectorNormalLeft());

}

Not as difficult as andrzej thought it would be.


> 
> but results in a lot of extra nodes.  If your trying to overlay some
> address 
> data onto existing roads this becames a bit harder but is still doable
(get
> 
> the project your addresses onto the road segment, and duplicate+offset
it).
> 
> The big concern I have with having the interpolation ways model the
> geometry 
> of the original road is that we are increasing the number of nodes (and 
> ways) required by a factor of 3.  One set of nodes + way for the road, a 
> second set all shifted x meters to for the right side and a third set 
> shifted -x meters for the left side.


does not matter much as eventually you will have even more nodes when
people
come back and start drawing the polygons of the buildings. 

Marcus

_______________________________________________
talk mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk

Reply via email to