Skip to content

Instantly share code, notes, and snippets.

@davidstrategicaci
Created October 19, 2018 13:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidstrategicaci/46df3eb627217fa3e08a7ca86447331a to your computer and use it in GitHub Desktop.
Save davidstrategicaci/46df3eb627217fa3e08a7ca86447331a to your computer and use it in GitHub Desktop.
--PostgreSQL
BEGIN;
ALTER TABLE osm_network_graph
ADD COLUMN geom geometry(LINESTRING,4326),
ADD COLUMN length_m double precision;
CREATE TEMP TABLE split_geom AS
SELECT osm.split_way_id,
ST_MakeLine(ln.geom,rn.geom) AS geom,
st_length(st_transform(ST_MakeLine(ln.geom,rn.geom),32618)) AS length_m
FROM osm_network_graph osm
JOIN nodes ln ON osm.start_node = ln.id
JOIN nodes rn ON osm.end_node = rn.id;
UPDATE osm_network_graph osm
SET geom = s.geom,
length_m = s.length_m
FROM split_geom s
WHERE osm.split_way_id = s.split_way_id;
END;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment