drop table used to remove tables with data

This commit is contained in:
Motiejus Jakštys 2021-05-19 22:57:46 +03:00 committed by Motiejus Jakštys
parent b72905989e
commit 39d6cb22c4
2 changed files with 7 additions and 11 deletions

View File

@ -19,11 +19,11 @@ naudojamas kariškių.
Turinys: Turinys:
- Pavadinimas: Wang & Müller linijų generalizacijos algoritmo implementacija ir - Pavadinimas: Wang & Müller linijų generalizacijos algoritmo implementacija ir
analizė Lietuvos upėms. analizė Lietuvos upėms.
- Įvadinė (?) - Įvadas
- Problema - Problema
- esamų algoritmų apžvalga. - esamų algoritmų apžvalga.
- GDR50 ir GDR250 sudarymo principai. - GDR50 ir GDR250 sudarymo principai.
- Naujumas (?) - Naujumas: susiję su problema.
- Tikslas/uždaviniai: - Tikslas/uždaviniai:
1. Detalizuoti Wang & Müller generalizacijos teorinę realizaciją postgis 1. Detalizuoti Wang & Müller generalizacijos teorinę realizaciją postgis
priemonėmis. priemonėmis.
@ -36,7 +36,7 @@ analizė Lietuvos upėms.
- galbūt duoti kartografijos ekspertams. - galbūt duoti kartografijos ekspertams.
- Pritaikomumas: GDR50 ir GDR250 yra tiesiogiai pritaikomi žemėlapiams. Jei - Pritaikomumas: GDR50 ir GDR250 yra tiesiogiai pritaikomi žemėlapiams. Jei
algoritmas yra geresnis, žemėlapių geografinis pagrindas gali būti geresnis. algoritmas yra geresnis, žemėlapių geografinis pagrindas gali būti geresnis.
- Literatūros apžvalga (?) - Literatūros apžvalga.
- Metodika: - Metodika:
- implementacijos paaiškinimas: tai, kas neparašyta straipsnyje, bet su kuo - implementacijos paaiškinimas: tai, kas neparašyta straipsnyje, bet su kuo
neišvengiamai susiduriama praktiškai rašant kodą. neišvengiamai susiduriama praktiškai rašant kodą.

12
wm.sql
View File

@ -328,22 +328,18 @@ begin
mutated = true; mutated = true;
foreach line in array lines loop foreach line in array lines loop
while mutated loop while mutated loop
execute format('drop table if exists integ_%safigures', i); execute format('create table if not exists integ_%safigures (way geometry)', i);
execute format('create table integ_%safigures (way geometry)', i);
-- if anyone has suggestions how to insert a variable to a table without -- if anyone has suggestions how to insert a variable to a table without
-- such hackery, I'll be glad to know -- such hackery, I'll be glad to know
execute format('insert into integ_%safigures select $1;', i) using (select unnest(array[line])); execute format('insert into integ_%safigures select $1;', i) using (select unnest(array[line]));
bends = detect_bends(line); bends = detect_bends(line);
execute format('drop table if exists integ_%sbbends', i); execute format('create table if not exists integ_%sbbends (i bigint, way geometry)', i);
execute format('create table 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; execute format('insert into integ_%sbbends (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends;
bends = fix_gentle_inflections(bends); bends = fix_gentle_inflections(bends);
execute format('drop table if exists integ_%scinflections', i); execute format('create table if not exists integ_%scinflections (i bigint, way geometry)', i);
execute format('create table 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; 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; select * from self_crossing(bends) into bends, mutated;
execute format('drop table if exists integ_%sdselfcrossing', i); execute format('create table if not exists integ_%sdselfcrossing (i bigint, way geometry)', i);
execute format('create table 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; execute format('insert into integ_%sdselfcrossing (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends;
line = st_linemerge(st_union(bends)); line = st_linemerge(st_union(bends));
i = i + 1; i = i + 1;