Moritz Lennert wrote: > > > Thanks for the reply. Sorry for the delay...out of town. > > On Wed, December 24, 2008 05:55, Ryan R. Rosario wrote: >> >> GRASS simply returns the same point back, since the closest node to A is >> A. > > In grass6.4 you have the dmin option to avoid that. >
That is good to know. Apparently it is not in the tcl/tk GUI. >> If I use patch first, then the from and to maps in v.distance must be the >> same, unless I am misunderstanding something. > > That is correct. > >> >> The vector map containing the intersections (the set of points B) >> contains >> both points (created using v.net nodes) and lines (the original road >> network). I can get the nearest point using v.distance, but this uses >> straight-line distance, not the distance along the road. >> >> Although v.distance offers the "to_along" option, there does not appear >> to >> be anywhere to specify which vector contains the road network. > > IIUC, to_along works if your from_map is a point map and your to_map is a > line map. > >> And it >> seems >> that v.net.path requires that both the start and end points must be known >> a >> priori, and I only have the start point. I am trying to find the end >> point >> (the nearest intersection). I am stuck, but I think I am missing >> something >> important here. > > As a reminder, here's your original question: > "I have two vector maps consisting of points and a vector map containing a > road network. Given a point A, I want to find the nearest point B along > the > road network, for each A." > > There is a definite need for a v.net.distance, i.e. a v.distance on a > network. Maybe you could file a wish for that on trac. > Will do. I am glad you mentioned this. I suspected that what I was attempting was not easy, or not yet possible, but kept chasing my tail. > Here's an algorithm I imagine could help you get closer to an answer > (untested): > > - Use v.net.iso on your road network with one point A as starting point > setting "costs" to a sufficiently fine-grained resolution of distances. > - Run v.distance with from_map=B to_map=VNetIsoOutput upload=cat > - Find point in B with lowest cat (through SQL query on the attribute > table) > I will try this. > Quite convulted, but might work, depending on the number of points and the > complexity of your road network. Note that currently the v.net.* modules > in GRASS do not work very well, and hardly at all once the network becomes > too big. Rewriting these modules to be more scalable and reliable would be > a nice Google Summer of Code project for next year. > That would be excellent. Now that I know this, I might take a look at the code, as what I am trying to do relates to my dissertation. R. -- View this message in context: http://n2.nabble.com/Finding-Nearest-Intersection-%28point%29-on-Road-Network-tp1886245p2114512.html Sent from the Grass - Users mailing list archive at Nabble.com. _______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
