# [pgrouting-users] Calculating the shortest way between pairs

Daniel Kastl daniel at georepublic.de
Fri Mar 14 07:53:16 PDT 2014

```On Fri, Mar 14, 2014 at 11:42 PM, Carsten Hogertz <carsten.hogertz at gmail.com
> wrote:

> Hi Daniel,
> thanks for your eMail.
> Well, I think it's not a 1-n calculation. IMHO it's a 1-1
> calculation,right?
> So I don't know how to calculate the distance for each row of the
> routing_pair table.
>

Well, you need to run this query for each row. So with n rows you need n
queries.
If you use standard shortest path function you need to run "n x n" queries.

You may want to write a custom function, which makes first a select of all
records in your table and then loops through these records.
Or don't I still understand the problem?

Daniel

>
> Thanks
> Carsten
>
>
> 2014-03-14 15:33 GMT+01:00 Daniel Kastl <daniel at georepublic.de>:
>
>>
>>
>>
>> On Fri, Mar 14, 2014 at 11:26 PM, Carsten Hogertz <
>> carsten.hogertz at gmail.com> wrote:
>>
>>> Maybe to clearify.
>>>
>>> I've got the following two tables:
>>>
>>> Table at_2po_4pgr with the columns:
>>>
>>>   id integer NOT NULL,
>>>   osm_id bigint,
>>>   osm_name character varying,
>>>   osm_meta character varying,
>>>   osm_source_id bigint,
>>>   osm_target_id bigint,
>>>   clazz integer,
>>>   flags integer,
>>>   source integer,
>>>   target integer,
>>>   km double precision,
>>>   kmh integer,
>>>   cost2 double precision,
>>>   reverse_cost double precision,
>>>   x1 double precision,
>>>   y1 double precision,
>>>   x2 double precision,
>>>   y2 double precision,
>>>   geom_way geometry(LineString,4326)
>>>
>>> and Table routing_pair with the columns:
>>>
>>>   id integer,
>>>   h_key integer,
>>>   lat_htl double precision,
>>>   lon_htl double precision,
>>>   source integer,
>>>   geom_htl geometry(Point,4326),
>>>   lat_bhf double precision,
>>>   lon_bhf double precision,
>>>   target integer,
>>>   geom_bhf geometry(Point,4326)
>>>
>>>
>>> The routing_pair table hold three important information:
>>> ID
>>> SOURCE
>>> TARGET
>>>
>>> All columns are filled (source + target are calculated from at_2po_4pgr.
>>>
>>> The task seems to be quite simple: I want for each row from the
>>> routing_pair the distance between soure + target (and if possible its geom).
>>> Could you please help me how to solve this?
>>>
>>>
>> Hi Carsten,
>>
>> There is a function named kDijkstra and it allows you to calculate all
>> paths from one node to many:
>>
>> http://docs.pgrouting.org/2.0/en/src/kdijkstra/doc/index.html#pgr-kdijkstra
>>
>> If something is not clear with the page above, feel free to ask.
>>
>> Daniel
>>
>>
>>
>>
>>
>>
>> --
>> Georepublic UG & Georepublic Japan
>> eMail: daniel.kastl at georepublic.de
>> Web: http://georepublic.info
>>
>> _______________________________________________
>> Pgrouting-users mailing list
>> Pgrouting-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>
>
>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>

--
Georepublic UG & Georepublic Japan
eMail: daniel.kastl at georepublic.de
Web: http://georepublic.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20140314/d6c2399c/attachment-0001.html>
```