wm

Wang–Müller line generalization algorithm in PostGIS
Log | Files | Refs | README | LICENSE

commit 39d6cb22c4e0cfda5cdb4c3af97b4d3165d7daf4 (tree)
parent b72905989e8a17f6ad10baf215f6d73fdd37fb3a
Author: Motiejus Jakštys <motiejus@jakstys.lt>
Date:   Wed, 19 May 2021 22:57:46 +0300

drop table used to remove tables with data

Diffstat:
Mreferatui.txt | 6+++---
Mwm.sql | 12++++--------
2 files changed, 7 insertions(+), 11 deletions(-)

diff --git 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 @@ -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;