This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch 745-daylight
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git


The following commit(s) were added to refs/heads/745-daylight by this push:
     new 972ff782 Fix the coastline layer
972ff782 is described below

commit 972ff782be01a8d12003ae3454c28a736bb5460c
Author: Bertil Chapuis <[email protected]>
AuthorDate: Tue Oct 31 09:27:28 2023 +0100

    Fix the coastline layer
---
 daylight/config.js                     |   2 +-
 daylight/layers/coastline/clean.sql    |  13 +---
 daylight/layers/coastline/index.sql    |  13 +---
 daylight/layers/coastline/overlay.js   |   4 +-
 daylight/layers/coastline/prepare.sql  |   3 +
 daylight/layers/coastline/simplify.sql |  80 ---------------------
 daylight/layers/coastline/tileset.js   |   8 +--
 daylight/style.js                      | 127 +++++++++++++++++++++++++++++++++
 daylight/tileset.js                    |   4 +-
 daylight/workflow.js                   |   6 --
 10 files changed, 141 insertions(+), 119 deletions(-)

diff --git a/daylight/config.js b/daylight/config.js
index 124861f5..b60f6227 100644
--- a/daylight/config.js
+++ b/daylight/config.js
@@ -15,7 +15,7 @@
  limitations under the License.
  **/
 export default {
-    "host": "http://localhost:9000";,
+    "host": "http://demo.baremaps.com:9091";,
     "database": 
"jdbc:postgresql://localhost:5432/daylight?&user=daylight&password=daylight",
     "center": [0, 0],
     "bounds": [-180, -85.0511, 180, 85.0511],
diff --git a/daylight/layers/coastline/clean.sql 
b/daylight/layers/coastline/clean.sql
index b4916530..bf02dfc7 100644
--- a/daylight/layers/coastline/clean.sql
+++ b/daylight/layers/coastline/clean.sql
@@ -8,15 +8,4 @@
 -- or implied. See the License for the specific language governing permissions 
and limitations under
 -- the License.
 DROP MATERIALIZED VIEW IF EXISTS osm_coastline CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z12 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z11 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z10 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z9 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z8 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z7 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z6 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z5 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z4 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z3 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z2 CASCADE;
-DROP MATERIALIZED VIEW IF EXISTS osm_coastline_z1 CASCADE;
+DROP MATERIALIZED VIEW IF EXISTS osm_coastline_simplified CASCADE;
diff --git a/daylight/layers/coastline/index.sql 
b/daylight/layers/coastline/index.sql
index 2edba5b1..16cca7f3 100644
--- a/daylight/layers/coastline/index.sql
+++ b/daylight/layers/coastline/index.sql
@@ -8,15 +8,4 @@
 -- or implied. See the License for the specific language governing permissions 
and limitations under
 -- the License.
 CREATE INDEX IF NOT EXISTS osm_coastline_index ON osm_coastline USING SPGIST 
(geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z12_index ON osm_coastline_z12 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z11_index ON osm_coastline_z11 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z10_index ON osm_coastline_z10 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z9_index ON osm_coastline_z9 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z8_index ON osm_coastline_z8 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z7_index ON osm_coastline_z7 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z6_index ON osm_coastline_z6 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z5_index ON osm_coastline_z5 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z4_index ON osm_coastline_z4 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z3_index ON osm_coastline_z3 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z2_index ON osm_coastline_z2 USING 
SPGIST (geom);
-CREATE INDEX IF NOT EXISTS osm_coastline_z1_index ON osm_coastline_z1 USING 
SPGIST (geom);
+CREATE INDEX IF NOT EXISTS osm_coastline_simplified_index ON 
osm_coastline_simplified USING SPGIST (geom);
diff --git a/daylight/layers/coastline/overlay.js 
b/daylight/layers/coastline/overlay.js
index 5a31e359..00ebdd4b 100644
--- a/daylight/layers/coastline/overlay.js
+++ b/daylight/layers/coastline/overlay.js
@@ -9,8 +9,8 @@
  or implied. See the License for the specific language governing permissions 
and limitations under
  the License.
  **/
-import {withSortKeys, asLayerObject} from "../../utils/utils.js";
-import theme from "../../theme.js";
+import {withSortKeys, asLayerObject} from "../../../basemap/utils/utils.js";
+import theme from "../../../basemap/theme.js";
 
 let directives = [
     {
diff --git a/daylight/layers/coastline/prepare.sql 
b/daylight/layers/coastline/prepare.sql
index fc9c0b59..6935a21b 100644
--- a/daylight/layers/coastline/prepare.sql
+++ b/daylight/layers/coastline/prepare.sql
@@ -9,3 +9,6 @@
 -- the License.
 CREATE MATERIALIZED VIEW osm_coastline AS
 SELECT row_number() OVER () as id, '{"ocean":"water"}'::jsonb as tags, 
st_setsrid(geometry, 3857) AS geom FROM water_polygons_shp;
+
+CREATE MATERIALIZED VIEW osm_coastline_simplified AS
+SELECT id, tags, st_simplifypreservetopology(geom, 300) as geom FROM 
osm_coastline WHERE ST_Area(geom) > 300000;
diff --git a/daylight/layers/coastline/simplify.sql 
b/daylight/layers/coastline/simplify.sql
deleted file mode 100644
index 5117a327..00000000
--- a/daylight/layers/coastline/simplify.sql
+++ /dev/null
@@ -1,80 +0,0 @@
--- Licensed under the Apache License, Version 2.0 (the License); you may not 
use this file except
--- in compliance with the License. You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software 
distributed under the License
--- is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
--- or implied. See the License for the specific language governing permissions 
and limitations under
--- the License.
-CREATE VIEW osm_coastline_z20 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z19 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z18 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z17 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z16 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z15 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z14 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE VIEW osm_coastline_z13 AS
-SELECT id, tags, geom FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z12 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 12)) AS 
geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z11 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 11)) AS 
geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z10 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 10)) AS 
geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z9 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 9)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z8 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 8)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z7 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 7)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z6 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 6)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z5 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 5)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z4 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 4)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z3 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 3)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z2 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 2)) AS geom
-FROM osm_coastline;
-
-CREATE MATERIALIZED VIEW osm_coastline_z1 AS
-SELECT id, tags, st_simplifypreservetopology(geom, 78270 / power(2, 1)) AS geom
-FROM osm_coastline;
diff --git a/daylight/layers/coastline/tileset.js 
b/daylight/layers/coastline/tileset.js
index 6c364a01..d1be640f 100644
--- a/daylight/layers/coastline/tileset.js
+++ b/daylight/layers/coastline/tileset.js
@@ -14,13 +14,13 @@ export default {
     "queries": [
         {
             "minzoom": 0,
-            "maxzoom": 12,
-            "sql": "SELECT id, tags, geom FROM osm_coastline_z$zoom"
+            "maxzoom": 10,
+            "sql": "SELECT id, tags, st_union(geom) FROM 
osm_coastline_simplified"
         },
         {
-            "minzoom": 12,
+            "minzoom": 10,
             "maxzoom": 20,
-            "sql": "SELECT id, tags, geom FROM osm_coastline"
+            "sql": "SELECT id, tags, st_union(geom) FROM osm_coastline"
         }
     ]
 }
