[pgrouting-users] Create network with nodes at least every 50m
Adam Lawrence
alaw005 at gmail.com
Sat Aug 23 17:16:00 PDT 2014
Hi,
I have spent over a week trying to work this out. I have an existing road
network and have used pgr_alphashape to try and get a 400m walking
catchment from bus stops.
But pgr_alphashape snapes to the nearest network node which means
catchments returned are significantly smaller than 400m. I have therefore
tried to create a new network with nodes every 50m using ST_Segmentize but
I can't seem to get it to work.
The function below is my attempt to loop through the existing network and
run ST_Segmentize on each entry to return updated network with additional
nodes but it only returns one record each time rather than a number of
segmented entries.
Any advice on how to make this work or alternative approach would be
greately appreciated (especially given that following over a week and
research it seems no one else has had this problem).
Regards
Adam
DROP FUNCTION hutt_pax.my_test_function();
CREATE OR REPLACE FUNCTION hutt_pax.my_test_function()
RETURNS TABLE (
xid integer,
xgeog geometry) AS
$BODY$
DECLARE
r hutt_pax.roads_wainuiomata%ROWTYPE;
BEGIN
FOR r IN
SELECT *
FROM hutt_pax.roads_wainuiomata
LOOP
xid := r.id;
xgeog := ST_Segmentize(
r.geom,
0.050
);
RETURN NEXT;
END LOOP;
RETURN NEXT; -- return final result
END;
$BODY$ LANGUAGE plpgsql STABLE;
SELECT *
FROM hutt_pax.my_test_function();
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20140824/22e09a55/attachment.html>
More information about the Pgrouting-users
mailing list