[pgrouting-dev] Gsoc 2013 Preliminary project proposal

Dave Potts dave.potts at pinan.co.uk
Tue Apr 23 22:13:33 PDT 2013


On 23/04/13 14:02, Stephen Woodbridge wrote:
Hi Steve,

We often seem to get a lot of questions on this list about pg-route does 
not work with my database, how do I handle xyz etc.

What I was hoping for, that a complex spatial network could be developed 
for testing, documentation be include in pg-route saying this is an 
example spatial database, install this, pg-route generates this type of 
result when shooting example is applied etc.

That way, next time somebody mails in,  I am having problems with geting 
this routing method to work, you can ask the question does the example 
database work correctly, that way you would known that 
postgres/postgis/pg-route software had been correctly installed.

Dave.
> Hi Dave,
>
> All algorithm should have tests as part of the new 2.0 release branch. 
> While the current tests are pretty trivial, I would hope over time 
> that we add to the existing tests to improve on out test coverage. One 
> of the reasons that shooting star got so broken was because we did not 
> have any tests to verify that changes made to it did not break it.
>
> The new directory structure is:
>
> src/<algorithm>/<src|sql|doc|test>/
>
> in the test sub-directory there are:
>
> test.conf
> *.data
> *.test
> *.rest
>
> Where the test.conf file identifies what what data files to load and 
> what test to run and it the control file that the test-runner.pl 
> script looks for.
>
> *.data - sql ascii dump or sql statements to create data tables needed 
> for any of the given tests.
>
> *.test - a sql query that the results of will be diff'd against a 
> corresponding *.rest file. Any differences are reported as test failures.
>
> I would expect all new code to have tests installed in the future.
> What were you referring to by a 'test grid'?
>
> Thanks,
>   -Steve
>
> On 4/23/2013 2:41 AM, Mukul priya wrote:
>> Hi Dave ,
>>
>> Can I suggest that a 'test grid' be created for this project and be made
>> part of pgroute package.
>>
>> In that way, when somebody is having a problem, they can be asked to run
>> a problem basied on the 'test gird' and it can be discovered very
>> quickly if there is problem with the pgroute package or something else.
>>   Can you be a bit more elaborate about this??
>>
>> Sorry for replying late.
>>
>>
>> Mukul
>>
>>
>>
>>
>> On Tue, Apr 16, 2013 at 9:00 PM, Stephen Woodbridge
>> <woodbri at swoodbridge.com <mailto:woodbri at swoodbridge.com>> wrote:
>>
>>     On 4/15/2013 6:36 AM, Mukul priya wrote:
>>
>>         Hi Steve ,
>>                         Just to clear things i would prefer item 2 (
>>         partitioning
>>         graph and then routing ) over item1 ( multi point routing ) .Its
>>         kind of
>>         exciting and challenging too. what are your thoughts regarding
>>         this??
>>
>>
>>     I am fine with this preference. I think it is more important that
>>     whatever you work on will be exciting and keep you interested
>>     through out the course of the project.
>>
>>
>>                      I went through the mail archive of previous years
>>         and it was
>>         quite useful .  For now i am trying to get familiar with the
>>         development
>>         framework whenever i get time  using this link
>> (https://github.com/pgRouting/__pgrouting/wiki/Developer---__Getting-Started
>> <https://github.com/pgRouting/pgrouting/wiki/Developer---Getting-Started>).
>>         Once i am done with my semester by 23rd of this month i will
>>         speed up
>>         significantly.
>>
>>                        Meanwhile feedbacks and suggestions are welcome.
>>
>>
>>     As you have time learning the development environment and github are
>>     critical so you can focus on your project and not the 
>> infrastructure.
>>
>>     You should also look over:
>> https://github.com/pgRouting/__pgrouting/wiki/2.0-__Development-Guidelines-and-__Standards
>> <https://github.com/pgRouting/pgrouting/wiki/2.0-Development-Guidelines-and-Standards>
>>
>>     Thanks,
>>        -Steve
>>
>>         Thanks
>>
>>         Mukul
>>
>>
>>
>>
>>         On Sun, Apr 14, 2013 at 7:11 PM, Mukul priya
>>         <mukul2047 at gmail.com <mailto:mukul2047 at gmail.com>
>>         <mailto:mukul2047 at gmail.com <mailto:mukul2047 at gmail.com>>> 
>> wrote:
>>
>>              Thanks  for the reply Steve , clarifies all the issues that
>>         i raised
>>              , Proposed data structures cover  what we need , quad tree
>>         should
>>              work too ,  I am right now looking into the last part which
>>              describes the method of appending our graph with new cells
>>         , seems
>>              fine and very much implementable , will post something in
>>         case some
>>              new ideas strike me . :)
>>
>>
>>                Thanks.
>>
>>
>>              On Sun, Apr 14, 2013 at 10:59 AM, Stephen Woodbridge
>>              <woodbri at swoodbridge.com <mailto:woodbri at swoodbridge.com>
>>         <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>> wrote:
>>
>>                  On 4/13/2013 11:12 PM, Mukul priya wrote:
>>
>>                      Thanks Steve for clearly mentioning the two 
>> proposals.
>>
>>                      For Item 1 , upgrading all the algorithms will
>>         certainly
>>                      require a lot
>>                      of work and since i will be having my summer 
>> vacation i
>>                      don't have any
>>                      issue with it :).
>>
>>
>>                      For item 2 , i am looking into the idea that you 
>> have
>>                      proposed , It is
>>                      very much doable , there are however some concerns
>>         of mine like
>>
>>                      - how do we decide what should be the grid size .
>>         this can
>>                      vary for
>>                      suburban area and urban area based on netwrok 
>> density.
>>
>>
>>                  This might be done with a quad tree approach. You start
>>         with a
>>                  square and some condition like maximum number of node.
>>         If you
>>                  exceed that number you quarter it into 4 squares and
>>         divide the
>>                  point into each of them.
>>
>>
>>                      - how do we classify the nodes lying on the
>>         junction of two
>>                      or more
>>                      grids . should it be assigned to all the grids??
>>
>>
>>                  A node can only lie in one square or the edge 
>> boundary of a
>>                  square it does not matter which one it is put in. Edges
>>         need to
>>                  be flagged if the cross a square boundary.
>>
>>
>>                      - how do we decide the grid that needs to be loaded
>>         in the
>>                      memory ,
>>                      connectivity with the previous grid seems legit
>>         here but i
>>                      guess we need
>>                      to discuss some corner cases too.
>>
>>
>>                  We could probably do something like
>>
>>                  typedef struct pair {
>>                     int a;
>>                     int b;
>>                  } PAIR;
>>
>>                  typedef struct edge_type {
>>                     int node_a;
>>                     int node_b;
>>                     PAIR *squares; // NULL if it does not cross 
>> square edge
>>                     float cost;
>>                     float rcost;
>>                  } EDGE;
>>
>>                  Where PAIR can be assign the gridcell for the a and 
>> b ends.
>>
>>                  If we number the grid cells by their quadtree 
>> numbers like:
>>
>>                  +---+---+
>>                  | 1 | 2 |
>>                  +---+---+
>>                  | 3 | 4 |
>>                  +---+---+
>>
>>                  So you start, with the above for your coverage area. 
>> So all
>>                  nodes would fall into cells 1-4. If you had to split 
>> cell 1
>>                  above, then those 4 new cells would be number 11, 12,
>>         13, 14 and
>>                  the remaining unsplit cells would still be 2, 3, 4. If
>>         you had
>>                  to further split cell 14, then the new cells would be
>>         numbered
>>                  141, 142, 143, 144. So each time a cell gets
>>         subdivided, it gets
>>                  another digit added.
>>
>>                  This is the challenge of design good algorithms, if 
>> we have
>>                  millions of edges and node, we need to be efficient
>>         memory wise
>>                  with our data structures but still be fast. In the
>>         database, you
>>                  need to think about where the data is coming from (ie:
>>         tables
>>                  using queries) and when it gets moved into memory. You
>>         can't
>>                  think just C code or database code, you have to use 
>> both.
>>
>>                  The idea being that we want to prepare our data in
>>         tables, then
>>                  issue queries from C to get the new edges we need to 
>> append
>>                  cell(s) to our graph. So I'm thinking that we have a
>>         recursive
>>                  plpgsql procedure that splits the nodes into the
>>         appropriate
>>                  quadtree cells based on some rules. So for example we
>>         have a
>>                  vertices_tmp table that we use to assign node numbers
>>         to nodes,
>>                  we could add a cell column like this:
>>
>>                  CREATE TABLE vertices_tmp
>>                  (
>>                     id serial NOT NULL,
>>                     cell bigint,
>>                     the_geom geometry,
>>                  );
>>
>>                  and after we run the quadtree analysis each node is
>>         assigned a
>>                  cell number. The edge table has node_a and node_b
>>         assigned to it
>>                  also.
>>
>>                  If we want all edges related to cell 114 then we can do
>>         a query
>>                  like:
>>
>>                  select b.*
>>                     from vertices_tmp a, edges b
>>                    where a.cell=114 and (a.id <http://a.id>
>>         <http://a.id>=b.node_a or a.id <http://a.id>
>>                  <http://a.id>=b.node.b);
>>
>>
>>                  Thoughts?
>>
>>                  -Steve
>>
>>
>>                      Thanks.
>>
>>
>>
>>
>>                      On Sat, Apr 13, 2013 at 6:20 AM, Stephen Woodbridge
>>                      <woodbri at swoodbridge.com
>>         <mailto:woodbri at swoodbridge.com>
>>         <mailto:woodbri at swoodbridge.__com 
>> <mailto:woodbri at swoodbridge.com>>
>>                      <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>>> wrote:
>>
>>                           On 4/11/2013 3:24 PM, Mukul priya wrote:
>>
>>                               Hi Steve and Daniel,
>>
>>
>>                                         You suggested extending the 
>> present
>>                      algorithms such
>>                               that its
>>                               input  can take more points and not only
>>         the source and
>>                               destination . i
>>                               think this can be implemented and i will
>>         soon come
>>                      up with
>>                               implementation details( kind of more
>>         technical ) .
>>
>>                                         Can you be a liitle bit more
>>         elaborate about
>>                               partioning data
>>                               into spatial chunks or even suggest some
>>         readings .
>>                      I can then
>>                               come up
>>                               with some better ideas about 
>> implementing it.
>>
>>
>>                           This is just me thinking out loud :)
>>
>>                           Lets say we construct a grid of one degree
>>         squares, you can
>>                           visualize it by drawing a grid over your map.
>>
>>                           Then you can associate all the nodes with the
>>         grid they
>>                      fall in. We
>>                           might also need to associate edges to the
>>         grids also
>>                      and an edge the
>>                           crosses over a grid boundary might need to be
>>                      associated with two
>>                           grids. This could be done with some simple
>>         relational
>>                      tables like:
>>
>>                           node_id|grid_id  or  edge_d|grid_id
>>
>>                           So my idea would be to do the routing like 
>> this:
>>
>>                           1. get the start node or edge
>>                           2. build the graph based on loading the items
>>         in the
>>                      related grid
>>                           3. mark the boundary nodes (we might want to
>>         do this
>>                      when we grid them)
>>                           4. run the algorithm until we find the target
>>         node or
>>                      hit a boundary
>>                           node
>>                           5. on hitting a boundary:
>>                              a. we check if the connected grid is 
>> loaded and
>>                      continue if it is
>>                              b. or we extent the graph with the new grid
>>                           6. continue with the routing
>>
>>                           We might want to be able to dynamically change
>>         the size
>>                      of the grid
>>                           cell based on the number of items in it. This
>>         would
>>                      give us better
>>                           performance when transitioning from rural
>>         areas into
>>                      urban areas
>>                           where there is a greater density of road 
>> segments.
>>                      Think of a
>>                           quadtree where we split it based on number of
>>         entities.
>>
>>
>>                                         Daniel , i took a look at the
>>         oracle link
>>                      that you
>>                               provided but
>>                               there was no details about how it has been
>>                      implemented , it was more
>>                               about how one can use it. May be a bit
>>           more search
>>                         and luck might
>>                               take me to its implementation document 
>> :) .
>>
>>
>>                           Right, it is useful if you look at the
>>         documentation
>>                      and ask why did
>>                           they do it that way and what does it imply
>>         about how it
>>                      works behind
>>                           the scenes.
>>
>>
>>                                          The other thing that you
>>         mentioned was
>>                      about contraction
>>                               Hierarchy . Still the nodes have to be 
>> ordered
>>                      based on some
>>                               criteria or
>>                               according to their importance . We can
>>           use natural
>>                      hierarchy
>>                               present in
>>                               the network for doing that .
>>
>>
>>                           This is not related to what you proposed. 
>> It is an
>>                      algorithm that
>>                           does a lot of precompuation, that is LOTS in
>>         capitals,
>>                      but it can
>>                           get results in milliseconds for cross country
>>         routes.
>>
>>
>>                                           i will be really grateful if
>>         anyone can
>>                      correct me
>>                               in case if
>>                               my thought process in not on the right
>>         lane and
>>                      sorry for the
>>                               late reply
>>                               as my academic session  is in progress too
>>                      .Meanwhile  i am
>>                               trying to
>>                               get fluent with git ,cmake and other 
>> tools.
>>
>>
>>                           So read over our wiki:
>>
>>         https://github.com/pgRouting/______pgrouting/wiki
>>         <https://github.com/pgRouting/____pgrouting/wiki>
>> <https://github.com/pgRouting/____pgrouting/wiki
>> <https://github.com/pgRouting/__pgrouting/wiki>>
>>
>>
>>
>>           <https://github.com/pgRouting/____pgrouting/wiki
>>         <https://github.com/pgRouting/__pgrouting/wiki>
>> <https://github.com/pgRouting/__pgrouting/wiki
>> <https://github.com/pgRouting/pgrouting/wiki>>>
>>
>>                           The way I see it at the moment there are two
>>         unrelated
>>                      proposals on
>>                           the table (I'm leaving out the contraction
>>         hierarchy):
>>
>>                           1. multi point routing
>>                           2. partition JIT graph building while routing
>>
>>                           Item 1 is fairly trivial technically, I think,
>>         but if
>>                      you were to
>>                           upgrade all the algorithms to do this it would
>>         be a lot
>>                      of work and
>>                           a useful contribution to pgrouting.
>>
>>                           Item 2 is more of a design and code a new
>>         algorithm and
>>                      you would
>>                           probably want to focus on using astar or trsp
>>         algorithm
>>                      to do this
>>                           with. This one is more technically challenging
>>         and has
>>                      more unknowns
>>                           in it but I think it should be doable.
>>
>>                           If you are interested in reading about 
>> contraction
>>                      hierarchies:
>>         https://www.google.com/#q=______contraction
>>         <https://www.google.com/#q=____contraction>
>> <https://www.google.com/#q=____contraction
>>         <https://www.google.com/#q=__contraction>>
>>
>>
>> <https://www.google.com/#q=____contraction
>>         <https://www.google.com/#q=__contraction>
>>                      <https://www.google.com/#q=__contraction
>>         <https://www.google.com/#q=contraction>>> hierarchies
>>
>>                           Thanks,
>>                              -Steve
>>
>>                               Thanks .
>>
>>                               Mukul
>>
>>
>>
>>
>>                               On Thu, Apr 11, 2013 at 6:47 PM, Stephen
>>         Woodbridge
>>                               <woodbri at swoodbridge.com
>>         <mailto:woodbri at swoodbridge.com>
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>
>>                      <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>>
>>                               <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.
>>                      <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.>______com
>>                               <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>>>> wrote:
>>
>>                                    With pgRouting, we do most things
>>         dynamically,
>>                      here is the
>>                               basic flow:
>>
>>                                    1. Given a collection of input,
>>         points, nodes,
>>                      or edges
>>                                    map these to nodes or edges 
>> depending on
>>                      algorithm.
>>
>>                                    2. Select the edges we need to build
>>         the graph
>>
>>                                    3. build the graph and solve it
>>
>>                                    4. return the results
>>
>>                                    All our algorithms today only take
>>         start and
>>                      end points.
>>                               They could
>>                                    be extended to take points. Each
>>         "point" (I
>>                      use "point" as
>>                               a generic
>>                                    term because it might be a lat/lon,
>>         node id,
>>                      edge id and
>>                               offset,
>>                                    etc) would need to be mapped to the
>>                      appropriate input need
>>                               for any
>>                                    given algorithm.
>>
>>                                    So for node based algorithms like
>>         Dijkstra,and
>>                      astar it
>>                               would get
>>                                    resolved to a node. For TRSP it 
>> would get
>>                      mapped to the
>>                               nearest edge
>>                                    and offset along that edge. Postgis
>>         has lots
>>                      of handy tools for
>>                                    doing this.
>>
>>                                    -Steve
>>
>>
>>                                    On 4/10/2013 10:50 PM, Mukul priya 
>> wrote:
>>
>>                                        Thanks for the reply steve . i 
>> have
>>                      already cloned the
>>                               github
>>                                        repository
>>                                        and looking into various aspects
>>         of it .
>>
>>                                        For IRNN querry implementation i
>>         think it
>>                      is a good
>>                               idea to sub
>>                                        divide
>>                                        the whole route and generate n+1
>>         routes
>>                      separately ,
>>                               say from S
>>                                        to F1 ,
>>                                        F1-F2 ,..... F(n-1)-Fn , Fn to 
>> D . i
>>                      wanted to know if
>>                               we have
>>                                        that kind
>>                                        of a data where each and every
>>         facility is
>>                      mentioned on
>>                               the map as a
>>                                        point (node ) . even if it is not
>>         directly
>>                      connected to
>>                               the road
>>                                        network
>>                                        we can basically treat it a
>>         pseudo node
>>                      and then call
>>                               the router
>>                                        . The
>>                                        other thing about optimization
>>         yes we can
>>                      do that using
>>                               spatial
>>                                        range
>>                                        querries suppose there are 
>> several
>>                      instances of the same
>>                                        facility that a
>>                                        user wants to access then we 
>> can use
>>                      spatial range
>>                               querries to
>>                                        locate
>>                                        that facility which is the 
>> nearest.
>>
>>
>>                                        On Thu, Apr 11, 2013 at 1:42 AM,
>>         Stephen
>>                      Woodbridge
>> <woodbri at swoodbridge.com
>>         <mailto:woodbri at swoodbridge.com>
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>
>>                               <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>>
>>                               <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.
>>                      <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.>______com
>>                      <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>>         <mailto:woodbri at swoodbridge.com>>>>
>> <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>
>>                      <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>>.
>>                               <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>
>>                      <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>>.>________com
>>
>>
>>
>> <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.
>>                      <mailto:woodbri at swoodbridge
>>         <mailto:woodbri at swoodbridge>.>______com
>>                               <mailto:woodbri at swoodbridge.
>>         <mailto:woodbri at swoodbridge.>____com
>>                      <mailto:woodbri at swoodbridge.__com
>> <mailto:woodbri at swoodbridge.com>>>>>> wrote:
>>
>>                                             On 4/10/2013 3:23 PM, Mukul
>>         priya wrote:
>>
>>
>>                                                 Hi ,
>>
>>
>>                                             Hi Mukul,
>>
>>                                             Thank you for your interest
>>         in pgRouting.
>>
>>                                                                I am a
>>           B.tech
>>                      fourth year
>>                               student at
>>                                        IIIT-Hyderabad
>>                                                 pursuing a degree in
>>         computer
>>                      science and
>>                               engineering
>>                                        and i will
>>                                                 be soon
>>                                                 pursuing a Masters
>>         Degree in the
>>                      field of Spatial
>>                                        Informatics
>>                                                 and the
>>                                                 research topic that i
>>         have been
>>                      working on is *"In
>>                                        route nearest
>>                                                 neighbour querries".*
>>
>>
>> Last year
>>         i worked
>>                      on a project
>>                               that was
>>                                        funded by
>>                                                 Honeywell technology
>>         solutions
>>                      and it gave me
>>                               a lot of
>>                                        insight about
>>                                                 open source 
>> programming and
>>                      industrial work
>>                               culture.
>>
>>                                                 I was introduced to
>>         pgrouting by
>>                      *Prof. Venkatesh
>>                                        Raghavan* who
>>                                                 visited
>>
>>                                                 our college last summer.
>>         i have
>>                      also used
>>                               pgrouting for
>>                                                 implementing one
>>                                                 of my Honors project.
>>
>>                                                 i have gone through the
>>         updated
>>                      ideas page and
>>                               i am
>>                                        listing out
>>                                                 a topic
>>                                                 that i feel i can
>>         contribute to.
>>
>>                                                 *Idea *
>>
>>                                                 Network Partitioning
>>
>>                                                 A very simple method
>>         using which
>>                      it can be
>>                               done is :
>>
>>                                                    * *Existence of a 
>> natural
>>                      Hierarchy*
>>
>>
>> Generally road
>>                      networks are
>>                               organized such
>>                                        that there
>>                                                 is some
>>                                                 natural hierarchy for
>>         example if
>>                      we look at
>>                               the road
>>                                        network of
>>                                                 USA we
>>                                                 observe that there are
>>         national
>>                      highways which
>>                               connect
>>                                        multiple
>>                                                 large
>>                                                 regions , inter state 
>> roads
>>                      connect places
>>                               within these
>>                                        regions
>>                                                 , multi
>>                                                 lane roads connect city
>>         areas and
>>                      then there
>>                               are small
>>                                        roads to
>>                                                 connect
>>                                                 individual houses.
>>
>>                                                              so what we
>>         can do is
>>                      first rank these
>>                                        classes that
>>                                                 constitute the road
>>         network and
>>                      then use the
>>                               highest
>>                                        level roads to
>>                                                 divide the road 
>> network into
>>                      large regions
>>                               enclosed by
>>                                        these
>>                                                 roads. each
>>                                                 of the divided 
>> regions can
>>                      further be divided
>>                               again
>>                                        using next lower
>>                                                 level road.
>>
>>                                                              so suppose
>>         we have a
>>                      road network
>>                               which n
>>                                        classes of
>>                                                 different roads then 
>> we can
>>                      create a tree of
>>                               depth n-1
>>                                        where the
>>                                                 root of
>>                                                 the tree will 
>> represent the
>>                      entire road
>>                               network and
>>                                        children of
>>                                                 the the
>>                                                 root node will represent
>>         the area
>>                      formed by
>>                                        partitioning the
>>                                                 root using
>>                                                 the level 1 ( highest )
>>         edges and
>>                      so on . the
>>                               nodes
>>                                        will basically
>>                                                 represent a smaller part
>>         of the
>>                      road network.
>>
>> The idea
>>         seems to
>>                      be very naive
>>                               right now
>>                                        but if
>>                                                 anyone can
>>                                                 give some feedback
>>         whether it is
>>                      achievable or
>>                               not or
>>                                        may be suggest
>>                                                 some modifications.
>>
>>
>>                                             Yes this is the basics of
>>         how this
>>                      could work.
>>                               Because we
>>                                        build our
>>                                             graphs dynamically for each
>>         route
>>                      request, we can do
>>                                        something like
>>                                             this today. Typically you
>>         have to
>>                      feed the route
>>                               request
>>                                        and SQL
>>                                             query that provides the
>>         edges needed
>>                      to build the
>>                               graph and
>>                                        this can
>>                                             be simply the bounding box
>>         of the
>>                      start and end
>>                               point of
>>                                        the route
>>                                             expanded slightly to allow
>>         the route
>>                      move outside that
>>                                        bounds by a
>>                                             little if needed. A case in
>>         point are
>>                      start and
>>                               end points
>>                                        that form
>>                                             a vertical of horizontal 
>> line.
>>
>>                                             So for the natural
>>         hierarchy, you can
>>                      for a SQL
>>                               query like:
>>
>>                                             select * from edges where
>>                      st_dwithin(the_geom,
>>                               start_pnt,
>>                                        radius)
>>                                             union
>>                                             select * from edges where
>>                      st_dwithin(the_geom,
>>                               end_pnt, radius)
>>                                             union
>>                                             select * from edges
>>                                                where
>>                      st_expand(st_makeline(start___________pnt,
>>
>>
>>                               end_pnt), pct)
>>
>>
>>                                                  and road_class < 4;
>>
>>                                             So this gets all edges
>>         regardless of
>>                      class at the
>>                               start and
>>                                        end and
>>                                             then gets all the major
>>         roads and
>>                      highways between the
>>                                        start and end
>>                                             points. We can dynamically
>>         select the
>>                      edges that
>>                               we want
>>                                        when we
>>                                             build the graph.
>>
>>                                             Regardless of how you
>>         implement the
>>                      routing, the
>>                               problem is all
>>                                             about the data. If you have
>>         a road
>>                      segment the is
>>                                        misqualified, you
>>                                             might end up with a network
>>         that is
>>                      broken between
>>                               start
>>                                        and end.
>>                                             This can alsoo happen if
>>         ramps are
>>                      not coded
>>                               correctly.
>>
>>                                             One of the challenges we
>>         have today
>>                      is that we
>>                               have to be
>>                                        able to
>>                                             construct the whole graph in
>>         memory
>>                      before we can
>>                               start
>>                                        routing.
>>                                             This is ok for small areas
>>         but it is
>>                      a problem if
>>                               you want to
>>                                             generate a route between say
>>         Miami,
>>                      Florida and
>>                               Seattle,
>>                                        Washington.
>>                                             An interesting problem would
>>         be the
>>                      ability to
>>                               partition
>>                                        the data in
>>                                             spatial chucks and only load
>>         them as
>>                      the solver
>>                               needed them.
>>
>>                                             If you think about your
>>         edges sorted
>>                      into say 1
>>                               degree grid
>>                                        partitions,
>>                                             then you load the partition
>>         for the
>>                      start point
>>                               and start
>>                                        routing
>>                                             using A* search, when you
>>         frontier
>>                      get to an edge
>>                               of the
>>                                        grid you
>>                                             are in, then you load the
>>         adjacent
>>                      grid and
>>                               continue, if
>>                                        you bump
>>                                             into another grid boundary
>>         that is
>>                      not loaded yet, you
>>                                        load, if it
>>                                             is already loaded you 
>> continue.
>>                      Anyway food for
>>                               thought! :)
>>
>>
>> In route
>>         nearest
>>                      neighbour
>>                               querries(
>>                                        IRNN) which
>>                                                 handle
>>                                                 querries like 
>> computation of
>>                      shortest path ,
>>                               provided
>>                                        that the user
>>                                                 wants to visit
>>         facilities F1 , F2
>>                      ,.....FN
>>                               while he/she
>>                                        drives
>>                                                 or walks
>>                                                 from source to
>>         destination. Network
>>                               partitioning can
>>                                        optimize these
>>                                                 computations too as the
>>         search
>>                      space reduces
>>                                        significantly once
>>                                                 we have
>>                                                 the partitions. Handling
>>         such
>>                      querries have
>>                               not been
>>                                        implemented
>>                                                 yet. It
>>                                                 will be very helpful if
>>         we can
>>                      have some
>>                               discussion
>>                                        about whether
>>                                                 implementing it is
>>         feasible or not.
>>
>>
>>                                             What is we just added via
>>         support to
>>                      routing? Then
>>                               we could do
>>                                             something like say generate
>>         a route:
>>                      Start, F1,
>>                               F2, ... Fn, End
>>                                             This would allow us to build
>>         a graph
>>                      one time and
>>                               then generate
>>                                             multiple sub-routes with 
>> in the
>>                      graph. Today if
>>                               you want to
>>                                        do that
>>                                             you have to generate n+1
>>         routes and
>>                      build the
>>                               graph n+1
>>                                        times. We
>>                                             could also do some 
>> preliminary
>>                      optimization of the via
>>                                        points based
>>                                             on Euclidean distance using
>>         something
>>                      like TSP before
>>                                        calling the
>>                                             router.
>>
>>
>>
>> It would
>>         be great
>>                      if someone
>>                               could give
>>                                        a general
>>                                                 idea
>>                                                 how  to go about
>>         learning more
>>                      about the areas
>>                                        mentioned  with
>>                                                 respect
>>                                                 to the organization's
>>                      projects.Specially
>>                               suggest those
>>                                        ideas
>>                                                 which the
>>                                                 developers think are
>>         achievable
>>                      for now . I
>>                               will also
>>                                        be grateful if
>>                                                 somebody can guide me
>>         regarding
>>                      the development
>>                                        framework of
>>                                                 pgrouting
>>                                                 so that i get familiar
>>         with the whole
>>                               framework in the
>>                                        coming days.
>>
>>
>>                                             I would clone the github
>>         repository
>>                      and look at branch
>>                                        sew-devel-2_0
>>                                             this is our new tree
>>         structure and it
>>                      has code,
>>                               doc, and
>>                                        test all
>>                                             organized in a nice way that
>>         makes it
>>                      easy to multiple
>>                                        contributors
>>                                             work with the tree.
>>
>>                                             Ask questions, There is a
>>         tutorial
>>                      floating around
>>                               and lots of
>>                                             people that are will to 
>> help.
>>
>>                                             -Steve
>>
>>                                                 Thank you .
>>
>>                                                 Mukul Priya
>>                                                 Lab for spatial 
>> Informatics
>>                                                 IIIT-Hyderabad
>>
>>
>>
>>
>>
>> _________________________________________________________
>>
>>
>>
>>                                                 pgrouting-dev mailing 
>> list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                      <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>>.
>>                               <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>
>>                      <mailto:pgrouting-dev at lists
>> <mailto:pgrouting-dev at lists>>.>________osgeo.org <http://osgeo.org>
>>                      <http://osgeo.org> <http://osgeo.org>
>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>> <mailto:pgrouting-dev at lists.osgeo.org>>>>>
>> http://lists.osgeo.org/__________mailman/listinfo/pgrouting-__dev 
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>__>
>>
>>
>>
>>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>__>__>
>>
>>
>>
>>
>> _________________________________________________________
>>
>>
>>
>>                                             pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                      <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>>.
>>                               <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>
>>                      <mailto:pgrouting-dev at lists
>> <mailto:pgrouting-dev at lists>>.>________osgeo.org <http://osgeo.org>
>>                      <http://osgeo.org> <http://osgeo.org>
>>
>> <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>> <mailto:pgrouting-dev at lists.osgeo.org>>>>>
>> http://lists.osgeo.org/__________mailman/listinfo/pgrouting-__dev 
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>__>
>>
>>
>>
>>
>>
>>
>> <http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>__>__>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>         _______________________________________________________
>>                                        pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>>                               <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>>
>> http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>__>
>>
>>
>>
>>
>>         _______________________________________________________
>>                                    pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>>                               <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.
>>                      <mailto:pgrouting-dev at lists
>>         <mailto:pgrouting-dev at lists>.>______osgeo.org <http://osgeo.org>
>>         <http://osgeo.org>
>>                               <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>>
>> http://lists.osgeo.org/________mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>> <http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>__>
>>
>>
>>
>>
>>
>>           _____________________________________________________
>>                               pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                      <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>> http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>>           _____________________________________________________
>>                           pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>                      <mailto:pgrouting-dev at lists.
>>         <mailto:pgrouting-dev at lists.>____osgeo.org <http://osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>> http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>__>
>>
>>
>> <http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>__>
>>
>>
>>
>>
>> ___________________________________________________
>>                      pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>                      <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>> http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>
>>
>>
>> ___________________________________________________
>>                  pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>         <mailto:pgrouting-dev at lists.__osgeo.org
>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>> http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev>
>>
>> <http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>__>
>>
>>
>>
>>
>>
>>         _________________________________________________
>>         pgrouting-dev mailing list
>>         pgrouting-dev at lists.osgeo.org 
>> <mailto:pgrouting-dev at lists.osgeo.org>
>>         http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>
>>
>>
>>     _________________________________________________
>>     pgrouting-dev mailing list
>>     pgrouting-dev at lists.osgeo.org <mailto:pgrouting-dev at lists.osgeo.org>
>>     http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev
>> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>
>>
>>
>>
>>
>> _______________________________________________
>> pgrouting-dev mailing list
>> pgrouting-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>
> _______________________________________________
> pgrouting-dev mailing list
> pgrouting-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev



More information about the pgrouting-dev mailing list