assume walking

1 view
Skip to first unread message

Almir Karic

unread,
Jul 27, 2009, 8:45:24 AM7/27/09
to libr...@googlegroups.com
imagine the situation:
- walk to the nearest bus station
- get at some other bus
- walk to next bus station
- get down at some station
- walk to desired destination

is there a nice way to get that kind of functionality (assume a walk
if the nodes don't seem to be connected)?


http://static.kiberpipa.org/~redduck666/libroutez.input

if i take out the way with id="3":

../../examples/testgraph mygraph.routez 46.0386799 14.4708851
46.0988924 14.5177714 16260 weekday
Loading graph...
Calculating path...
Couldn't find path.


BTW, it may be a good idea to note in the README that you can't run
libroutez on stock lenny or ubuntu 8.10, because they have too old
libboost,


--
python/django hacker & sys admin
http://almirkaric.com & http://twitter.com/redduck666

William Lachance

unread,
Jul 30, 2009, 8:39:03 AM7/30/09
to libr...@googlegroups.com
2009/7/27 Almir Karic <al...@almirkaric.com>:

>
> imagine the situation:
> - walk to the nearest bus station
> - get at some other bus
> - walk to next bus station
> - get down at some station
> - walk to desired destination
>
> is there a nice way to get that kind of functionality (assume a walk
> if the nodes don't seem to be connected)?

libroutez assumes that your graph is connected, and that there is no
way to get somewhere if there's no edge connecting one part of the
graph to the other.

Generally, I like using this approach because the resulting graph that
the pathfinding algorithm spits out looks much better (because the
directions appear on a street-level graph), however if you're not
fussy you can just omit street-level information entirely and assume
that you can walk between any two (public transit) nodes on the graph.
This actually works better than you might expect, though any
visualization of your trip will look awful and the directions/time
estimates are obviously not as accurate.

> BTW, it may be a good idea to note in the README that you can't run
> libroutez on stock lenny or ubuntu 8.10, because they have too old
> libboost,

Really? Wow. I didn't think the version of boost that I required was
*that* recent (I've been doing most of my development on OpenSUSE 11.1
though I'm planning to switch back to Ubuntu at some point). Are you
sure you're pulling in the right package? In any event, I'll take a
look and update things accordingly if necessary.

--
William Lachance
wrl...@gmail.com

Almir Karic

unread,
Jul 30, 2009, 9:33:41 PM7/30/09
to libr...@googlegroups.com
On Thu, Jul 30, 2009 at 5:39 AM, William Lachance<wrl...@gmail.com> wrote:
>
> 2009/7/27 Almir Karic <al...@almirkaric.com>:
>>
>> imagine the situation:
>> - walk to the nearest bus station
>> - get at some other bus
>> - walk to next bus station
>> - get down at some station
>> - walk to desired destination
>>
>> is there a nice way to get that kind of functionality (assume a walk
>> if the nodes don't seem to be connected)?
>
> libroutez assumes that your graph is connected, and that there is no
> way to get somewhere if there's no edge connecting one part of the
> graph to the other.
>
> Generally, I like using this approach because the resulting graph that
> the pathfinding algorithm spits out looks much better (because the
> directions appear on a street-level graph), however if you're not
> fussy you can just omit street-level information entirely and assume
> that you can walk between any two (public transit) nodes on the graph.
> This actually works better than you might expect, though any
> visualization of your trip will look awful and the directions/time
> estimates are obviously not as accurate.

any examples on how can i do that from the (python) api?

>
>> BTW, it may be a good idea to note in the README that you can't run
>> libroutez on stock lenny or ubuntu 8.10, because they have too old
>> libboost,
>
> Really? Wow. I didn't think the version of boost that I required was
> *that* recent (I've been doing most of my development on OpenSUSE 11.1
> though I'm planning to switch back to Ubuntu at some point). Are you
> sure you're pulling in the right package? In any event, I'll take a
> look and update things accordingly if necessary.

http://static.kiberpipa.org/~redduck666/libroutez.error.txt this is on
lenny with libboost1.35-dev installed (1.34 is there by default)

William Lachance

unread,
Aug 2, 2009, 9:14:03 PM8/2/09
to libr...@googlegroups.com
2009/7/30 Almir Karic <al...@almirkaric.com>:

>> Generally, I like using this approach because the resulting graph that
>> the pathfinding algorithm spits out looks much better (because the
>> directions appear on a street-level graph), however if you're not
>> fussy you can just omit street-level information entirely and assume
>> that you can walk between any two (public transit) nodes on the graph.
>> This actually works better than you might expect, though any
>> visualization of your trip will look awful and the directions/time
>> estimates are obviously not as accurate.
>
> any examples on how can i do that from the (python) api?

The trick would be to modify the library to (1) not demand osm
information and (almost certainly) (2) Link nearby public transit
tripstops so you can route between them. This would require some minor
modifications to the creategraph.py to not demand an osm file, and
some changes to tripgraph.cc to link the public transit tripstops (you
could base this method on the link_osm_gtfs one).

--
William Lachance
wrl...@gmail.com

Almir Karic

unread,
Aug 2, 2009, 10:58:48 PM8/2/09
to libr...@googlegroups.com
regarding the graphserver, any hints what are the differences with the
libroutez?

Also, out of the curiosity, is there any collaboration between the
two? any plans to do so? :)

William Lachance

unread,
Aug 3, 2009, 1:51:51 PM8/3/09
to libr...@googlegroups.com
2009/8/2 Almir Karic <al...@almirkaric.com>:

>
> regarding the graphserver, any hints what are the differences with the
> libroutez?

In many ways they're very similar. Graphserver has some extra features
(notably, "arrive by" trip plans) and a more general architecture. On
the other hand, libroutez supports more languages and (in my opinion)
is somewhat more approachable and easier to use and hack on. This
message to transit-developers might say more:

http://groups.google.com/group/transit-developers/browse_thread/thread/61f296654f944422#

> Also, out of the curiosity, is there any collaboration between the
> two? any plans to do so? :)

I met its principal author, Brandon Martin Anderson, a few months ago
at a conference and we chatted a bit about these things. At the
moment, we're mostly just in the mode of borrowing ideas from each
other.

I've been considering trying to modify a branch of graphserver so it
has some of the characteristics of libroutez. However, I haven't
really had time even to do a proper evaluation of what I'd need to do
or how it should work, let alone begin hacking. Maybe in the next few
months after some of my other projects get out the door...
--
William Lachance
wrl...@gmail.com

Reply all
Reply to author
Forward
0 new messages