[postgis-users] PgRouting in PostGIS
Nandorov
nandorov at gmail.com
Wed Sep 24 09:04:52 PDT 2008
i could resolved it doing
BEGIN TRANSACTION;
DROP TABLE IF EXISTS shortest_path_table_2;
CREATE TABLE shortest_path_table_2(gid int4) with oids;
SELECT AddGeometryColumn('','shortest_path_table_2', 'the_geom', -1,
'MULTILINESTRING', 2 );
INSERT INTO shortest_path_table_2(the_geom)
select the_geom from tb_mygeom
where start_node in (
select vertex_id from shortest_path('SELECT
the_geom,id,source,target,x1,y1,x2,y2,cost,reverse_cost from mygeom where
is_blocked != ''Y'' '
,3989 ,145,true,true) )
and end_node in (
select vertex_id from shortest_path('SELECT
the_geom,id,source,target,x1,y1,x2,y2,cost,reverse_cost from mygeom where
is_blocked != ''Y'' '
,3989 ,145,true,true)
);
COMMIT
i the coordinates, but i dont know if that might affect the performance.
Nandorov wrote:
>
> Hi Anton,
> i have a problem when applying where clause in the sql parameter for
> shortest_path function. Function seems to work well but how do i recover
> the coordinates?
>
> i used to do this way, for example
> select * from shortest_path('SELECT
> id,source,target,x1,y1,x2,y2,cost,reverse_cost from tb_mygeom',3989
> ,145,true,true); to verify and then applied:
> insert into my_temptable(geom)
> select the_geom from dijkstra_sp_directed('tb_mygeom',3989,145,true,true);
> to recover the coordinates.
>
> Now i applied
> select * from shortest_path('SELECT
> id,source,target,x1,y1,x2,y2,cost,reverse_cost from tb_mygeom where
> isBlocked != ''Y'' ',3989 ,145,true,true);
> the functions seems to work, but i dont know how to get the coordinates,
> because if i apply dijkstra_sp_directed i can't filter there. I tried
>
> INSERT INTO shortest_path_table_2(the_geom)
> select the_geom from tb_mygeom
> where gid in (
> select vertex_id from shortest_path('SELECT
> the_geom,id,source,target,x1,y1,x2,y2,cost,reverse_cost from
> full_calleslima where is_blocked != ''Y'' '
> ,3989 ,145,true,true) );
>
> but it returns a messy format, no linked vertix
>
> thanks a lot
>
>
>
>
> Anton A. Patrushev wrote:
>>
>> Hi Fernando,
>>
>> Of course you can use any SQL query with any filters you wish.
>> That's actually what pgRouting was made for!
>>
>> Please read this:
>> http://pgrouting.postlbs.org/wiki/Dijkstra
>> http://pgrouting.postlbs.org/wiki/AStar
>> http://pgrouting.postlbs.org/wiki/ShootingStar
>>
>> Anton.
>>
>> On 9/24/08, Nandorov <nandorov at gmail.com> wrote:
>>>
>>> hi,
>>> thanks Anton for your answer at pgrouting forum. i'm goingo to reply
>>> here i
>>> hope it's ok.
>>>
>>> Hi Fernando,
>>>
>>> I think I answered you already in the PostGIS mailing list.
>>> Anyway, it is worth to repeat. You can block edges by assigning high
>>> value
>>> to cost field. Or, if you wish, you can add one more field, let's say,
>>> of
>>> boolean type and name it is_blocked, and then use core routing function
>>> (not
>>> wrapper), where you can limit your search area with non-blocked edges
>>> only -
>>> "SELECT ... WHERE NOT is_blocked".
>>>
>>> So i the input sql statement at shortest path function can include
>>> where
>>> filters? sounds nice. i'm going to try it later (00:16 here lol)
>>>
>>> thanks a lot
>>>
>>>
>>>
>>> Anton A. Patrushev wrote:
>>> >
>>> > Hi,
>>> >
>>> > Of course you can. You can put any float value as a cost. And if a
>>> > cost of an edge is high enough comparing to other costs, algorithm
>>> > will prefer not to pass through that edge.
>>> >
>>> > Anton.
>>> >
>>> > On 9/24/08, Nandorov <nandorov at gmail.com> wrote:
>>> >>
>>> >> can i block some segments? for example cad gives the posibility to
>>> put a
>>> >> max
>>> >> resistance value, let's say it's 100. So if the resistance of your
>>> >> segment
>>> >> is 100 that segment is blocked and you cannot go thorught this way.
>>> if
>>> >> this
>>> >> possible with pgrouting?
>>> >>
>>> >> thanks!
>>> >>
>>> >>
>>> >>
>>> >> Stephen Woodbridge wrote:
>>> >> >
>>> >> > Nandorov wrote:
>>> >> >> hi,
>>> >> >> i've tried pgrouting algorithms and works pretty well. However,
>>> i
>>> >> dont
>>> >> >> know
>>> >> >> exactly the way they applied "the resistance" of a way
>>> (represented
>>> >> by a
>>> >> >> multilinestring). has someone worked with pgrouting before? and
>>> know
>>> >> if
>>> >> >> i
>>> >> >> can modify their algorithms to adapt them to my requirements?
>>> >> >>
>>> >> >> thanks
>>> >> >
>>> >> > "the resistance" is applied as a "cost" to traverse the segment.
>>> All
>>> >> > cost must be positive. You can use length of the segment as cost
>>> for
>>> >> > shortest distance. or you can compute and assign a cost value
>>> based on
>>> >> > other attributes.
>>> >> >
>>> >> > -Steve
>>> >> > _______________________________________________
>>> >> > postgis-users mailing list
>>> >> > postgis-users at postgis.refractions.net
>>> >> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >> http://www.nabble.com/PgRouting-in-PostGIS-tp19638201p19638473.html
>>> >>
>>> >> Sent from the PostGIS - User mailing list archive at Nabble.com.
>>> >>
>>> >> _______________________________________________
>>> >>
>>> >> postgis-users mailing list
>>> >> postgis-users at postgis.refractions.net
>>> >> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >>
>>> > _______________________________________________
>>> > postgis-users mailing list
>>> > postgis-users at postgis.refractions.net
>>> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >
>>> >
>>>
>>> --
>>>
>>> View this message in context:
>>> http://www.nabble.com/PgRouting-in-PostGIS-tp19638201p19642156.html
>>>
>>> Sent from the PostGIS - User mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>
>
--
View this message in context: http://www.nabble.com/PgRouting-in-PostGIS-tp19638201p19652169.html
Sent from the PostGIS - User mailing list archive at Nabble.com.
More information about the postgis-users
mailing list