@@ -294,186 +294,49 @@ ON mv_admin_boundaries_relations_ways USING GIST (geometry);
294294-- ============================================================================
295295SELECT log_notice(' STEP 6: Create a materialized view for zoom levels' );
296296
297- -- ==========================================
298- -- MViews for admin lines zoom 0-2
299- -- ==========================================
300- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z0_2 CASCADE;
301- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z0_2 AS
302- SELECT
303- type,
304- admin_level,
305- member,
306- ST_SimplifyPreserveTopology(geometry, 5000 ) AS geometry,
307- group_id,
308- start_decdate,
309- end_decdate,
310- start_date,
311- end_date
312- FROM mv_admin_boundaries_relations_ways
313- WHERE admin_level IN (1 ,2 )
314- WITH DATA;
315-
316- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z0_2_idx
317- ON mv_admin_boundaries_lines_z0_2 (admin_level, member, group_id);
318-
319- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z0_2_geometry_idx
320- ON mv_admin_boundaries_lines_z0_2 USING GIST (geometry);
321-
322- -- ==========================================
323- -- MViews for admin lines zoom 3-5
324- -- ==========================================
325- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z3_5 CASCADE;
326- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z3_5 AS
327- SELECT
328- type,
329- admin_level,
330- member,
331- ST_SimplifyPreserveTopology(geometry, 1000 ) AS geometry,
332- group_id,
333- start_decdate,
334- end_decdate,
335- start_date,
336- end_date
337- FROM mv_admin_boundaries_relations_ways
338- WHERE admin_level IN (1 ,2 ,3 ,4 )
339- WITH DATA;
340-
341- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z3_5_idx
342- ON mv_admin_boundaries_lines_z3_5 (admin_level, member, group_id);
343-
344- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z3_5_geometry_idx
345- ON mv_admin_boundaries_lines_z3_5 USING GIST (geometry);
346-
347- -- ==========================================
348- -- MViews for admin lines zoom 6-7
349- -- ==========================================
350- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z6_7 CASCADE;
351- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z6_7 AS
352- SELECT
353- type,
354- admin_level,
355- member,
356- ST_SimplifyPreserveTopology(geometry, 200 ) AS geometry,
357- group_id,
358- start_decdate,
359- end_decdate,
360- start_date,
361- end_date
362- FROM mv_admin_boundaries_relations_ways
363- WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 )
364- WITH DATA;
365-
366- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z6_7_idx
367- ON mv_admin_boundaries_lines_z6_7 (admin_level, member, group_id);
368-
369- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z6_7_geometry_idx
370- ON mv_admin_boundaries_lines_z6_7 USING GIST (geometry);
371-
372- -- ==========================================
373- -- MViews for admin lines zoom 8-9
374- -- ==========================================
375- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z8_9 CASCADE;
376- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z8_9 AS
377- SELECT
378- type,
379- admin_level,
380- member,
381- ST_SimplifyPreserveTopology(geometry, 100 ) AS geometry,
382- group_id,
383- start_decdate,
384- end_decdate,
385- start_date,
386- end_date
387- FROM mv_admin_boundaries_relations_ways
388- WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 )
389- WITH DATA;
390-
391- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z8_9_idx
392- ON mv_admin_boundaries_lines_z8_9 (admin_level, member, group_id);
393-
394- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z8_9_geometry_idx
395- ON mv_admin_boundaries_lines_z8_9 USING GIST (geometry);
396-
397- -- ==========================================
398- -- MViews for admin lines zoom 10-12
399- -- ==========================================
400- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z10_12 CASCADE;
401- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z10_12 AS
402- SELECT
403- type,
404- admin_level,
405- member,
406- ST_SimplifyPreserveTopology(geometry, 20 ) AS geometry,
407- group_id,
408- start_decdate,
409- end_decdate,
410- start_date,
411- end_date
412- FROM mv_admin_boundaries_relations_ways
413- WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 )
414- WITH DATA;
415-
416- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z10_12_idx
417- ON mv_admin_boundaries_lines_z10_12 (admin_level, member, group_id);
418-
419- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z10_12_geometry_idx
420- ON mv_admin_boundaries_lines_z10_12 USING GIST (geometry);
421-
422- -- ==========================================
423- -- MViews for admin lines zoom 13-15
424- -- ==========================================
425- DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z13_15 CASCADE;
426- CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z13_15 AS
427- SELECT
428- type,
429- admin_level,
430- member,
431- ST_SimplifyPreserveTopology(geometry, 5 ) AS geometry,
432- group_id,
433- start_decdate,
434- end_decdate,
435- start_date,
436- end_date
437- FROM mv_admin_boundaries_relations_ways
438- WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 )
439- WITH DATA;
440-
441- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z13_15_idx
442- ON mv_admin_boundaries_lines_z13_15 (admin_level, member, group_id);
443-
444- CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z13_15_geometry_idx
445- ON mv_admin_boundaries_lines_z13_15 USING GIST (geometry);
446-
447297-- ==========================================
448298-- MViews for admin lines zoom 16-20
449299-- ==========================================
450300DROP MATERIALIZED VIEW IF EXISTS mv_admin_boundaries_lines_z16_20 CASCADE;
451301CREATE MATERIALIZED VIEW mv_admin_boundaries_lines_z16_20 AS
452302SELECT
303+ ROW_NUMBER() OVER (ORDER BY admin_level, member, group_id) AS id,
453304 type,
454305 admin_level,
455- member,
306+ member as osm_id ,
456307 ST_SimplifyPreserveTopology(geometry, 1 ) AS geometry,
457308 group_id,
458309 start_decdate,
459310 end_decdate,
460311 start_date,
461312 end_date
462313FROM mv_admin_boundaries_relations_ways
463- WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 )
314+ WHERE admin_level IN (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 , 11 )
464315WITH DATA;
465316
466- CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z16_20_idx
467- ON mv_admin_boundaries_lines_z16_20 (admin_level, member, group_id);
317+ CREATE UNIQUE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z16_20_id_idx
318+ ON mv_admin_boundaries_lines_z16_20 (id);
319+
320+ CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z16_20_admin_level_idx
321+ ON mv_admin_boundaries_lines_z16_20 (admin_level);
468322
469323CREATE INDEX IF NOT EXISTS mv_admin_boundaries_lines_z16_20_geometry_idx
470324ON mv_admin_boundaries_lines_z16_20 USING GIST (geometry);
471325
326+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z16_20' , ' mv_admin_boundaries_lines_z13_15' , 5 , ' admin_level IN (1,2,3,4,5,6,7,8,9,10)' );
327+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z13_15' , ' mv_admin_boundaries_lines_z10_12' , 20 , NULL );
328+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z10_12' , ' mv_admin_boundaries_lines_z8_9' , 100 , ' admin_level IN (1,2,3,4,5,6,7,8,9)' );
329+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z8_9' , ' mv_admin_boundaries_lines_z6_7' , 200 , ' admin_level IN (1,2,3,4,5,6)' );
330+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z6_7' , ' mv_admin_boundaries_lines_z3_5' , 1000 , ' admin_level IN (1,2,3,4)' );
331+ SELECT create_mview_line_from_mview(' mv_admin_boundaries_lines_z3_5' , ' mv_admin_boundaries_lines_z0_2' , 5000 , ' admin_level IN (1,2)' );
332+
472333-- Refresh lines views
473- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z0_2;
474- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z3_5;
475- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z6_7;
476- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z8_9;
477- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z10_12;
478- -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z13_15;
334+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_relation_members_boundaries;
335+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_relations_ways;
479336-- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z16_20;
337+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z13_15;
338+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z10_12;
339+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z8_9;
340+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z6_7;
341+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z3_5;
342+ -- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_admin_boundaries_lines_z0_2;
0 commit comments