Use only OSM data for oceans #329

pull/401/head
lukasmartinelli 2016-08-12 14:16:02 +02:00
rodzic 4bcfaf6a4f
commit 4f17c74b49
5 zmienionych plików z 21 dodań i 44 usunięć

Wyświetl plik

@ -15,6 +15,7 @@ function drop_table() {
}
function clean_natural_earth() {
drop_table 'ne_10m_ocean'
drop_table 'ne_10m_admin_0_antarctic_claim_limit_lines'
drop_table 'ne_10m_admin_0_antarctic_claims'
drop_table 'ne_10m_admin_0_map_subunits'
@ -68,6 +69,7 @@ function clean_natural_earth() {
drop_table 'ne_10m_urban_areas_landscan'
drop_table 'ne_10m_admin_1_states_provinces_lakes_shp'
drop_table 'ne_10m_admin_1_states_provinces_shp'
drop_table 'ne_50m_ocean'
drop_table 'ne_50m_admin_0_boundary_lines_disputed_areas'
drop_table 'ne_50m_admin_1_states_provinces_shp'
drop_table 'ne_50m_admin_0_countries_lakes'
@ -106,6 +108,7 @@ function clean_natural_earth() {
drop_table 'ne_10m_admin_1_seams'
drop_table 'ne_10m_land'
drop_table 'ne_10m_ocean_scale_rank'
drop_table 'ne_110m_ocean'
drop_table 'ne_110m_admin_0_sovereignty'
drop_table 'ne_110m_admin_0_tiny_countries'
drop_table 'ne_110m_admin_1_states_provinces_lakes_shp'

Wyświetl plik

@ -15,15 +15,22 @@ function import_shp() {
shp2pgsql -s 3857 -I -g geometry "$shp_file" "$table_name" | exec_psql | hide_inserts
}
function generalize_water() {
echo 'CREATE TABLE osm_ocean_polygon_gen0 AS SELECT ST_Simplify(geometry, 30000) AS geometry FROM osm_ocean_polygon_gen1' | exec_psql
echo 'CREATE INDEX ON osm_ocean_polygon_gen0 USING gist (geometry)' | exec_psql
echo 'ANALYZE osm_ocean_polygon_gen0' | exec_psql
}
function import_water() {
local table_name="osm_ocean_polygon"
local simplified_table_name="osm_ocean_polygon_gen0"
local simplified_table_name="osm_ocean_polygon_gen1"
drop_table "$table_name"
import_shp "$WATER_POLYGONS_FILE" "$table_name"
drop_table "$simplified_table_name"
import_shp "$SIMPLIFIED_WATER_POLYGONS_FILE" "$simplified_table_name"
}
import_water

Wyświetl plik

@ -8,7 +8,7 @@ generalized_tables:
source: landuse_polygon
sql_filter: area>50000.000000
tolerance: 50.0
water_polygon_gen1:
water_polygon_gen0:
source: water_polygon
sql_filter: area>40000.000000
tolerance: 30.0

Wyświetl plik

@ -31,48 +31,16 @@ ANALYZE osm_landuse_polygon_subdivided;
/* OSM Ocean Polygons */
DROP TABLE IF EXISTS osm_ocean_polygon_subdivided CASCADE;
DROP TABLE IF EXISTS osm_ocean_polygon_subdivided_gen0 CASCADE;
CREATE TABLE osm_ocean_polygon_subdivided AS SELECT gid,fid,st_subdivide(geometry,1024) AS geometry FROM osm_ocean_polygon;
CREATE TABLE osm_ocean_polygon_subdivided_gen0 AS SELECT gid,fid,st_subdivide(geometry,1024) AS geometry FROM osm_ocean_polygon_gen0;
SELECT UpdateGeometrySRID('osm_ocean_polygon_subdivided_gen0','geometry',3857);
SELECT UpdateGeometrySRID('osm_ocean_polygon_subdivided','geometry',3857);
CREATE INDEX ON osm_ocean_polygon_subdivided USING btree (gid);
CREATE INDEX ON osm_ocean_polygon_subdivided_gen0 USING btree (gid);
CREATE INDEX ON osm_ocean_polygon_subdivided USING gist (geometry);
CREATE INDEX ON osm_ocean_polygon_subdivided_gen0 USING gist (geometry);
ANALYZE osm_ocean_polygon_subdivided;
ANALYZE osm_ocean_polygon_subdivided_gen0;
/* Natural-Earth Ocean Polygons */
DROP TABLE IF EXISTS ne_110m_ocean_subdivided CASCADE;
DROP TABLE IF EXISTS ne_50m_ocean_subdivided CASCADE;
DROP TABLE IF EXISTS ne_10m_ocean_subdivided CASCADE;
CREATE TABLE ne_110m_ocean_subdivided AS SELECT ogc_fid,st_subdivide(geom,1024) AS geom,scalerank,featurecla FROM ne_110m_ocean;
CREATE TABLE ne_50m_ocean_subdivided AS SELECT ogc_fid,st_subdivide(geom,1024) AS geom,scalerank,featurecla FROM ne_50m_ocean;
CREATE TABLE ne_10m_ocean_subdivided AS SELECT ogc_fid,st_subdivide(geom,1024) AS geom,featurecla,scalerank FROM ne_10m_ocean;
SELECT UpdateGeometrySRID('ne_110m_ocean_subdivided','geom',3857);
SELECT UpdateGeometrySRID('ne_50m_ocean_subdivided','geom',3857);
SELECT UpdateGeometrySRID('ne_10m_ocean_subdivided','geom',3857);
CREATE INDEX ON ne_110m_ocean_subdivided USING btree (ogc_fid);
CREATE INDEX ON ne_50m_ocean_subdivided USING btree (ogc_fid);
CREATE INDEX ON ne_10m_ocean_subdivided USING btree (ogc_fid);
CREATE INDEX ON ne_110m_ocean_subdivided USING gist (geom);
CREATE INDEX ON ne_50m_ocean_subdivided USING gist (geom);
CREATE INDEX ON ne_10m_ocean_subdivided USING gist (geom);
ANALYZE ne_110m_ocean_subdivided;
ANALYZE ne_50m_ocean_subdivided;
ANALYZE ne_10m_ocean_subdivided;
/* Update SRID for lakes and water polygons */
@ -82,4 +50,3 @@ SELECT UpdateGeometrySRID('ne_10m_lakes','geom',3857);
SELECT UpdateGeometrySRID('osm_water_polygon','geometry',3857);
SELECT UpdateGeometrySRID('osm_water_polygon_gen1','geometry',3857);

Wyświetl plik

@ -1,34 +1,34 @@
CREATE OR REPLACE VIEW water_z0 AS
SELECT 0 AS osm_id, geom AS geometry
FROM ne_110m_ocean_subdivided
SELECT 0 AS osm_id, geometry
FROM osm_ocean_polygon_gen0
UNION ALL
SELECT 0 AS osm_id, geom AS geometry
FROM ne_110m_lakes;
CREATE OR REPLACE VIEW water_z1 AS
SELECT 0 AS osm_id, geom AS geometry
FROM ne_50m_ocean_subdivided
SELECT 0 AS osm_id, geometry
FROM osm_ocean_polygon_gen0
UNION ALL
SELECT 0 AS osm_id, geom AS geometry
FROM ne_110m_lakes;
CREATE OR REPLACE VIEW water_z2toz3 AS
SELECT 0 AS osm_id, geom AS geometry
FROM ne_10m_ocean_subdivided
SELECT 0 AS osm_id, geometry
FROM osm_ocean_polygon_gen1
UNION ALL
SELECT 0 AS osm_id, geom AS geometry
FROM ne_50m_lakes;
CREATE OR REPLACE VIEW water_z4 AS
SELECT 0 AS osm_id, geometry
FROM osm_ocean_polygon_subdivided_gen0
FROM osm_ocean_polygon_gen1
UNION ALL
SELECT 0 AS osm_id, geom AS geometry
FROM ne_10m_lakes;
CREATE OR REPLACE VIEW water_z5toz7 AS
SELECT 0 AS osm_id, geometry
FROM osm_ocean_polygon_subdivided_gen0
FROM osm_ocean_polygon_gen1
UNION ALL
SELECT id AS osm_id, geometry
FROM osm_water_polygon_gen1;
@ -38,7 +38,7 @@ CREATE OR REPLACE VIEW water_z8toz10 AS
FROM osm_ocean_polygon_subdivided
UNION ALL
SELECT id AS osm_id, geometry
FROM osm_water_polygon_gen1;
FROM osm_water_polygon_gen0;
CREATE OR REPLACE VIEW water_z11toz12 AS
SELECT 0 AS osm_id, geometry, 0 AS area