[pgrouting-dev] GSoC partitioning project

Stephen Woodbridge woodbri at swoodbridge.com
Fri Jul 5 10:29:12 PDT 2013


On 7/5/2013 1:00 PM, Mukul priya wrote:
> do we need to retrieve all the edges that are lying totally or
> partially in that partition or even if we retrieve only those edges
> that are directly  connected to the source node that is load only
> those edges that have one of its node as source node.
>

When we load a partition we load all of the edges that have at least one
node in that partition. That means if both nodes are in the partition we
load it, and if only the target or the source node are in the partition
we load it. Once the partition is load we make it as loaded in the bit
array and we never load it again.

On 7/5/2013 1:11 PM, Mukul priya wrote:
> we have the partition_id and the node_id (of source node) so we can
> retrieve only those edges that have one of their nodes as source
> node. So two conditions will arise here 1) That edge might completely
> lie inside that partition ( as u sadi above ) 2) Its a boundary edge
> , in that case if the algorithm follws this edge then we again have
> to check whether the partition( using target_partiton_id) in which
> the target_node of this edge is  lying is loaded or not.

So when you are solving the graph and we are at some node A and it
connects via edges to nodes B, C, D.

You will need to check if A.partition != 0 or B.partition !=0 then check 
if the partition is loaded or not and load it if needed.

-Steve



More information about the pgrouting-dev mailing list