[RouterGeocoder] Poly line features
Stephen Woodbridge
woodbri at swoodbridge.com
Sat Mar 28 17:13:49 EDT 2009
Ashraf Hossain wrote:
> I was studying the Boost Graphics library, this is a huge project with
> a big man power.
> I think developing a huge graph library should not be our target.
>
> In my mind I was thinking developing a graph builder (independent
> application) along with a graph library which can be very easily
Yes definitely we need a graph builder first. So that all the
preprocesing that you can do before solving only gets done once and not
on every request.
> usable in mapserver. The library not only solve the shortest path but
> also the text driving direction along with navigation support.
> I alredy developed almost same library for a organization in my
> previous experience which is being used professionally.Though their
> requirement was not too big.
pgRouting already handles modest sized problems. I think one of the
challenges for OpenRouter is to develop a commercial grade router that
can handle graphs with 25-30 million edges. This is how big Navteq data
is for North America or Europe and I assume TeleAtlas is of a similar size.
> Beside this I want to develop a library where the weight of a edge is
> changeable through a request. Because in the modern world all kind of
> service provider want to change the traffic information dynamically.
Yes there are a lot of provides in US and Europe that supply traffic
data encoded with Navteq LINK_ID values. The LINK_ID is the unique edge
identifier.
> And more or less I am too much motivated and inerested to contribute
> in routergeocoder library development.
I'm sorry does this mean you are interested? If so that would be really
great.
> If I am wrong please let me know.
Well you as the one that is putting a lot of the effort in has the say
in want gets done. There are a lot of smaller implementations that can
handle city, county or state wide sized data sets. The real challenge
that I would think would be of interest to potential partners that might
contribute funding would be a router that can do the things you want to
do but for large data sets, like all of US and Canada or all of Europe.
And regardless of funding issues, it is these larger solutions that
would make for an interesting OpenRouter project and I think will draw
the attention of a wider audience.
I have thought a lot about these problems and Anton Patrushev and I have
discussed them quite a bit. Anton, please jump into this discussion. You
and I don't always agree but your thoughts and insights are always welcome.
Boost is a large comprehensive "collection" of algorithms, but you only
need to use small pieces of it in any project. A good example is that
pgRouting embeds a small part of it into the postgresql server. The same
could be done for mapserver. Either way you go, I would encourage you to
think about it as a library that can be called from mapserver,
posgresql, wrapped via SWIG in perl, php, etc. Make is a module that can
easily be reused and extended. Separate the logical data stores from the
physical access to that storage, so that if someone want to store the
data in a SQL engine they can easily rewrite the access routines to
put/get the data from the appropriate place.
In the Boost libraries they use a concept of a "visitor" that can be
associated with a node or an edge. The visitor can do things like look
up dynamic cost information or modify behavior because of turn
restrictions, etc. I learned a lot about Boost Graph just be reading
through the Graph tutorial in a couple of hours. I guess one of the
challenges might be that there is a learning curve around the Boost
libraries vs build something that you are already familiar with.
Regardless, of the direction you choose to go, I'm sure you will get
support and advice from the list and from me.
More information about the Routergeocoder
mailing list