[pgrouting-users] Using array_agg in pgr_kdisjkstrpath()

Marc-André Goderre magoderre at cgq.qc.ca
Thu Apr 9 06:38:55 PDT 2015


Hello all,
I hope someone will can help me.

When I use pgr_kdijkstrapath function as this:

select * FROM pgr_kdijkstrapath('
                SELECT d.id,
                         source::integer,
                         target::integer,
                         c.cost::double precision as cost
                         FROM way_topo_data d join way_cost c on d.id = c.id
                         where c.profile_id=5',
                (select n1.start_id::integer from n1),
                (select array_agg(end_id::integer)::integer[] as id from n2),
                false,
                false) p;
It return me the following error : One of the target vertices was not found or several targets are the same.

But when i take the result of the
(select array_agg(end_id::integer) ::integer[]  as id from n2)
giving me "{28411,25582}" and hardcode it in the the statement as :

select * FROM pgr_kdijkstrapath('
                SELECT d.id,
                         source::integer,
                         target::integer,
                         c.cost::double precision as cost
                         FROM way_topo_data d join way_cost c on d.id = c.id
                         where c.profile_id=5',
                (select n1.start_id::integer from n1),
                '{28411,25582}',
                false,
                false) p;

It works
Then, where's the difference between the result of (select array_agg(end_id::integer)::integer[]  as id from n2) AND '{28411,25582}'

Thanks
Marc-André


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20150409/33514aa9/attachment.html>


More information about the Pgrouting-users mailing list