diff --git a/STEP_RECORD.md b/STEP_RECORD.md index ef13ed5..03a1153 100644 --- a/STEP_RECORD.md +++ b/STEP_RECORD.md @@ -239,6 +239,69 @@ Remote: `ssh://git@nas:2222/tei/pbf.git` - 当前看起来差很多,主因是 style - 但不是已经排除所有 data / semantic 映射问题 +### 20nm Visual Restore Round: Fishery + Nav Mark Findings + +本轮针对用户肉眼指出的两类问题做了定点排查: + +- 红圈里的港区/灯标类标识大量“看起来像丢了” +- 鱼礁/渔具定置区视觉表达明显丢失 + +当前确认: + +- 这些对象并不是没进 `20nm delivery` PBF +- 它们大多已经在瓦片里,但在样式层和部分编码层被“画错了” + +抽样瓦片: + +- `11/1763/821` +- `11/1764/821` + +确认结果: + +- 原始 `p航路標識群` 与 delivery `navigation_marks` 数量对应 +- 原始 `P漁具定置箇所` 与 delivery `fixed_fishing_gear_area` 数量对应 +- 原始 `p投錨注意障害物` 与 delivery `anchor_caution_hazard_point` 数量基本对应 + +关键诊断: + +- `fixed_fishing_gear_area` 之前只被画成了绿色半透明面 + - 这和原始 `P漁具定置箇所` 的 `fill-daytime-910` 图案填充 + 紫色边线差异很大 + - 这正是“鱼礁看起来都没了”的主因之一 +- `navigation_marks` 里大量对象被 builder 粗归并成: + - `lighthouse` + - `light_beacon` + - `buoy` +- 原始图则是按 `表示用番号` 精细区分图标 + - 例如: + - `港湾灯台` 对应 `symbol-daytime-301` + - `防波堤灯台` 对应 `symbol-daytime-302` + - `灯 (Lt)` 常见为 `symbol-daytime-303` +- delivery 之前把这些类型大量画成通用 `301 / 310` + - 所以肉眼会感觉“标识丢了”或“和原图不像” + +本轮已做的样式修复: + +- [`src/pbf/style.navsea-delivery-karatsu-10nm.json`](/root/sourceserver/pbf/src/pbf/style.navsea-delivery-karatsu-10nm.json) + - `fixed_fishing_gear_area` + - 改回 `fill-daytime-910` 图案填充 + - 新增紫色 outline,贴近原始 `P漁具定置箇所` + - `navigation_marks` + - `港湾灯台 -> symbol-daytime-301` + - `防波堤灯台 -> symbol-daytime-302` + - `灯 (Lt) -> symbol-daytime-303` + - `沿岸灯台 (15M over) -> symbol-daytime-300` + +线上已同步: + +- `/mnt/sda1/www/newpec/domain/style.navsea-delivery-karatsu-10nm.json` + +仍需继续确认/修的点: + +- `灯標` 等对象仍然只有较粗语义字段,无法仅靠当前 style 完全恢复原始 `表示用番号` 级别图标 +- 如果这轮样式修复后仍有明显“标识不像原图”的对象,下一步需要回到 builder: + - 保留/补出更细的 legacy display code + - 再重建 `pbf-delivery-karatsu-20nm` + ## 20nm Delivery JP Status 已对 `/home/wwwroot/pbf-delivery-karatsu-20nm` 全量 `154` 个瓦片做扫描。 diff --git a/src/pbf/style.navsea-delivery-karatsu-10nm.json b/src/pbf/style.navsea-delivery-karatsu-10nm.json index 24133e6..379ec15 100644 --- a/src/pbf/style.navsea-delivery-karatsu-10nm.json +++ b/src/pbf/style.navsea-delivery-karatsu-10nm.json @@ -4,15 +4,6 @@ "sprite": "http://192.168.200.184/newpec/sprite/sprite?v=111", "glyphs": "http://192.168.200.184/newpec/fonts/{fontstack}/{range}.pbf", "sources": { - "navsea": { - "type": "vector", - "minzoom": 0, - "maxzoom": 12, - "tiles": [ - "http://192.168.200.184/pbf-delivery-karatsu-10nm/{z}/{x}/{y}.pbf" - ], - "attribution": "NavSea semantic vector tiles" - }, "mapple": { "type": "raster", "minzoom": 0, @@ -22,6 +13,15 @@ "https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png" ], "attribution": "© 昭文社" + }, + "navsea_delivery": { + "type": "vector", + "minzoom": 0, + "maxzoom": 12, + "tiles": [ + "http://192.168.200.184/pbf-delivery-karatsu-10nm/{z}/{x}/{y}.pbf" + ], + "attribution": "NavSea semantic vector tiles" } }, "layers": [ @@ -45,7 +45,7 @@ { "id": "sea-area-fill", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -58,10 +58,16 @@ [ "depth_zone_0-2m", "depth_zone_0-5m", + "depth_zone_0-10m", + "depth_zone_0-20m", "depth_zone_2-5m", + "depth_zone_2-10m", + "depth_zone_2-20m", "depth_zone_5-10m", + "depth_zone_5-20m", "depth_zone_10-20m", "depth_zone_20-100m", + "depth_zone_20-200m", "depth_zone_100-200m", "depth_zone_200-500m", "depth_zone_500-1000m", @@ -88,10 +94,16 @@ [ "0-2m", "0-5m", + "0-10m", + "0-20m", "2-5m", + "2-10m", + "2-20m", "5-10m", + "5-20m", "10-20m", "20-100m", + "20-200m", "100-200m", "200-500m", "500-1000m", @@ -114,96 +126,129 @@ "match", [ "get", - "chart_fill_style" + "canonical_object_type" ], - "depth_zone_0-2m", - "#c7edf2", - "depth_zone_0-5m", - "#bfe8ef", - "depth_zone_2-5m", - "#b4e1ea", - "depth_zone_5-10m", - "#a6d8e4", - "depth_zone_10-20m", - "#97cfdd", - "depth_zone_20-100m", - "#86c3d4", - "depth_zone_100-200m", - "#78b7ca", - "depth_zone_200-500m", - "#68a8bf", - "depth_zone_500-1000m", - "#5b99b2", - "depth_zone_1000-2000m", - "#4e89a4", - "depth_zone_2000-3000m", - "#447996", - "depth_zone_3000-4000m", - "#3c6c89", - "depth_zone_4000-5000m", - "#355f7b", - "depth_zone_5000-6000m", - "#2f546e", - "depth_zone_6000-7000m", - "#2a4a62", - "depth_zone_7000-8000m", - "#244156", - "depth_zone_8000-9000m", - "#1f394d", - "depth_zone_9000m以深", - "#193145", - "water_area", - "#86c3d4", + "0-2m", + "rgba(240,250,255,1)", + "0-5m", + "rgba(240,250,255,1)", + "0-10m", + "rgba(230,250,255,1)", + "0-20m", + "rgba(220,250,251,1)", + "2-5m", + "rgba(240,250,255,1)", + "2-10m", + "rgba(230,250,255,1)", + "2-20m", + "rgba(220,250,255,1)", + "5-10m", + "rgba(230,250,255,1)", + "5-20m", + "rgba(220,250,255,1)", + "10-20m", + "rgba(220,250,255,1)", + "20-100m", + "rgba(200,240,255,1)", + "20-200m", + "rgba(200,230,255,1)", + "100-200m", + "rgba(200,230,255,1)", + "200-500m", + "rgba(180,220,255,1)", + "500-1000m", + "rgba(171,192,255,1)", + "1000-2000m", + "rgba(163,181,255,1)", + "2000-3000m", + "rgba(132,169,255,1)", + "3000-4000m", + "rgba(89,155,255,1)", + "4000-5000m", + "rgba(90,140,255,1)", + "5000-6000m", + "rgba(100,132,255,1)", + "6000-7000m", + "rgba(128,128,255,1)", + "7000-8000m", + "rgba(139,118,255,1)", + "8000-9000m", + "rgba(150,100,255,1)", + "9000m以深", + "rgba(160,100,255,1)", + "河川域", + "rgba(129,195,226,1)", + "湖沼域", + "rgba(129,195,226,1)", + "陸上水域", + "rgba(129,195,226,1)", + "干潮帯", + "rgba(143,191,147,1)", [ "match", [ "get", - "canonical_object_type" + "chart_fill_style" ], - "0-2m", - "#c7edf2", - "0-5m", - "#bfe8ef", - "2-5m", - "#b4e1ea", - "5-10m", - "#a6d8e4", - "10-20m", - "#97cfdd", - "20-100m", - "#86c3d4", - "100-200m", - "#78b7ca", - "200-500m", - "#68a8bf", - "500-1000m", - "#5b99b2", - "1000-2000m", - "#4e89a4", - "2000-3000m", - "#447996", - "3000-4000m", - "#3c6c89", - "4000-5000m", - "#355f7b", - "5000-6000m", - "#2f546e", - "6000-7000m", - "#2a4a62", - "7000-8000m", - "#244156", - "8000-9000m", - "#20384b", - "#1d3041" + "depth_zone_0-2m", + "rgba(240,250,255,1)", + "depth_zone_0-5m", + "rgba(240,250,255,1)", + "depth_zone_0-10m", + "rgba(230,250,255,1)", + "depth_zone_0-20m", + "rgba(220,250,251,1)", + "depth_zone_2-5m", + "rgba(240,250,255,1)", + "depth_zone_2-10m", + "rgba(230,250,255,1)", + "depth_zone_2-20m", + "rgba(220,250,255,1)", + "depth_zone_5-10m", + "rgba(230,250,255,1)", + "depth_zone_5-20m", + "rgba(220,250,255,1)", + "depth_zone_10-20m", + "rgba(220,250,255,1)", + "depth_zone_20-100m", + "rgba(200,240,255,1)", + "depth_zone_20-200m", + "rgba(200,230,255,1)", + "depth_zone_100-200m", + "rgba(200,230,255,1)", + "depth_zone_200-500m", + "rgba(180,220,255,1)", + "depth_zone_500-1000m", + "rgba(171,192,255,1)", + "depth_zone_1000-2000m", + "rgba(163,181,255,1)", + "depth_zone_2000-3000m", + "rgba(132,169,255,1)", + "depth_zone_3000-4000m", + "rgba(89,155,255,1)", + "depth_zone_4000-5000m", + "rgba(90,140,255,1)", + "depth_zone_5000-6000m", + "rgba(100,132,255,1)", + "depth_zone_6000-7000m", + "rgba(128,128,255,1)", + "depth_zone_7000-8000m", + "rgba(139,118,255,1)", + "depth_zone_8000-9000m", + "rgba(150,100,255,1)", + "depth_zone_9000m以深", + "rgba(160,100,255,1)", + "water_area", + "rgba(129,195,226,1)", + "rgba(160,100,255,1)" ] - ], - "fill-opacity": 0.82 + ] } }, { "id": "tidal-flat", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -225,14 +270,13 @@ ] ], "paint": { - "fill-color": "#d9d1b3", - "fill-opacity": 0.75 + "fill-color": "rgba(143,191,147,1)" } }, { "id": "river-water", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -260,14 +304,13 @@ ] ], "paint": { - "fill-color": "#a8d5e7", - "fill-opacity": 0.75 + "fill-color": "rgba(129,195,226,1)" } }, { "id": "unsurveyed-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -296,7 +339,7 @@ { "id": "shoal-danger-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -325,7 +368,7 @@ { "id": "coast-structures-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_area", "filter": [ "any", @@ -360,7 +403,7 @@ { "id": "hazard-polygons", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchor_caution_hazard_area", "paint": { "fill-pattern": [ @@ -376,7 +419,7 @@ { "id": "navigation-hazard-polygons", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_hazard_area", "paint": { "fill-pattern": [ @@ -392,18 +435,37 @@ { "id": "fishery-areas", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "fixed_fishing_gear_area", "paint": { - "fill-color": "#7eb36a", - "fill-opacity": 0.4, - "fill-outline-color": "#4f7742" + "fill-pattern": [ + "match", + [ + "get", + "chart_fill_style" + ], + "fishery_area", + "fill-daytime-910", + "fish_reef_area", + "fill-daytime-910", + "fill-daytime-910" + ] + } + }, + { + "id": "fishery-areas-outline", + "type": "line", + "source": "navsea_delivery", + "source-layer": "fixed_fishing_gear_area", + "paint": { + "line-color": "rgba(198,77,187,1)", + "line-width": 1 } }, { "id": "anchorage-areas", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchorage_area", "paint": { "fill-color": "rgba(0,0,0,0)" @@ -412,7 +474,7 @@ { "id": "facility-zones", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "facility_boundary_area", "paint": { "fill-pattern": [ @@ -428,7 +490,7 @@ { "id": "submerged-structures", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "submerged_reef_area", "paint": { "fill-color": "#7d7f95", @@ -439,17 +501,26 @@ { "id": "bridge-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "bridge_structure", "paint": { - "fill-color": "#74685d", - "fill-opacity": 0.8 + "fill-color": "rgba(0,0,0,0)" + } + }, + { + "id": "bridge-outline", + "type": "line", + "source": "navsea_delivery", + "source-layer": "bridge_structure", + "paint": { + "line-color": "rgba(95,106,95,1)", + "line-width": 2 } }, { "id": "land-structures-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "onshore_structure_area", "paint": { "fill-color": "#8a6d3b", @@ -459,93 +530,416 @@ { "id": "land-area", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "land_area", "paint": { - "fill-color": "#d8caa2", - "fill-opacity": 0.92 + "fill-color": "rgba(210,200,128,1)" } }, { "id": "land-hole", "type": "fill", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "hole_area", "paint": { - "fill-color": "#c6cdb2" + "fill-color": "rgba(0,0,0,0)" } }, { "id": "bathymetry-support", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "bathymetry_line", "paint": { - "line-color": "#86aabb", - "line-width": 0.5, - "line-opacity": 0.35 + "line-width": [ + "match", + [ + "get", + "depth_value_m" + ], + 10, + 1, + 20, + 1, + 40, + 1, + 60, + 1, + 80, + 1, + 100, + 1, + 150, + 1, + 200, + 1, + 300, + 1, + 400, + 1, + 500, + 1, + 600, + 1, + 700, + 1, + 800, + 1, + 900, + 1, + 1000, + 1, + 1500, + 1, + 2000, + 1, + 2500, + 1, + 3000, + 1, + 3500, + 1, + 4000, + 1, + 4500, + 1, + 5000, + 1, + 5500, + 1, + 6000, + 1, + 8000, + 1, + 10000, + 1, + 0.5 + ], + "line-color": [ + "step", + [ + "get", + "depth_value_m" + ], + "rgba(126,230,146,1)", + 10, + "rgba(106,210,126,1)", + 11, + "rgba(126,230,146,1)", + 20, + "rgba(106,210,126,1)", + 21, + "rgba(126,230,146,1)", + 30, + "rgba(144,220,255,1)", + 40, + "rgba(113,193,235,1)", + 41, + "rgba(133,213,255,1)", + 45, + "rgba(122,206,255,1)", + 50, + "rgba(111,199,255,1)", + 55, + "rgba(100,192,255,1)", + 60, + "rgba(69,164,235,1)", + 61, + "rgba(89,184,255,1)", + 65, + "rgba(78,177,255,1)", + 70, + "rgba(67,170,255,1)", + 75, + "rgba(56,163,255,1)", + 80, + "rgba(24,136,235,1)", + 81, + "rgba(44,156,255,1)", + 85, + "rgba(22,142,255,1)", + 90, + "rgba(33,149,255,1)", + 95, + "rgba(11,135,255,1)", + 100, + "rgba(0,108,235,1)", + 101, + "rgba(0,128,255,1)", + 110, + "rgba(0,115,255,1)", + 120, + "rgba(0,102,255,1)", + 130, + "rgba(0,90,255,1)", + 140, + "rgba(0,77,255,1)", + 150, + "rgba(0,44,235,1)", + 151, + "rgba(0,64,255,1)", + 160, + "rgba(0,51,255,1)", + 170, + "rgba(0,38,255,1)", + 180, + "rgba(0,26,255,1)", + 190, + "rgba(0,13,255,1)", + 200, + "rgba(0,0,235,1)", + 201, + "rgba(0,0,255,1)", + 300, + "rgba(0,0,219,1)", + 301, + "rgba(0,0,239,1)", + 400, + "rgba(0,0,203,1)", + 401, + "rgba(0,0,223,1)", + 500, + "rgba(0,0,187,1)", + 501, + "rgba(0,0,207,1)", + 600, + "rgba(0,0,172,1)", + 601, + "rgba(0,0,192,1)", + 700, + "rgba(0,0,156,1)", + 701, + "rgba(0,0,176,1)", + 800, + "rgba(0,0,140,1)", + 801, + "rgba(0,0,160,1)", + 900, + "rgba(0,0,124,1)", + 901, + "rgba(0,0,144,1)", + 1000, + "rgba(0,0,108,1)", + 1001, + "rgba(0,0,128,1)", + 1100, + "rgba(0,6,122,1)", + 1200, + "rgba(0,13,115,1)", + 1300, + "rgba(0,19,109,1)", + 1400, + "rgba(0,26,102,1)", + 1500, + "rgba(20,50,116,1)", + 1501, + "rgba(0,32,96,1)", + 1600, + "rgba(0,39,90,1)", + 1700, + "rgba(0,45,83,1)", + 1800, + "rgba(0,51,77,1)", + 1900, + "rgba(0,58,70,1)", + 2000, + "rgba(0,51,77,1)", + 2001, + "rgba(0,51,77,1)", + 2100, + "rgba(0,56,72,1)", + 2200, + "rgba(0,61,67,1)", + 2300, + "rgba(0,67,61,1)", + 2400, + "rgba(0,72,56,1)", + 2500, + "rgba(10,87,61,1)", + 2501, + "rgba(0,77,51,1)", + 2600, + "rgba(0,82,46,1)", + 2700, + "rgba(0,87,41,1)", + 2800, + "rgba(0,92,36,1)", + 2900, + "rgba(0,97,31,1)", + 3000, + "rgba(10,112,36,1)", + 3001, + "rgba(0,102,26,1)", + 3100, + "rgba(0,108,20,1)", + 3200, + "rgba(0,113,15,1)", + 3300, + "rgba(0,112,10,1)", + 3400, + "rgba(0,123,5,1)", + 3500, + "rgba(10,138,10,1)", + 3501, + "rgba(0,128,0,1)", + 3600, + "rgba(2,124,2,1)", + 3700, + "rgba(3,121,3,1)", + 3800, + "rgba(5,117,5,1)", + 3900, + "rgba(6,114,6,1)", + 4000, + "rgba(18,120,18,1)", + 4001, + "rgba(18,110,18,1)", + 4100, + "rgba(10,107,10,1)", + 4200, + "rgba(11,103,11,1)", + 4300, + "rgba(13,100,13,1)", + 4400, + "rgba(14,96,14,1)", + 4500, + "rgba(26,103,26,1)", + 4501, + "rgba(16,93,16,1)", + 4600, + "rgba(18,89,18,1)", + 4700, + "rgba(19,26,19,1)", + 4800, + "rgba(21,82,21,1)", + 4900, + "rgba(22,79,22,1)", + 5000, + "rgba(34,85,34,1)", + 5001, + "rgba(24,75,24,1)", + 5100, + "rgba(26,72,26,1)", + 5200, + "rgba(27,68,27,1)", + 5300, + "rgba(29,65,29,1)", + 5400, + "rgba(30,61,30,1)", + 5500, + "rgba(42,68,42,1)", + 5501, + "rgba(32,58,32,1)", + 5600, + "rgba(34,54,34,1)", + 5700, + "rgba(35,51,35,1)", + 5800, + "rgba(37,47,37,1)", + 5900, + "rgba(38,44,38,1)", + 6000, + "rgba(50,50,50,1)", + 6001, + "rgba(40,40,40,1)", + 6500, + "rgba(58,30,58,1)", + 7000, + "rgba(75,20,75,1)", + 7500, + "rgba(93,10,93,1)", + 8000, + "rgba(120,10,120,1)", + 8001, + "rgba(110,0,110,1)", + 8500, + "rgba(117,0,117,1)", + 9000, + "rgba(123,0,123,1)", + 9500, + "rgba(130,0,130,1)", + 10000, + "rgba(147,0,147,1)", + 10001, + "rgba(137,0,137,1)", + 10500, + "rgba(143,0,143,1)" + ] } }, { "id": "depth-contours", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "depth_contour", "paint": { - "line-color": "#3d7992", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 5, - 0.3, - 8, - 0.6, - 12, - 1.2 - ], - "line-opacity": 0.9 + "line-color": "rgba(136,152,139,1)", + "line-width": 1 } }, { "id": "depth-contours-major", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "depth_contour_overview", "paint": { - "line-color": "#1f5a72", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 5, - 0.5, - 8, - 1, + "line-color": "rgba(136,152,139,1)", + "line-width": 1, + "line-dasharray": [ 12, - 1.6 + 4 + ] + } + }, + { + "id": "depth-contours-major-labels", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "depth_contour_overview", + "minzoom": 11, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 200, + "text-allow-overlap": true, + "text-field": [ + "match", + [ + "get", + "least_depth_m" + ], + 2, + "2", + 5, + "5", + 10, + "10", + 20, + "20", + "" ], - "line-opacity": 0.9 + "text-font": [ + "NotoSansCJK-Regular" + ], + "text-size": 10, + "text-rotation-alignment": "viewport" + }, + "filter": [ + "has", + "least_depth_m" + ], + "paint": { + "text-color": "rgba(7,7,7,1)" } }, { "id": "depth-contour-labels", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "depth_contour", "minzoom": 11, "layout": { - "visibility": "none", "symbol-placement": "line", - "symbol-spacing": 220, + "symbol-spacing": 200, "text-allow-overlap": true, "text-field": [ "get", @@ -554,19 +948,7 @@ "text-font": [ "NotoSansCJK-Regular" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 9, - 14, - 11 - ], + "text-size": 10, "text-rotation-alignment": "viewport" }, "filter": [ @@ -585,15 +967,13 @@ ] ], "paint": { - "text-color": "#163847", - "text-halo-color": "#f2fbff", - "text-halo-width": 1 + "text-color": "rgba(7,7,7,1)" } }, { "id": "bathymetry-depth-labels", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "bathymetry_line", "minzoom": 11, "filter": [ @@ -614,7 +994,7 @@ "layout": { "text-allow-overlap": true, "symbol-placement": "line", - "symbol-spacing": 90, + "symbol-spacing": 200, "text-field": [ "get", "chart_label_text" @@ -626,13 +1006,13 @@ "text-rotation-alignment": "viewport" }, "paint": { - "text-color": "#0b0b0b" + "text-color": "rgba(7,7,7,1)" } }, { "id": "subsea-cables", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "seabed_line", "paint": { "line-color": "#814d99", @@ -646,7 +1026,7 @@ { "id": "coast-structures-line", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_line", "paint": { "line-color": "#5f5a50", @@ -656,17 +1036,17 @@ { "id": "land-structures-line", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "onshore_structure_line", "paint": { - "line-color": "#7d602d", - "line-width": 1 + "line-color": "rgba(147,116,39,1)", + "line-width": 2 } }, { "id": "water-boundary", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "depth_zone_739", "paint": { "line-color": "#4f8ca7", @@ -676,7 +1056,7 @@ { "id": "regulatory-boundary", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "depth_zone_741", "paint": { "line-color": "#cb5c46", @@ -690,7 +1070,7 @@ { "id": "height-limit-line", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "clearance_limit_line", "paint": { "line-color": "#ad3b6a", @@ -700,31 +1080,31 @@ { "id": "clip-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "baseline_outline", "paint": { - "line-color": "#7c7567", - "line-width": 1 + "line-color": "rgba(95,106,95,1)", + "line-width": 2 } }, { "id": "danger-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "hazard_boundary_outline", "paint": { - "line-color": "#c65e2d", - "line-width": 1.2, + "line-color": "rgba(95,106,95,1)", + "line-width": 3, "line-dasharray": [ - 2, - 1 + 3, + 2 ] } }, { "id": "navigation-hazard-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_hazard_outline", "paint": { "line-width": [ @@ -748,7 +1128,7 @@ { "id": "anchor-danger-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchor_caution_hazard_outline", "paint": { "line-width": [ @@ -772,7 +1152,7 @@ { "id": "anchorage-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchorage_outline", "paint": { "line-color": [ @@ -800,7 +1180,7 @@ { "id": "facility-zone-outline", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "facility_boundary_outline", "paint": { "line-color": [ @@ -824,7 +1204,7 @@ { "id": "special-pattern-line-754", "type": "line", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "clip_outline_754", "paint": { "line-pattern": "line-daytime-754", @@ -834,7 +1214,7 @@ { "id": "hazard-points", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_hazard_point", "layout": { "icon-allow-overlap": true, @@ -851,7 +1231,7 @@ { "id": "anchorage-symbols", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchorage_point", "layout": { "icon-allow-overlap": true, @@ -868,7 +1248,7 @@ { "id": "anchor-hazard-points", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "anchor_caution_hazard_point", "layout": { "icon-allow-overlap": true, @@ -885,7 +1265,7 @@ { "id": "nav-light-flare", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_marks", "layout": { "icon-allow-overlap": true, @@ -911,44 +1291,232 @@ ] }, "filter": [ - "has", - "light_color_code" + "all", + [ + "has", + "light_color_code" + ], + [ + "any", + [ + "!=", + [ + "get", + "canonical_object_type" + ], + "沿岸灯台 (15M over)" + ], + [ + "!=", + [ + "get", + "light_sector_mode" + ], + "sector" + ] + ] + ] + }, + { + "id": "nav-light-arc", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "navigation_marks", + "layout": { + "icon-allow-overlap": true, + "icon-rotation-alignment": "map", + "icon-image": [ + "case", + [ + "all", + [ + "==", + [ + "get", + "canonical_object_type" + ], + "沿岸灯台 (15M over)" + ], + [ + "==", + [ + "get", + "light_sector_mode" + ], + "sector" + ] + ], + "arc-daytime-04027289", + [ + "match", + [ + "get", + "light_color_code" + ], + "green", + "arc-daytime-m1", + "red", + "arc-daytime-m2", + "arc-daytime-m3" + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "get", + "chart_symbol_code" + ], + "lighthouse" + ], + [ + "has", + "light_color_code" + ] ] }, { "id": "nav-marks", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_marks", "layout": { "icon-allow-overlap": true, "icon-image": [ - "coalesce", + "case", [ - "get", - "chart_icon_image" + "==", + [ + "get", + "canonical_object_type" + ], + "沿岸灯台 (15M over)" ], - "" + "symbol-daytime-300", + [ + "==", + [ + "get", + "canonical_object_type" + ], + "港湾灯台" + ], + "symbol-daytime-301", + [ + "==", + [ + "get", + "canonical_object_type" + ], + "防波堤灯台" + ], + "symbol-daytime-302", + [ + "==", + [ + "get", + "canonical_object_type" + ], + "灯 (Lt)" + ], + "symbol-daytime-303", + [ + "coalesce", + [ + "get", + "chart_icon_image" + ], + "" + ] ] } }, { "id": "facility-points", - "type": "circle", - "source": "navsea", + "type": "symbol", + "source": "navsea_delivery", "source-layer": "facility_boundary_point", - "paint": { - "circle-radius": 3.5, - "circle-color": "#516f89", - "circle-stroke-color": "#ffffff", - "circle-stroke-width": 0.8 + "layout": { + "icon-allow-overlap": true, + "icon-image": "symbol-daytime-520" } }, { "id": "landmark-points", - "type": "circle", - "source": "navsea", + "type": "symbol", + "source": "navsea_delivery", "source-layer": "onshore_structure_point", + "layout": { + "icon-allow-overlap": true, + "icon-image": [ + "match", + [ + "get", + "canonical_object_type" + ], + "煙突", + "symbol-daytime-640", + "塔、やぐら、風車", + "symbol-daytime-650", + "海事関係署", + "symbol-daytime-660", + "漁業協同組合", + "symbol-daytime-661", + "山頂", + "symbol-daytime-681", + "その他 (記念碑等)", + "symbol-daytime-698", + "" + ] + }, + "filter": [ + "match", + [ + "get", + "canonical_object_type" + ], + "煙突", + true, + "塔、やぐら、風車", + true, + "海事関係署", + true, + "漁業協同組合", + true, + "山頂", + true, + "その他 (記念碑等)", + true, + false + ] + }, + { + "id": "landmark-point-fallback", + "type": "circle", + "source": "navsea_delivery", + "source-layer": "onshore_structure_point", + "filter": [ + "match", + [ + "get", + "canonical_object_type" + ], + "煙突", + false, + "塔、やぐら、風車", + false, + "海事関係署", + false, + "漁業協同組合", + false, + "山頂", + false, + "その他 (記念碑等)", + false, + true + ], "paint": { "circle-radius": 3, "circle-color": "#695641", @@ -956,21 +1524,10 @@ "circle-stroke-width": 0.8 } }, - { - "id": "bottom-material-points", - "type": "circle", - "source": "navsea", - "source-layer": "seabed_text_point", - "paint": { - "circle-radius": 1.8, - "circle-color": "#3e7081", - "circle-opacity": 0.65 - } - }, { "id": "bottom-material-labels", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "seabed_text_point", "minzoom": 11, "filter": [ @@ -986,34 +1543,16 @@ "text-font": [ "NotoSansCJK-Regular" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 9, - 14, - 11 - ], - "text-offset": [ - 0, - 0.7 - ] + "text-size": 10 }, "paint": { - "text-color": "#162329", - "text-halo-color": "#f8f3e9", - "text-halo-width": 0.8 + "text-color": "rgba(0,0,0,1)" } }, { "id": "height-limit-points", "type": "circle", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "clearance_limit_point", "paint": { "circle-radius": 3.5, @@ -1022,10 +1561,69 @@ "circle-stroke-width": 0.8 } }, + { + "id": "height-limit-name-labels", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "clearance_limit_point", + "minzoom": 11, + "filter": [ + "has", + "name_ja" + ], + "layout": { + "text-allow-overlap": true, + "text-max-width": 100, + "text-field": [ + "get", + "name_ja" + ], + "text-font": [ + "NotoSansCJK-Regular" + ], + "text-size": 12, + "text-anchor": "bottom" + }, + "paint": { + "text-color": "rgba(255,0,0,1)" + } + }, + { + "id": "height-limit-value-labels", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "clearance_limit_point", + "minzoom": 11, + "filter": [ + "has", + "chart_label_text" + ], + "layout": { + "text-allow-overlap": true, + "text-max-width": 100, + "text-field": [ + "concat", + "高さ", + [ + "get", + "chart_label_text" + ], + "m" + ], + "text-font": [ + "NotoSansCJK-Regular" + ], + "text-size": 12, + "text-anchor": "top" + }, + "paint": { + "text-color": "rgba(255,0,0,1)" + } + }, { "id": "nav-mark-labels", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_marks", "layout": { "text-allow-overlap": true, @@ -1152,7 +1750,7 @@ ] }, "paint": { - "text-color": "#000000" + "text-color": "rgba(0,0,0,1)" }, "filter": [ "has", @@ -1162,7 +1760,7 @@ { "id": "nav-light-abbr-labels", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "navigation_marks", "layout": { "text-allow-overlap": true, @@ -1290,12 +1888,24 @@ }, "paint": { "text-color": [ - "coalesce", + "case", [ - "get", - "chart_text_color" + "==", + [ + "get", + "chart_text_color" + ], + "#000000" ], - "#000000" + "rgba(0,0,0,1)", + [ + "coalesce", + [ + "get", + "chart_text_color" + ], + "rgba(0,0,0,1)" + ] ] }, "filter": [ @@ -1304,53 +1914,39 @@ ] }, { - "id": "place-labels-sea", + "id": "place-labels-sea-en", "type": "symbol", - "source": "navsea", + "source": "navsea_delivery", "source-layer": "place_label_sea", "layout": { + "text-allow-overlap": true, + "text-max-width": 100, "text-field": [ "get", - "chart_label_text" + "place_name_en" ], "text-font": [ "NotoSerifCJK-Regular" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 6, - 9, - 12, - 15 - ], - "text-anchor": [ - "coalesce", - [ - "get", - "chart_label_anchor" - ], - "center" - ], - "text-max-width": 10 + "text-size": 10, + "text-anchor": "top" }, "paint": { - "text-color": "#24485a", - "text-halo-color": "#f7fbfe", - "text-halo-width": 1 - } + "text-color": "rgba(0,0,0,1)" + }, + "filter": [ + "has", + "place_name_en" + ] }, { - "id": "place-labels-land", + "id": "place-labels-sea-ja", "type": "symbol", - "source": "navsea", - "source-layer": "place_label_land", + "source": "navsea_delivery", + "source-layer": "place_label_sea", "layout": { + "text-allow-overlap": true, + "text-max-width": 100, "text-field": [ "get", "chart_label_text" @@ -1358,34 +1954,68 @@ "text-font": [ "NotoSerifCJK-Regular" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 6, - 9, - 12, - 15 - ], - "text-anchor": [ - "coalesce", - [ - "get", - "chart_label_anchor" - ], - "center" - ], - "text-max-width": 10 + "text-size": 10, + "text-anchor": "bottom" }, "paint": { - "text-color": "#3b3328", - "text-halo-color": "#fff7ec", - "text-halo-width": 1 - } + "text-color": "rgba(0,0,0,1)" + }, + "filter": [ + "has", + "chart_label_text" + ] + }, + { + "id": "place-labels-land-en", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "place_label_land", + "layout": { + "text-allow-overlap": true, + "text-max-width": 100, + "text-field": [ + "get", + "place_name_en" + ], + "text-font": [ + "NotoSerifCJK-Regular" + ], + "text-size": 10, + "text-anchor": "top" + }, + "paint": { + "text-color": "rgba(0,0,0,1)" + }, + "filter": [ + "has", + "place_name_en" + ] + }, + { + "id": "place-labels-land-ja", + "type": "symbol", + "source": "navsea_delivery", + "source-layer": "place_label_land", + "layout": { + "text-allow-overlap": true, + "text-max-width": 100, + "text-field": [ + "get", + "chart_label_text" + ], + "text-font": [ + "NotoSerifCJK-Regular" + ], + "text-size": 10, + "text-anchor": "bottom" + }, + "paint": { + "text-color": "rgba(0,0,0,1)" + }, + "filter": [ + "has", + "chart_label_text" + ] } ] }