From 39d6cb22c4e0cfda5cdb4c3af97b4d3165d7daf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Wed, 19 May 2021 22:57:46 +0300 Subject: [PATCH] drop table used to remove tables with data --- referatui.txt | 6 +++--- wm.sql | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/referatui.txt b/referatui.txt index 329faf5..479591f 100644 --- a/referatui.txt +++ b/referatui.txt @@ -19,11 +19,11 @@ naudojamas kariškių. Turinys: - Pavadinimas: Wang & Müller linijų generalizacijos algoritmo implementacija ir analizė Lietuvos upėms. -- Įvadinė (?) +- Įvadas - Problema - esamų algoritmų apžvalga. - GDR50 ir GDR250 sudarymo principai. -- Naujumas (?) +- Naujumas: susiję su problema. - Tikslas/uždaviniai: 1. Detalizuoti Wang & Müller generalizacijos teorinę realizaciją postgis priemonėmis. @@ -36,7 +36,7 @@ analizė Lietuvos upėms. - galbūt duoti kartografijos ekspertams. - Pritaikomumas: GDR50 ir GDR250 yra tiesiogiai pritaikomi žemėlapiams. Jei algoritmas yra geresnis, žemėlapių geografinis pagrindas gali būti geresnis. -- Literatūros apžvalga (?) +- Literatūros apžvalga. - Metodika: - implementacijos paaiškinimas: tai, kas neparašyta straipsnyje, bet su kuo neišvengiamai susiduriama praktiškai rašant kodą. diff --git a/wm.sql b/wm.sql index 4954f13..2f1873c 100644 --- a/wm.sql +++ b/wm.sql @@ -328,22 +328,18 @@ begin mutated = true; foreach line in array lines loop while mutated loop - execute format('drop table if exists integ_%safigures', i); - execute format('create table integ_%safigures (way geometry)', i); + execute format('create table if not exists integ_%safigures (way geometry)', i); -- if anyone has suggestions how to insert a variable to a table without -- such hackery, I'll be glad to know execute format('insert into integ_%safigures select $1;', i) using (select unnest(array[line])); bends = detect_bends(line); - execute format('drop table if exists integ_%sbbends', i); - execute format('create table integ_%sbbends (i bigint, way geometry)', i); + execute format('create table if not exists integ_%sbbends (i bigint, way geometry)', i); execute format('insert into integ_%sbbends (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; bends = fix_gentle_inflections(bends); - execute format('drop table if exists integ_%scinflections', i); - execute format('create table integ_%scinflections (i bigint, way geometry)', i); + execute format('create table if not exists integ_%scinflections (i bigint, way geometry)', i); execute format('insert into integ_%scinflections (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; select * from self_crossing(bends) into bends, mutated; - execute format('drop table if exists integ_%sdselfcrossing', i); - execute format('create table integ_%sdselfcrossing (i bigint, way geometry)', i); + execute format('create table if not exists integ_%sdselfcrossing (i bigint, way geometry)', i); execute format('insert into integ_%sdselfcrossing (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; line = st_linemerge(st_union(bends)); i = i + 1;