diff --git a/IV/Makefile b/IV/Makefile index 709e1ba..ed53810 100644 --- a/IV/Makefile +++ b/IV/Makefile @@ -9,6 +9,10 @@ test: tests.sql .faux.db test-integration: .faux_filter-rivers ./db -f tests-integration.sql +clean: + -./db stop + -rm .faux_filter-rivers .faux_import-osm .faux.db + .faux_filter-rivers: .faux_import-osm ./db -v where="$(WHERE)" -f aggregate-rivers.sql touch $@ diff --git a/IV/aggregate-rivers.sql b/IV/aggregate-rivers.sql index 7d091f6..77ad483 100644 --- a/IV/aggregate-rivers.sql +++ b/IV/aggregate-rivers.sql @@ -24,7 +24,7 @@ begin end $$ language plpgsql; -create temporary table aggregate_rivers_tmp (osm_id bigint, name text, way geometry) on commit drop; +create temporary table aggregate_rivers_tmp (osm_id bigint, name text, way geometry); create index aggregate_rivers_tmp_id on aggregate_rivers_tmp(osm_id); create index aggregate_rivers_tmp_gix on aggregate_rivers_tmp using gist(way) include(name); @@ -34,3 +34,4 @@ insert into aggregate_rivers_tmp drop table if exists agg_rivers; create table agg_rivers as (select * from aggregate_rivers()); +drop table aggregate_rivers_tmp; diff --git a/IV/tests-integration.sql b/IV/tests-integration.sql index ab6310f..3d93e8b 100644 --- a/IV/tests-integration.sql +++ b/IV/tests-integration.sql @@ -1,3 +1,5 @@ \i wm.sql -select ST_SimplifyWM_DEBUG(way) from agg_rivers; +drop table if exists agg_rivers_wm; +create table agg_rivers_wm (name text, way geometry); +insert into agg_rivers_wm (name, way) select name, ST_SimplifyWM_DEBUG(way) from agg_rivers where name='VisinĨia'; diff --git a/IV/wm.sql b/IV/wm.sql index fddeb65..1541a13 100644 --- a/IV/wm.sql +++ b/IV/wm.sql @@ -328,23 +328,23 @@ begin mutated = true; foreach line in array lines loop while mutated loop - execute format('drop table if exists demo_%sfigures0', i); - execute format('create table demo_%sfigures0 (way geometry)', i); + execute format('drop table if exists demo_%safigures', i); + execute format('create table demo_%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 demo_%sfigures0 select $1;', i) using (select unnest(array[line])); + execute format('insert into demo_%safigures select $1;', i) using (select unnest(array[line])); bends = detect_bends(line); - execute format('drop table if exists demo_%sbends1', i); - execute format('create table demo_%sbends1 (i bigint, way geometry)', i); - execute format('insert into demo_%sbends1 (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; + execute format('drop table if exists demo_%sbbends', i); + execute format('create table demo_%sbbends (i bigint, way geometry)', i); + execute format('insert into demo_%sbbends (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; bends = fix_gentle_inflections(bends); - execute format('drop table if exists demo_%sinflections2', i); - execute format('create table demo_%sinflections2 (i bigint, way geometry)', i); - execute format('insert into demo_%sinflections2 (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; + execute format('drop table if exists demo_%scinflections', i); + execute format('create table demo_%scinflections (i bigint, way geometry)', i); + execute format('insert into demo_%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 demo_%sselfcrossing3', i); - execute format('create table demo_%sselfcrossing3 (i bigint, way geometry)', i); - execute format('insert into demo_%sselfcrossing3 (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; + execute format('drop table if exists demo_%sdselfcrossing', i); + execute format('create table demo_%sdselfcrossing (i bigint, way geometry)', i); + execute format('insert into demo_%sdselfcrossing (i, way) select generate_subscripts($1, 1), unnest($1)', i) using bends; line = st_linemerge(st_union(bends)); i = i + 1; end loop;