diff --git a/daylight/style.js b/daylight/style.js
new file mode 100644
index 00000000..2a6800ab
--- /dev/null
+++ b/daylight/style.js
@@ -0,0 +1,127 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ **/
+import config from "./config.js";
+
+import background from "../basemap/layers/background/style.js";
+import aeroway_line from "../basemap/layers/aeroway/line.js";
+import aeroway_polygon from "../basemap/layers/aeroway/polygon.js";
+import amenity_background from "../basemap/layers/amenity/background.js";
+import amenity_fountain from "../basemap/layers/amenity/fountain.js";
+import amenity_overlay from "../basemap/layers/amenity/overlay.js";
+import boundary_line from "../basemap/layers/boundary/line.js";
+import landuse_background from "../basemap/layers/landuse/background.js";
+import landuse_overlay from "../basemap/layers/landuse/overlay.js";
+import natural_background from "../basemap/layers/natural/background.js";
+import natural_overlay from "../basemap/layers/natural/overlay.js";
+import natural_tree from "../basemap/layers/natural/tree.js";
+import natural_trunk from "../basemap/layers/natural/trunk.js";
+import power_background from "../basemap/layers/power/background.js";
+import power_tower from "../basemap/layers/power/tower.js";
+import power_cable from "../basemap/layers/power/cable.js";
+import leisure_background from "../basemap/layers/leisure/background.js";
+import leisure_overlay from "../basemap/layers/leisure/overlay.js";
+import railway_tunnel from "../basemap/layers/railway/tunnel.js";
+import railway_line from "../basemap/layers/railway/line.js";
+
+import highway_line from '../basemap/layers/highway/highway_line.js';
+import highway_outline from '../basemap/layers/highway/highway_outline.js';
+import highway_dash from '../basemap/layers/highway/highway_dash.js';
+import highway_tunnel_line from '../basemap/layers/highway/tunnel_line.js';
+import highway_tunnel_outline from 
'../basemap/layers/highway/tunnel_outline.js';
+import highway_pedestrian_area from 
'../basemap/layers/highway/pedestrian_area.js';
+import highway_bridge_line from '../basemap/layers/highway/bridge_line.js';
+import highway_bridge_outline from 
'../basemap/layers/highway/bridge_outline.js';
+import highway_construction_line from 
"../basemap/layers/highway/construction_line.js";
+import highway_construction_dash from 
"../basemap/layers/highway/construction_dash.js";
+import highway_label from '../basemap/layers/highway/highway_label.js';
+
+import coastline_overlay from './layers/coastline/overlay.js';
+import route_line from "../basemap/layers/route/style.js"
+import building_shape from "../basemap/layers/building/shape.js";
+import building_number from "../basemap/layers/building/number.js";
+import man_made_bridge from "../basemap/layers/man_made/bridge.js";
+import man_made_pier_line from "../basemap/layers/man_made/pier_line.js";
+import man_made_pier_label from "../basemap/layers/man_made/pier_label.js";
+import waterway_line from "../basemap/layers/waterway/line.js"
+import waterway_label from "../basemap/layers/waterway/label.js"
+import waterway_tunnel_line from "../basemap/layers/waterway/tunnel_line.js"
+import waterway_tunnel_casing from 
"../basemap/layers/waterway/tunnel_casing.js"
+import icon from "../basemap/layers/point/icon.js";
+import country_label from '../basemap/layers/point/country_label.js';
+import point_label from '../basemap/layers/point/point_label.js';
+
+export default {
+    "version": 8,
+    "name": "OpenStreetMapVecto",
+    "center": config.center,
+    "zoom": config.zoom,
+    "sources": {
+        "baremaps": {
+            "type": "vector",
+            "url": `${config.host}/tiles.json`
+        }
+    },
+    "sprite": `https://baremaps.apache.org/sprites/osm/sprite`,
+    "glyphs": "https://baremaps.apache.org/fonts/{fontstack}/{range}.pbf";,
+    "layers": [
+        background,
+        power_background,
+        aeroway_polygon,
+        landuse_background,
+        leisure_background,
+        amenity_background,
+        natural_background,
+        landuse_overlay,
+        natural_overlay,
+        amenity_overlay,
+        leisure_overlay,
+        coastline_overlay,
+        waterway_line,
+        waterway_tunnel_casing,
+        waterway_tunnel_line,
+        man_made_bridge,
+        amenity_fountain,
+        highway_tunnel_outline,
+        highway_tunnel_line,
+        railway_tunnel,
+        building_shape,
+        building_number,
+        highway_construction_dash,
+        highway_construction_line,
+        highway_outline,
+        highway_line,
+        highway_dash,
+        highway_pedestrian_area,
+        railway_line,
+        highway_bridge_outline,
+        highway_bridge_line,
+        highway_label,
+        aeroway_line,
+        route_line,
+        power_cable,
+        power_tower,
+        man_made_pier_line,
+        man_made_pier_label,
+        natural_tree,
+        natural_trunk,
+        boundary_line,
+        waterway_label,
+        icon,
+        point_label,
+        country_label,
+    ],
+};
\ No newline at end of file
diff --git a/daylight/tileset.js b/daylight/tileset.js
index 9069361d..e4510394 100644
--- a/daylight/tileset.js
+++ b/daylight/tileset.js
@@ -28,7 +28,7 @@ import man_made from "../basemap/layers/man_made/tileset.js";
 import power from "../basemap/layers/power/tileset.js";
 import point from "../basemap/layers/point/tileset.js";
 import waterway from "../basemap/layers/waterway/tileset.js";
-import water from "./layers/coastline/tileset.js";
+import coastline from "./layers/coastline/tileset.js";
 
 
 export default {
@@ -55,7 +55,7 @@ export default {
     leisure,
     man_made,
     natural,
-    water,
+    coastline,
     point,
     power,
     railway,
diff --git a/daylight/workflow.js b/daylight/workflow.js
index 1d9305b8..c3bb5b1f 100644
--- a/daylight/workflow.js
+++ b/daylight/workflow.js
@@ -118,12 +118,6 @@ export default {
           "file": "./layers/coastline/prepare.sql",
           "database": config.database,
         },
-        {
-          "type": "ExecuteSql",
-          "file": "./layers/coastline/simplify.sql",
-          "database": config.database,
-          "parallel": true,
-        },
         {
           "type": "ExecuteSql",
           "file": "./layers/coastline/index.sql",

Reply via email to