@@ -150,6 +150,10 @@ FROM edges ORDER BY id;
150150
151151/* -- q5 */
152152/* --POINTS CREATE start */
153+ DO LANGUAGE plpgsql $BODY$
154+ DECLARE v FLOAT;
155+ BEGIN
156+ SELECT (parts[1]||'.'||parts[2])::FLOAT FROM STRING_TO_ARRAY(pgr_version(), '.') AS parts INTO v;
153157/* -- p1 */
154158CREATE TABLE pointsOfInterest(
155159 pid BIGSERIAL PRIMARY KEY,
@@ -160,7 +164,7 @@ CREATE TABLE pointsOfInterest(
160164 edge geometry,
161165 newPoint geometry,
162166 geom geometry);
163- CREATE TABLE
167+ IF v > 3.4 THEN
164168/* -- p2 */
165169INSERT INTO pointsOfInterest (geom) VALUES
166170(ST_Point(1.8, 0.4)),
@@ -169,7 +173,6 @@ INSERT INTO pointsOfInterest (geom) VALUES
169173(ST_Point(0.3, 1.8)),
170174(ST_Point(2.9, 1.8)),
171175(ST_Point(2.2, 1.7));
172- INSERT 0 6
173176/* -- p3 */
174177UPDATE pointsofinterest SET
175178 edge_id = poi.edge_id,
@@ -183,11 +186,21 @@ FROM (
183186 FROM pgr_findCloseEdges(
184187 $$SELECT id, geom FROM edges$$,(SELECT array_agg(geom) FROM pointsOfInterest), 0.5) ) AS poi
185188WHERE pointsOfInterest.geom = poi.geom;
186- UPDATE 6
187189/* -- p4 */
188190UPDATE pointsOfInterest SET side = 'b' WHERE pid = 6;
189- UPDATE 1
190191/* -- p5 */
192+ ELSE
193+ INSERT INTO pointsOfInterest (edge_id, side, fraction, geom) VALUES
194+ (1, 'l' , 0.4, ST_POINT(1.8, 0.4)),
195+ (15, 'r' , 0.4, ST_POINT(4.2, 2.4)),
196+ (12, 'l' , 0.6, ST_POINT(2.6, 3.2)),
197+ (6, 'r' , 0.3, ST_POINT(0.3, 1.8)),
198+ (5, 'l' , 0.8, ST_POINT(2.9, 1.8)),
199+ (4, 'b' , 0.7, ST_POINT(2.2, 1.7));
200+ END IF;
201+ END;
202+ $BODY$;
203+ DO
191204SELECT
192205 pid, ST_AsText(geom) geom,
193206 edge_id, fraction AS frac, side, distance AS dist,
0 commit comments