@seamos/map-preset 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -52,46 +52,116 @@ function ensurePmtilesProtocol() {
52
52
  // src/presets/basic.json
53
53
  var basic_default = {
54
54
  version: 8,
55
- name: "Korea OMT Lite",
55
+ name: "Korea OMT Lite (demotiles)",
56
56
  sources: {
57
57
  korea: {
58
58
  type: "vector",
59
59
  url: "pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles"
60
+ },
61
+ demotiles: {
62
+ type: "vector",
63
+ url: "pmtiles://{{PMTILES_BASE}}/land_v1.0.0.pmtiles",
64
+ maxzoom: 6
60
65
  }
61
66
  },
62
67
  layers: [
63
- { id: "bg", type: "background", paint: { "background-color": "#94c2e3" } },
68
+ {
69
+ id: "bg",
70
+ type: "background",
71
+ paint: { "background-color": "#dceaf7" }
72
+ },
73
+ {
74
+ id: "countries-fill",
75
+ type: "fill",
76
+ source: "demotiles",
77
+ "source-layer": "countries",
78
+ paint: {
79
+ "fill-color": "#f5f2ee",
80
+ "fill-opacity": 1
81
+ }
82
+ },
83
+ {
84
+ id: "countries-outline",
85
+ type: "line",
86
+ source: "demotiles",
87
+ "source-layer": "countries",
88
+ paint: {
89
+ "line-color": "#c8bfb4",
90
+ "line-width": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 6, 1, 10, 1.5, 14, 2],
91
+ "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.6, 8, 0.4, 14, 0.2]
92
+ }
93
+ },
64
94
  {
65
95
  id: "landcover",
66
96
  type: "fill",
67
97
  source: "korea",
68
98
  "source-layer": "landcover",
69
- paint: { "fill-color": "#d9e8c9", "fill-opacity": 0.8 }
99
+ paint: {
100
+ "fill-color": [
101
+ "match",
102
+ ["get", "class"],
103
+ "wood",
104
+ "#c8ddb5",
105
+ "grass",
106
+ "#d5e8c1",
107
+ "scrub",
108
+ "#cde0b8",
109
+ "wetland",
110
+ "#b8dcc8",
111
+ "#dae8ca"
112
+ ],
113
+ "fill-opacity": 0.7
114
+ }
70
115
  },
71
116
  {
72
117
  id: "landuse",
73
118
  type: "fill",
74
119
  source: "korea",
75
120
  "source-layer": "landuse",
76
- paint: { "fill-color": "#e4efd7", "fill-opacity": 0.85 }
121
+ paint: {
122
+ "fill-color": [
123
+ "match",
124
+ ["get", "class"],
125
+ "residential",
126
+ "#ede6de",
127
+ "commercial",
128
+ "#e8ddd8",
129
+ "industrial",
130
+ "#e0dbd6",
131
+ "park",
132
+ "#c5e2ac",
133
+ "cemetery",
134
+ "#d2dfc5",
135
+ "#e8e4dc"
136
+ ],
137
+ "fill-opacity": 0.85
138
+ }
77
139
  },
78
140
  {
79
- id: "landuse-farmland",
141
+ id: "park",
80
142
  type: "fill",
81
143
  source: "korea",
82
- "source-layer": "landcover",
83
- filter: [
84
- "any",
85
- ["==", ["get", "class"], "farmland"],
86
- ["==", ["get", "class"], "farm"],
87
- ["==", ["get", "class"], "orchard"],
88
- ["==", ["get", "class"], "vineyard"],
89
- ["==", ["get", "class"], "plant_nursery"],
90
- ["==", ["get", "class"], "greenhouse_horticulture"]
91
- ],
144
+ "source-layer": "park",
92
145
  paint: {
93
- "fill-color": "#eb5b6c",
94
- "fill-opacity": 0.9
146
+ "fill-color": "#c2e0a8",
147
+ "fill-opacity": 0.7
148
+ }
149
+ },
150
+ {
151
+ id: "water",
152
+ type: "fill",
153
+ source: "korea",
154
+ "source-layer": "water",
155
+ paint: { "fill-color": "#a3ceed" }
156
+ },
157
+ {
158
+ id: "waterway",
159
+ type: "line",
160
+ source: "korea",
161
+ "source-layer": "waterway",
162
+ paint: {
163
+ "line-color": "#7db8de",
164
+ "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.4, 12, 1.8, 14, 2.5]
95
165
  }
96
166
  },
97
167
  {
@@ -106,8 +176,8 @@ var basic_default = {
106
176
  ["==", ["get", "subclass"], "rice"]
107
177
  ],
108
178
  paint: {
109
- "fill-color": "#c8f0d6",
110
- "fill-opacity": 0.95
179
+ "fill-color": "#d4f0de",
180
+ "fill-opacity": 0.85
111
181
  }
112
182
  },
113
183
  {
@@ -123,30 +193,48 @@ var basic_default = {
123
193
  ["==", ["get", "class"], "greenhouse_horticulture"]
124
194
  ],
125
195
  paint: {
126
- "fill-color": "#f0e9b8",
127
- "fill-opacity": 0.9
196
+ "fill-color": "#f5eed2",
197
+ "fill-opacity": 0.8
128
198
  }
129
199
  },
130
200
  {
131
- id: "park",
132
- type: "fill",
133
- source: "korea",
134
- "source-layer": "park",
135
- paint: { "fill-color": "#cfe8b4", "fill-opacity": 0.9 }
136
- },
137
- {
138
- id: "water",
201
+ id: "landuse-farmland",
139
202
  type: "fill",
140
203
  source: "korea",
141
- "source-layer": "water",
142
- paint: { "fill-color": "#a8d2f0" }
204
+ "source-layer": "landcover",
205
+ filter: [
206
+ "any",
207
+ ["==", ["get", "class"], "farmland"],
208
+ ["==", ["get", "class"], "farm"],
209
+ ["==", ["get", "class"], "orchard"],
210
+ ["==", ["get", "class"], "vineyard"],
211
+ ["==", ["get", "class"], "plant_nursery"],
212
+ ["==", ["get", "class"], "greenhouse_horticulture"]
213
+ ],
214
+ paint: {
215
+ "fill-color": "rgba(235, 91, 108, 0.12)",
216
+ "fill-opacity": 1
217
+ }
143
218
  },
144
219
  {
145
- id: "waterway",
220
+ id: "landuse-farmland-outline",
146
221
  type: "line",
147
222
  source: "korea",
148
- "source-layer": "waterway",
149
- paint: { "line-color": "#7fbbe0", "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.5, 14, 2.5] }
223
+ "source-layer": "landcover",
224
+ filter: [
225
+ "any",
226
+ ["==", ["get", "class"], "farmland"],
227
+ ["==", ["get", "class"], "farm"],
228
+ ["==", ["get", "class"], "orchard"],
229
+ ["==", ["get", "class"], "vineyard"],
230
+ ["==", ["get", "class"], "plant_nursery"],
231
+ ["==", ["get", "class"], "greenhouse_horticulture"]
232
+ ],
233
+ paint: {
234
+ "line-color": "#eb5b6c",
235
+ "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.8, 12, 1.8, 16, 2.5],
236
+ "line-opacity": ["interpolate", ["linear"], ["zoom"], 8, 0.7, 12, 0.9, 16, 1]
237
+ }
150
238
  },
151
239
  {
152
240
  id: "buildings",
@@ -154,28 +242,32 @@ var basic_default = {
154
242
  source: "korea",
155
243
  "source-layer": "building",
156
244
  minzoom: 13,
157
- paint: { "fill-color": "#d7d2cc", "fill-opacity": 0.8 }
245
+ paint: {
246
+ "fill-color": "#d8d3cc",
247
+ "fill-opacity": 0.7,
248
+ "fill-outline-color": "#c5bfb8"
249
+ }
158
250
  },
159
251
  {
160
- id: "roads",
252
+ id: "roads-outline",
161
253
  type: "line",
162
254
  source: "korea",
163
255
  "source-layer": "transportation",
164
256
  paint: {
165
- "line-color": "#ffffff",
166
- "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.4, 10, 1.6, 14, 5],
167
- "line-opacity": 0.95
257
+ "line-color": "#ccc6be",
258
+ "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.6, 10, 2, 14, 6],
259
+ "line-opacity": 0.4
168
260
  }
169
261
  },
170
262
  {
171
- id: "roads-outline",
263
+ id: "roads",
172
264
  type: "line",
173
265
  source: "korea",
174
266
  "source-layer": "transportation",
175
267
  paint: {
176
- "line-color": "#c9c3bb",
177
- "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.8, 10, 2.2, 14, 6],
178
- "line-opacity": 0.5
268
+ "line-color": "#ffffff",
269
+ "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.3, 10, 1.4, 14, 4.5],
270
+ "line-opacity": 0.95
179
271
  }
180
272
  },
181
273
  {
@@ -189,7 +281,11 @@ var basic_default = {
189
281
  "text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 12, 14],
190
282
  "text-allow-overlap": false
191
283
  },
192
- paint: { "text-color": "#2b2b2b", "text-halo-color": "#ffffff", "text-halo-width": 1.2 }
284
+ paint: {
285
+ "text-color": "#3a3a3a",
286
+ "text-halo-color": "rgba(255,255,255,0.9)",
287
+ "text-halo-width": 1.4
288
+ }
193
289
  },
194
290
  {
195
291
  id: "road-label",
@@ -203,7 +299,11 @@ var basic_default = {
203
299
  "text-font": ["Noto Sans Regular"],
204
300
  "text-size": 11
205
301
  },
206
- paint: { "text-color": "#4b4b4b", "text-halo-color": "#ffffff", "text-halo-width": 1 }
302
+ paint: {
303
+ "text-color": "#555555",
304
+ "text-halo-color": "rgba(255,255,255,0.85)",
305
+ "text-halo-width": 1
306
+ }
207
307
  }
208
308
  ]
209
309
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/createSeamOSMap.ts","../src/pmtiles/protocol.ts","../src/presets/basic.json","../src/presets/terrain.json","../src/presets/index.ts","../src/style/resolveStyle.ts"],"sourcesContent":["export { createSeamOSMap } from \"./createSeamOSMap\";\nexport type { CreateSeamOSMapOptions, SeamOSEnv } from \"./createSeamOSMap\";\nexport { STYLE_PRESETS } from \"./presets\";\nexport type { StylePresetName } from \"./presets\";","import maplibregl, { Map } from \"maplibre-gl\";\nimport { ensurePmtilesProtocol } from \"./pmtiles/protocol\";\nimport { STYLE_PRESETS, type StylePresetName } from \"./presets\";\nimport { resolveStyleTemplate } from \"./style/resolveStyle\";\n\nexport type SeamOSEnv = \"dev\" | \"prod\";\n\nexport type CreateSeamOSMapOptions = {\n container: string | HTMLElement;\n preset: StylePresetName;\n env: SeamOSEnv;\n maplibre?: Omit<maplibregl.MapOptions, \"container\" | \"style\">;\n onLoad?: (map: Map) => void;\n};\n\nexport function createSeamOSMap(opts: CreateSeamOSMapOptions) {\n ensurePmtilesProtocol();\n\n let pmtilesBaseUrl = opts.env === 'prod' ? \n \"/maps\"\n : \"https://seamos-lib.s3.ap-northeast-2.amazonaws.com/pmtiles\";\n \n const template = STYLE_PRESETS[opts.preset] as any;\n\n const style = resolveStyleTemplate(template, { PMTILES_BASE: pmtilesBaseUrl });\n\n const map = new maplibregl.Map({\n container: opts.container,\n style,\n ...opts.maplibre,\n });\n\n return map;\n}","import maplibregl from \"maplibre-gl\";\nimport { Protocol } from \"pmtiles\";\n\nlet installed = false;\n\nexport function ensurePmtilesProtocol() {\n if (installed) return;\n\n const protocol = new Protocol();\n maplibregl.addProtocol(\"pmtiles\", protocol.tile);\n \n installed = true;\n}","{\n \"version\": 8,\n \"name\": \"Korea OMT Lite\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n }\n },\n\n \"layers\": [\n { \"id\": \"bg\", \"type\": \"background\", \"paint\": { \"background-color\": \"#94c2e3\" } },\n \n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": { \"fill-color\": \"#d9e8c9\", \"fill-opacity\": 0.8 }\n },\n {\n \"id\": \"landuse\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": { \"fill-color\": \"#e4efd7\", \"fill-opacity\": 0.85 }\n },\n\n {\n \"id\": \"landuse-farmland\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#eb5b6c\",\n \"fill-opacity\": 0.9\n }\n },\n\n {\n \"id\": \"landuse-paddy\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"rice\"]\n ],\n \"paint\": {\n \"fill-color\": \"#c8f0d6\",\n \"fill-opacity\": 0.95\n }\n },\n {\n \"id\": \"landuse-agri-other\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#f0e9b8\",\n \"fill-opacity\": 0.9\n }\n },\n\n {\n \"id\": \"park\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"park\",\n \"paint\": { \"fill-color\": \"#cfe8b4\", \"fill-opacity\": 0.9 }\n },\n\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": { \"fill-color\": \"#a8d2f0\" }\n },\n {\n \"id\": \"waterway\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": { \"line-color\": \"#7fbbe0\", \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.5, 14, 2.5] }\n },\n\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"minzoom\": 13,\n \"paint\": { \"fill-color\": \"#d7d2cc\", \"fill-opacity\": 0.8 }\n },\n\n {\n \"id\": \"roads\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.4, 10, 1.6, 14, 5],\n \"line-opacity\": 0.95\n }\n },\n\n {\n \"id\": \"roads-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#c9c3bb\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.8, 10, 2.2, 14, 6],\n \"line-opacity\": 0.5\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","{\n \"version\": 8,\n \"name\": \"Korea Farm Basemap (OMT z<=14 + Terrain z6~12, vivid)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"terrain\": {\n \"type\": \"raster-dem\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_terrain_v1.0.0.pmtiles\",\n \"tileSize\": 256,\n \"encoding\": \"mapbox\"\n }\n },\n \"terrain\": {\n \"source\": \"terrain\",\n \"exaggeration\": 1.4\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#8ab7da\"\n }\n },\n {\n \"id\": \"hillshade\",\n \"type\": \"hillshade\",\n \"source\": \"terrain\",\n \"paint\": {\n \"hillshade-shadow-color\": \"#2b2b2b\",\n \"hillshade-highlight-color\": \"#ffffff\",\n \"hillshade-accent-color\": \"#9a9a9a\",\n \"hillshade-exaggeration\": 0.35,\n \"hillshade-illumination-anchor\": \"viewport\"\n }\n },\n {\n \"id\": \"water-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#4fb3ff\",\n \"fill-opacity\": 0.78\n }\n },\n {\n \"id\": \"landcover-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"wood\",\n \"#84b07a\",\n \"grass\",\n \"#a6cf85\",\n \"scrub\",\n \"#9fc27e\",\n \"wetland\",\n \"#7fc7ad\",\n \"#b8d8a7\"\n ],\n \"fill-opacity\": 0.20\n }\n },\n {\n \"id\": \"landuse-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"residential\",\n \"#e6d3bf\",\n \"commercial\",\n \"#e1c2c2\",\n \"industrial\",\n \"#d1c8c8\",\n \"park\",\n \"#98d28e\",\n \"cemetery\",\n \"#9ecaa8\",\n \"forest\",\n \"#88b97c\",\n \"farmland\",\n \"#bf1d35\",\n \"farm\",\n \"#b7ea7a\",\n \"orchard\",\n \"#9fe06a\",\n \"vineyard\",\n \"#a8df74\",\n \"#cfe3b2\"\n ],\n \"fill-opacity\": 0.90\n }\n },\n {\n \"id\": \"farm-accent\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"fill-color\": \"#bf1d35\",\n \"fill-opacity\": 0.22\n }\n },\n {\n \"id\": \"waterway-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#1a7fe0\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.6,\n 10,\n 1.5,\n 12,\n 2.4,\n 14,\n 3.2,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"transportation-casing\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.35)\",\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 1.2,\n 10,\n 3.0,\n 12,\n 4.2,\n 14,\n 5.4,\n 16,\n 6.2\n ],\n \"line-opacity\": 0.5\n }\n },\n {\n \"id\": \"transportation-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"motorway\",\n \"#f0b24b\",\n \"trunk\",\n \"#f0b24b\",\n \"primary\",\n \"#f1c06a\",\n \"secondary\",\n \"#f4d28a\",\n \"tertiary\",\n \"#f0e0b6\",\n \"track\",\n \"#d6c08a\",\n \"path\",\n \"#d9d1c3\",\n \"#f0e0b6\"\n ],\n \"line-opacity\": 0.85,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.7,\n 10,\n 2.0,\n 12,\n 2.8,\n 14,\n 3.6,\n 16,\n 4.2\n ]\n }\n },\n {\n \"id\": \"landuse-outline-glow\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.20)\",\n \"line-opacity\": 0.18,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 1.2,\n 12,\n 2.6,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"landuse-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(255,255,255,0.92)\",\n \"line-opacity\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.16,\n 12,\n 0.30,\n 16,\n 0.42\n ],\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.35,\n 12,\n 0.95,\n 16,\n 1.4\n ]\n }\n },\n {\n \"id\": \"farm-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"line-color\": \"#bf1d35\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 9,\n 0.7,\n 12,\n 1.5,\n 16,\n 2.4\n ]\n }\n },\n {\n \"id\": \"building-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"paint\": {\n \"fill-color\": \"#d7d2c9\",\n \"fill-opacity\": 0.6\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","import type { StyleSpecification } from \"maplibre-gl\";\nimport basic from \"./basic.json\";\nimport terrain from \"./terrain.json\";\n\nexport const STYLE_PRESETS = {\n basic: basic as StyleSpecification,\n terrain: terrain as StyleSpecification\n} as const;\n\nexport type StylePresetName = keyof typeof STYLE_PRESETS;","import type { StyleSpecification } from \"maplibre-gl\";\n\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction replaceTokensInString(s: string, tokens: Record<string, string>) {\n let out = s;\n for (const [k, v] of Object.entries(tokens)) {\n out = out.replaceAll(`{{${k}}}`, v);\n }\n\n return out;\n}\n\nfunction deepReplace(obj: any, tokens: Record<string, string>): any {\n if (typeof obj === \"string\") return replaceTokensInString(obj, tokens);\n if (Array.isArray(obj)) return obj.map((v) => deepReplace(v, tokens));\n if (obj && typeof obj === \"object\") {\n const out: any = {};\n for (const [k, v] of Object.entries(obj)) out[k] = deepReplace(v, tokens);\n \n return out;\n }\n\n return obj;\n}\n\nexport function resolveStyleTemplate(\n template: StyleSpecification,\n tokens: Record<string, string>\n): StyleSpecification {\n return deepReplace(deepClone(template), tokens) as StyleSpecification;\n}"],"mappings":"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","names":["import_maplibre_gl","maplibregl","maplibregl"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/createSeamOSMap.ts","../src/pmtiles/protocol.ts","../src/presets/basic.json","../src/presets/terrain.json","../src/presets/index.ts","../src/style/resolveStyle.ts"],"sourcesContent":["export { createSeamOSMap } from \"./createSeamOSMap\";\nexport type { CreateSeamOSMapOptions, SeamOSEnv } from \"./createSeamOSMap\";\nexport { STYLE_PRESETS } from \"./presets\";\nexport type { StylePresetName } from \"./presets\";","import maplibregl, { Map } from \"maplibre-gl\";\nimport { ensurePmtilesProtocol } from \"./pmtiles/protocol\";\nimport { STYLE_PRESETS, type StylePresetName } from \"./presets\";\nimport { resolveStyleTemplate } from \"./style/resolveStyle\";\n\nexport type SeamOSEnv = \"dev\" | \"prod\";\n\nexport type CreateSeamOSMapOptions = {\n container: string | HTMLElement;\n preset: StylePresetName;\n env: SeamOSEnv;\n maplibre?: Omit<maplibregl.MapOptions, \"container\" | \"style\">;\n onLoad?: (map: Map) => void;\n};\n\nexport function createSeamOSMap(opts: CreateSeamOSMapOptions) {\n ensurePmtilesProtocol();\n\n let pmtilesBaseUrl = opts.env === 'prod' ? \n \"/maps\"\n : \"https://seamos-lib.s3.ap-northeast-2.amazonaws.com/pmtiles\";\n \n const template = STYLE_PRESETS[opts.preset] as any;\n\n const style = resolveStyleTemplate(template, { PMTILES_BASE: pmtilesBaseUrl });\n\n const map = new maplibregl.Map({\n container: opts.container,\n style,\n ...opts.maplibre,\n });\n\n return map;\n}","import maplibregl from \"maplibre-gl\";\nimport { Protocol } from \"pmtiles\";\n\nlet installed = false;\n\nexport function ensurePmtilesProtocol() {\n if (installed) return;\n\n const protocol = new Protocol();\n maplibregl.addProtocol(\"pmtiles\", protocol.tile);\n \n installed = true;\n}","{\n \"version\": 8,\n \"name\": \"Korea OMT Lite (demotiles)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"demotiles\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/land_v1.0.0.pmtiles\",\n \"maxzoom\": 6\n }\n },\n\n \"layers\": [\n {\n \"id\": \"bg\",\n \"type\": \"background\",\n \"paint\": { \"background-color\": \"#dceaf7\" }\n },\n\n {\n \"id\": \"countries-fill\",\n \"type\": \"fill\",\n \"source\": \"demotiles\",\n \"source-layer\": \"countries\",\n \"paint\": {\n \"fill-color\": \"#f5f2ee\",\n \"fill-opacity\": 1\n }\n },\n {\n \"id\": \"countries-outline\",\n \"type\": \"line\",\n \"source\": \"demotiles\",\n \"source-layer\": \"countries\",\n \"paint\": {\n \"line-color\": \"#c8bfb4\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 0, 0.4, 6, 1, 10, 1.5, 14, 2],\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 0, 0.6, 8, 0.4, 14, 0.2]\n }\n },\n\n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\", [\"get\", \"class\"],\n \"wood\", \"#c8ddb5\",\n \"grass\", \"#d5e8c1\",\n \"scrub\", \"#cde0b8\",\n \"wetland\", \"#b8dcc8\",\n \"#dae8ca\"\n ],\n \"fill-opacity\": 0.7\n }\n },\n {\n \"id\": \"landuse\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\", [\"get\", \"class\"],\n \"residential\", \"#ede6de\",\n \"commercial\", \"#e8ddd8\",\n \"industrial\", \"#e0dbd6\",\n \"park\", \"#c5e2ac\",\n \"cemetery\", \"#d2dfc5\",\n \"#e8e4dc\"\n ],\n \"fill-opacity\": 0.85\n }\n },\n\n {\n \"id\": \"park\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"park\",\n \"paint\": {\n \"fill-color\": \"#c2e0a8\",\n \"fill-opacity\": 0.7\n }\n },\n\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": { \"fill-color\": \"#a3ceed\" }\n },\n {\n \"id\": \"waterway\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#7db8de\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.4, 12, 1.8, 14, 2.5]\n }\n },\n\n {\n \"id\": \"landuse-paddy\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"rice\"]\n ],\n \"paint\": {\n \"fill-color\": \"#d4f0de\",\n \"fill-opacity\": 0.85\n }\n },\n\n {\n \"id\": \"landuse-agri-other\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#f5eed2\",\n \"fill-opacity\": 0.8\n }\n },\n\n {\n \"id\": \"landuse-farmland\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"rgba(235, 91, 108, 0.12)\",\n \"fill-opacity\": 1\n }\n },\n {\n \"id\": \"landuse-farmland-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"line-color\": \"#eb5b6c\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.8, 12, 1.8, 16, 2.5],\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.7, 12, 0.9, 16, 1]\n }\n },\n\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"minzoom\": 13,\n \"paint\": {\n \"fill-color\": \"#d8d3cc\",\n \"fill-opacity\": 0.7,\n \"fill-outline-color\": \"#c5bfb8\"\n }\n },\n\n {\n \"id\": \"roads-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ccc6be\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.6, 10, 2, 14, 6],\n \"line-opacity\": 0.4\n }\n },\n {\n \"id\": \"roads\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.3, 10, 1.4, 14, 4.5],\n \"line-opacity\": 0.95\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": {\n \"text-color\": \"#3a3a3a\",\n \"text-halo-color\": \"rgba(255,255,255,0.9)\",\n \"text-halo-width\": 1.4\n }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": {\n \"text-color\": \"#555555\",\n \"text-halo-color\": \"rgba(255,255,255,0.85)\",\n \"text-halo-width\": 1.0\n }\n }\n ]\n}","{\n \"version\": 8,\n \"name\": \"Korea Farm Basemap (OMT z<=14 + Terrain z6~12, vivid)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"terrain\": {\n \"type\": \"raster-dem\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_terrain_v1.0.0.pmtiles\",\n \"tileSize\": 256,\n \"encoding\": \"mapbox\"\n }\n },\n \"terrain\": {\n \"source\": \"terrain\",\n \"exaggeration\": 1.4\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#8ab7da\"\n }\n },\n {\n \"id\": \"hillshade\",\n \"type\": \"hillshade\",\n \"source\": \"terrain\",\n \"paint\": {\n \"hillshade-shadow-color\": \"#2b2b2b\",\n \"hillshade-highlight-color\": \"#ffffff\",\n \"hillshade-accent-color\": \"#9a9a9a\",\n \"hillshade-exaggeration\": 0.35,\n \"hillshade-illumination-anchor\": \"viewport\"\n }\n },\n {\n \"id\": \"water-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#4fb3ff\",\n \"fill-opacity\": 0.78\n }\n },\n {\n \"id\": \"landcover-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"wood\",\n \"#84b07a\",\n \"grass\",\n \"#a6cf85\",\n \"scrub\",\n \"#9fc27e\",\n \"wetland\",\n \"#7fc7ad\",\n \"#b8d8a7\"\n ],\n \"fill-opacity\": 0.20\n }\n },\n {\n \"id\": \"landuse-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"residential\",\n \"#e6d3bf\",\n \"commercial\",\n \"#e1c2c2\",\n \"industrial\",\n \"#d1c8c8\",\n \"park\",\n \"#98d28e\",\n \"cemetery\",\n \"#9ecaa8\",\n \"forest\",\n \"#88b97c\",\n \"farmland\",\n \"#bf1d35\",\n \"farm\",\n \"#b7ea7a\",\n \"orchard\",\n \"#9fe06a\",\n \"vineyard\",\n \"#a8df74\",\n \"#cfe3b2\"\n ],\n \"fill-opacity\": 0.90\n }\n },\n {\n \"id\": \"farm-accent\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"fill-color\": \"#bf1d35\",\n \"fill-opacity\": 0.22\n }\n },\n {\n \"id\": \"waterway-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#1a7fe0\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.6,\n 10,\n 1.5,\n 12,\n 2.4,\n 14,\n 3.2,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"transportation-casing\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.35)\",\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 1.2,\n 10,\n 3.0,\n 12,\n 4.2,\n 14,\n 5.4,\n 16,\n 6.2\n ],\n \"line-opacity\": 0.5\n }\n },\n {\n \"id\": \"transportation-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"motorway\",\n \"#f0b24b\",\n \"trunk\",\n \"#f0b24b\",\n \"primary\",\n \"#f1c06a\",\n \"secondary\",\n \"#f4d28a\",\n \"tertiary\",\n \"#f0e0b6\",\n \"track\",\n \"#d6c08a\",\n \"path\",\n \"#d9d1c3\",\n \"#f0e0b6\"\n ],\n \"line-opacity\": 0.85,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.7,\n 10,\n 2.0,\n 12,\n 2.8,\n 14,\n 3.6,\n 16,\n 4.2\n ]\n }\n },\n {\n \"id\": \"landuse-outline-glow\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.20)\",\n \"line-opacity\": 0.18,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 1.2,\n 12,\n 2.6,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"landuse-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(255,255,255,0.92)\",\n \"line-opacity\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.16,\n 12,\n 0.30,\n 16,\n 0.42\n ],\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.35,\n 12,\n 0.95,\n 16,\n 1.4\n ]\n }\n },\n {\n \"id\": \"farm-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"line-color\": \"#bf1d35\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 9,\n 0.7,\n 12,\n 1.5,\n 16,\n 2.4\n ]\n }\n },\n {\n \"id\": \"building-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"paint\": {\n \"fill-color\": \"#d7d2c9\",\n \"fill-opacity\": 0.6\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","import type { StyleSpecification } from \"maplibre-gl\";\nimport basic from \"./basic.json\";\nimport terrain from \"./terrain.json\";\n\nexport const STYLE_PRESETS = {\n basic: basic as StyleSpecification,\n terrain: terrain as StyleSpecification\n} as const;\n\nexport type StylePresetName = keyof typeof STYLE_PRESETS;","import type { StyleSpecification } from \"maplibre-gl\";\n\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction replaceTokensInString(s: string, tokens: Record<string, string>) {\n let out = s;\n for (const [k, v] of Object.entries(tokens)) {\n out = out.replaceAll(`{{${k}}}`, v);\n }\n\n return out;\n}\n\nfunction deepReplace(obj: any, tokens: Record<string, string>): any {\n if (typeof obj === \"string\") return replaceTokensInString(obj, tokens);\n if (Array.isArray(obj)) return obj.map((v) => deepReplace(v, tokens));\n if (obj && typeof obj === \"object\") {\n const out: any = {};\n for (const [k, v] of Object.entries(obj)) out[k] = deepReplace(v, tokens);\n \n return out;\n }\n\n return obj;\n}\n\nexport function resolveStyleTemplate(\n template: StyleSpecification,\n tokens: Record<string, string>\n): StyleSpecification {\n return deepReplace(deepClone(template), tokens) as StyleSpecification;\n}"],"mappings":"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","names":["import_maplibre_gl","maplibregl","maplibregl"]}
package/dist/index.js CHANGED
@@ -15,46 +15,116 @@ function ensurePmtilesProtocol() {
15
15
  // src/presets/basic.json
16
16
  var basic_default = {
17
17
  version: 8,
18
- name: "Korea OMT Lite",
18
+ name: "Korea OMT Lite (demotiles)",
19
19
  sources: {
20
20
  korea: {
21
21
  type: "vector",
22
22
  url: "pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles"
23
+ },
24
+ demotiles: {
25
+ type: "vector",
26
+ url: "pmtiles://{{PMTILES_BASE}}/land_v1.0.0.pmtiles",
27
+ maxzoom: 6
23
28
  }
24
29
  },
25
30
  layers: [
26
- { id: "bg", type: "background", paint: { "background-color": "#94c2e3" } },
31
+ {
32
+ id: "bg",
33
+ type: "background",
34
+ paint: { "background-color": "#dceaf7" }
35
+ },
36
+ {
37
+ id: "countries-fill",
38
+ type: "fill",
39
+ source: "demotiles",
40
+ "source-layer": "countries",
41
+ paint: {
42
+ "fill-color": "#f5f2ee",
43
+ "fill-opacity": 1
44
+ }
45
+ },
46
+ {
47
+ id: "countries-outline",
48
+ type: "line",
49
+ source: "demotiles",
50
+ "source-layer": "countries",
51
+ paint: {
52
+ "line-color": "#c8bfb4",
53
+ "line-width": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 6, 1, 10, 1.5, 14, 2],
54
+ "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.6, 8, 0.4, 14, 0.2]
55
+ }
56
+ },
27
57
  {
28
58
  id: "landcover",
29
59
  type: "fill",
30
60
  source: "korea",
31
61
  "source-layer": "landcover",
32
- paint: { "fill-color": "#d9e8c9", "fill-opacity": 0.8 }
62
+ paint: {
63
+ "fill-color": [
64
+ "match",
65
+ ["get", "class"],
66
+ "wood",
67
+ "#c8ddb5",
68
+ "grass",
69
+ "#d5e8c1",
70
+ "scrub",
71
+ "#cde0b8",
72
+ "wetland",
73
+ "#b8dcc8",
74
+ "#dae8ca"
75
+ ],
76
+ "fill-opacity": 0.7
77
+ }
33
78
  },
34
79
  {
35
80
  id: "landuse",
36
81
  type: "fill",
37
82
  source: "korea",
38
83
  "source-layer": "landuse",
39
- paint: { "fill-color": "#e4efd7", "fill-opacity": 0.85 }
84
+ paint: {
85
+ "fill-color": [
86
+ "match",
87
+ ["get", "class"],
88
+ "residential",
89
+ "#ede6de",
90
+ "commercial",
91
+ "#e8ddd8",
92
+ "industrial",
93
+ "#e0dbd6",
94
+ "park",
95
+ "#c5e2ac",
96
+ "cemetery",
97
+ "#d2dfc5",
98
+ "#e8e4dc"
99
+ ],
100
+ "fill-opacity": 0.85
101
+ }
40
102
  },
41
103
  {
42
- id: "landuse-farmland",
104
+ id: "park",
43
105
  type: "fill",
44
106
  source: "korea",
45
- "source-layer": "landcover",
46
- filter: [
47
- "any",
48
- ["==", ["get", "class"], "farmland"],
49
- ["==", ["get", "class"], "farm"],
50
- ["==", ["get", "class"], "orchard"],
51
- ["==", ["get", "class"], "vineyard"],
52
- ["==", ["get", "class"], "plant_nursery"],
53
- ["==", ["get", "class"], "greenhouse_horticulture"]
54
- ],
107
+ "source-layer": "park",
55
108
  paint: {
56
- "fill-color": "#eb5b6c",
57
- "fill-opacity": 0.9
109
+ "fill-color": "#c2e0a8",
110
+ "fill-opacity": 0.7
111
+ }
112
+ },
113
+ {
114
+ id: "water",
115
+ type: "fill",
116
+ source: "korea",
117
+ "source-layer": "water",
118
+ paint: { "fill-color": "#a3ceed" }
119
+ },
120
+ {
121
+ id: "waterway",
122
+ type: "line",
123
+ source: "korea",
124
+ "source-layer": "waterway",
125
+ paint: {
126
+ "line-color": "#7db8de",
127
+ "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.4, 12, 1.8, 14, 2.5]
58
128
  }
59
129
  },
60
130
  {
@@ -69,8 +139,8 @@ var basic_default = {
69
139
  ["==", ["get", "subclass"], "rice"]
70
140
  ],
71
141
  paint: {
72
- "fill-color": "#c8f0d6",
73
- "fill-opacity": 0.95
142
+ "fill-color": "#d4f0de",
143
+ "fill-opacity": 0.85
74
144
  }
75
145
  },
76
146
  {
@@ -86,30 +156,48 @@ var basic_default = {
86
156
  ["==", ["get", "class"], "greenhouse_horticulture"]
87
157
  ],
88
158
  paint: {
89
- "fill-color": "#f0e9b8",
90
- "fill-opacity": 0.9
159
+ "fill-color": "#f5eed2",
160
+ "fill-opacity": 0.8
91
161
  }
92
162
  },
93
163
  {
94
- id: "park",
95
- type: "fill",
96
- source: "korea",
97
- "source-layer": "park",
98
- paint: { "fill-color": "#cfe8b4", "fill-opacity": 0.9 }
99
- },
100
- {
101
- id: "water",
164
+ id: "landuse-farmland",
102
165
  type: "fill",
103
166
  source: "korea",
104
- "source-layer": "water",
105
- paint: { "fill-color": "#a8d2f0" }
167
+ "source-layer": "landcover",
168
+ filter: [
169
+ "any",
170
+ ["==", ["get", "class"], "farmland"],
171
+ ["==", ["get", "class"], "farm"],
172
+ ["==", ["get", "class"], "orchard"],
173
+ ["==", ["get", "class"], "vineyard"],
174
+ ["==", ["get", "class"], "plant_nursery"],
175
+ ["==", ["get", "class"], "greenhouse_horticulture"]
176
+ ],
177
+ paint: {
178
+ "fill-color": "rgba(235, 91, 108, 0.12)",
179
+ "fill-opacity": 1
180
+ }
106
181
  },
107
182
  {
108
- id: "waterway",
183
+ id: "landuse-farmland-outline",
109
184
  type: "line",
110
185
  source: "korea",
111
- "source-layer": "waterway",
112
- paint: { "line-color": "#7fbbe0", "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.5, 14, 2.5] }
186
+ "source-layer": "landcover",
187
+ filter: [
188
+ "any",
189
+ ["==", ["get", "class"], "farmland"],
190
+ ["==", ["get", "class"], "farm"],
191
+ ["==", ["get", "class"], "orchard"],
192
+ ["==", ["get", "class"], "vineyard"],
193
+ ["==", ["get", "class"], "plant_nursery"],
194
+ ["==", ["get", "class"], "greenhouse_horticulture"]
195
+ ],
196
+ paint: {
197
+ "line-color": "#eb5b6c",
198
+ "line-width": ["interpolate", ["linear"], ["zoom"], 8, 0.8, 12, 1.8, 16, 2.5],
199
+ "line-opacity": ["interpolate", ["linear"], ["zoom"], 8, 0.7, 12, 0.9, 16, 1]
200
+ }
113
201
  },
114
202
  {
115
203
  id: "buildings",
@@ -117,28 +205,32 @@ var basic_default = {
117
205
  source: "korea",
118
206
  "source-layer": "building",
119
207
  minzoom: 13,
120
- paint: { "fill-color": "#d7d2cc", "fill-opacity": 0.8 }
208
+ paint: {
209
+ "fill-color": "#d8d3cc",
210
+ "fill-opacity": 0.7,
211
+ "fill-outline-color": "#c5bfb8"
212
+ }
121
213
  },
122
214
  {
123
- id: "roads",
215
+ id: "roads-outline",
124
216
  type: "line",
125
217
  source: "korea",
126
218
  "source-layer": "transportation",
127
219
  paint: {
128
- "line-color": "#ffffff",
129
- "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.4, 10, 1.6, 14, 5],
130
- "line-opacity": 0.95
220
+ "line-color": "#ccc6be",
221
+ "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.6, 10, 2, 14, 6],
222
+ "line-opacity": 0.4
131
223
  }
132
224
  },
133
225
  {
134
- id: "roads-outline",
226
+ id: "roads",
135
227
  type: "line",
136
228
  source: "korea",
137
229
  "source-layer": "transportation",
138
230
  paint: {
139
- "line-color": "#c9c3bb",
140
- "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.8, 10, 2.2, 14, 6],
141
- "line-opacity": 0.5
231
+ "line-color": "#ffffff",
232
+ "line-width": ["interpolate", ["linear"], ["zoom"], 6, 0.3, 10, 1.4, 14, 4.5],
233
+ "line-opacity": 0.95
142
234
  }
143
235
  },
144
236
  {
@@ -152,7 +244,11 @@ var basic_default = {
152
244
  "text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 12, 14],
153
245
  "text-allow-overlap": false
154
246
  },
155
- paint: { "text-color": "#2b2b2b", "text-halo-color": "#ffffff", "text-halo-width": 1.2 }
247
+ paint: {
248
+ "text-color": "#3a3a3a",
249
+ "text-halo-color": "rgba(255,255,255,0.9)",
250
+ "text-halo-width": 1.4
251
+ }
156
252
  },
157
253
  {
158
254
  id: "road-label",
@@ -166,7 +262,11 @@ var basic_default = {
166
262
  "text-font": ["Noto Sans Regular"],
167
263
  "text-size": 11
168
264
  },
169
- paint: { "text-color": "#4b4b4b", "text-halo-color": "#ffffff", "text-halo-width": 1 }
265
+ paint: {
266
+ "text-color": "#555555",
267
+ "text-halo-color": "rgba(255,255,255,0.85)",
268
+ "text-halo-width": 1
269
+ }
170
270
  }
171
271
  ]
172
272
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createSeamOSMap.ts","../src/pmtiles/protocol.ts","../src/presets/basic.json","../src/presets/terrain.json","../src/presets/index.ts","../src/style/resolveStyle.ts"],"sourcesContent":["import maplibregl, { Map } from \"maplibre-gl\";\nimport { ensurePmtilesProtocol } from \"./pmtiles/protocol\";\nimport { STYLE_PRESETS, type StylePresetName } from \"./presets\";\nimport { resolveStyleTemplate } from \"./style/resolveStyle\";\n\nexport type SeamOSEnv = \"dev\" | \"prod\";\n\nexport type CreateSeamOSMapOptions = {\n container: string | HTMLElement;\n preset: StylePresetName;\n env: SeamOSEnv;\n maplibre?: Omit<maplibregl.MapOptions, \"container\" | \"style\">;\n onLoad?: (map: Map) => void;\n};\n\nexport function createSeamOSMap(opts: CreateSeamOSMapOptions) {\n ensurePmtilesProtocol();\n\n let pmtilesBaseUrl = opts.env === 'prod' ? \n \"/maps\"\n : \"https://seamos-lib.s3.ap-northeast-2.amazonaws.com/pmtiles\";\n \n const template = STYLE_PRESETS[opts.preset] as any;\n\n const style = resolveStyleTemplate(template, { PMTILES_BASE: pmtilesBaseUrl });\n\n const map = new maplibregl.Map({\n container: opts.container,\n style,\n ...opts.maplibre,\n });\n\n return map;\n}","import maplibregl from \"maplibre-gl\";\nimport { Protocol } from \"pmtiles\";\n\nlet installed = false;\n\nexport function ensurePmtilesProtocol() {\n if (installed) return;\n\n const protocol = new Protocol();\n maplibregl.addProtocol(\"pmtiles\", protocol.tile);\n \n installed = true;\n}","{\n \"version\": 8,\n \"name\": \"Korea OMT Lite\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n }\n },\n\n \"layers\": [\n { \"id\": \"bg\", \"type\": \"background\", \"paint\": { \"background-color\": \"#94c2e3\" } },\n \n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": { \"fill-color\": \"#d9e8c9\", \"fill-opacity\": 0.8 }\n },\n {\n \"id\": \"landuse\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": { \"fill-color\": \"#e4efd7\", \"fill-opacity\": 0.85 }\n },\n\n {\n \"id\": \"landuse-farmland\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#eb5b6c\",\n \"fill-opacity\": 0.9\n }\n },\n\n {\n \"id\": \"landuse-paddy\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"rice\"]\n ],\n \"paint\": {\n \"fill-color\": \"#c8f0d6\",\n \"fill-opacity\": 0.95\n }\n },\n {\n \"id\": \"landuse-agri-other\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#f0e9b8\",\n \"fill-opacity\": 0.9\n }\n },\n\n {\n \"id\": \"park\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"park\",\n \"paint\": { \"fill-color\": \"#cfe8b4\", \"fill-opacity\": 0.9 }\n },\n\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": { \"fill-color\": \"#a8d2f0\" }\n },\n {\n \"id\": \"waterway\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": { \"line-color\": \"#7fbbe0\", \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.5, 14, 2.5] }\n },\n\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"minzoom\": 13,\n \"paint\": { \"fill-color\": \"#d7d2cc\", \"fill-opacity\": 0.8 }\n },\n\n {\n \"id\": \"roads\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.4, 10, 1.6, 14, 5],\n \"line-opacity\": 0.95\n }\n },\n\n {\n \"id\": \"roads-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#c9c3bb\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.8, 10, 2.2, 14, 6],\n \"line-opacity\": 0.5\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","{\n \"version\": 8,\n \"name\": \"Korea Farm Basemap (OMT z<=14 + Terrain z6~12, vivid)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"terrain\": {\n \"type\": \"raster-dem\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_terrain_v1.0.0.pmtiles\",\n \"tileSize\": 256,\n \"encoding\": \"mapbox\"\n }\n },\n \"terrain\": {\n \"source\": \"terrain\",\n \"exaggeration\": 1.4\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#8ab7da\"\n }\n },\n {\n \"id\": \"hillshade\",\n \"type\": \"hillshade\",\n \"source\": \"terrain\",\n \"paint\": {\n \"hillshade-shadow-color\": \"#2b2b2b\",\n \"hillshade-highlight-color\": \"#ffffff\",\n \"hillshade-accent-color\": \"#9a9a9a\",\n \"hillshade-exaggeration\": 0.35,\n \"hillshade-illumination-anchor\": \"viewport\"\n }\n },\n {\n \"id\": \"water-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#4fb3ff\",\n \"fill-opacity\": 0.78\n }\n },\n {\n \"id\": \"landcover-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"wood\",\n \"#84b07a\",\n \"grass\",\n \"#a6cf85\",\n \"scrub\",\n \"#9fc27e\",\n \"wetland\",\n \"#7fc7ad\",\n \"#b8d8a7\"\n ],\n \"fill-opacity\": 0.20\n }\n },\n {\n \"id\": \"landuse-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"residential\",\n \"#e6d3bf\",\n \"commercial\",\n \"#e1c2c2\",\n \"industrial\",\n \"#d1c8c8\",\n \"park\",\n \"#98d28e\",\n \"cemetery\",\n \"#9ecaa8\",\n \"forest\",\n \"#88b97c\",\n \"farmland\",\n \"#bf1d35\",\n \"farm\",\n \"#b7ea7a\",\n \"orchard\",\n \"#9fe06a\",\n \"vineyard\",\n \"#a8df74\",\n \"#cfe3b2\"\n ],\n \"fill-opacity\": 0.90\n }\n },\n {\n \"id\": \"farm-accent\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"fill-color\": \"#bf1d35\",\n \"fill-opacity\": 0.22\n }\n },\n {\n \"id\": \"waterway-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#1a7fe0\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.6,\n 10,\n 1.5,\n 12,\n 2.4,\n 14,\n 3.2,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"transportation-casing\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.35)\",\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 1.2,\n 10,\n 3.0,\n 12,\n 4.2,\n 14,\n 5.4,\n 16,\n 6.2\n ],\n \"line-opacity\": 0.5\n }\n },\n {\n \"id\": \"transportation-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"motorway\",\n \"#f0b24b\",\n \"trunk\",\n \"#f0b24b\",\n \"primary\",\n \"#f1c06a\",\n \"secondary\",\n \"#f4d28a\",\n \"tertiary\",\n \"#f0e0b6\",\n \"track\",\n \"#d6c08a\",\n \"path\",\n \"#d9d1c3\",\n \"#f0e0b6\"\n ],\n \"line-opacity\": 0.85,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.7,\n 10,\n 2.0,\n 12,\n 2.8,\n 14,\n 3.6,\n 16,\n 4.2\n ]\n }\n },\n {\n \"id\": \"landuse-outline-glow\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.20)\",\n \"line-opacity\": 0.18,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 1.2,\n 12,\n 2.6,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"landuse-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(255,255,255,0.92)\",\n \"line-opacity\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.16,\n 12,\n 0.30,\n 16,\n 0.42\n ],\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.35,\n 12,\n 0.95,\n 16,\n 1.4\n ]\n }\n },\n {\n \"id\": \"farm-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"line-color\": \"#bf1d35\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 9,\n 0.7,\n 12,\n 1.5,\n 16,\n 2.4\n ]\n }\n },\n {\n \"id\": \"building-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"paint\": {\n \"fill-color\": \"#d7d2c9\",\n \"fill-opacity\": 0.6\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","import type { StyleSpecification } from \"maplibre-gl\";\nimport basic from \"./basic.json\";\nimport terrain from \"./terrain.json\";\n\nexport const STYLE_PRESETS = {\n basic: basic as StyleSpecification,\n terrain: terrain as StyleSpecification\n} as const;\n\nexport type StylePresetName = keyof typeof STYLE_PRESETS;","import type { StyleSpecification } from \"maplibre-gl\";\n\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction replaceTokensInString(s: string, tokens: Record<string, string>) {\n let out = s;\n for (const [k, v] of Object.entries(tokens)) {\n out = out.replaceAll(`{{${k}}}`, v);\n }\n\n return out;\n}\n\nfunction deepReplace(obj: any, tokens: Record<string, string>): any {\n if (typeof obj === \"string\") return replaceTokensInString(obj, tokens);\n if (Array.isArray(obj)) return obj.map((v) => deepReplace(v, tokens));\n if (obj && typeof obj === \"object\") {\n const out: any = {};\n for (const [k, v] of Object.entries(obj)) out[k] = deepReplace(v, tokens);\n \n return out;\n }\n\n return obj;\n}\n\nexport function resolveStyleTemplate(\n template: StyleSpecification,\n tokens: Record<string, string>\n): StyleSpecification {\n return deepReplace(deepClone(template), tokens) as StyleSpecification;\n}"],"mappings":"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","names":["maplibregl","maplibregl"]}
1
+ {"version":3,"sources":["../src/createSeamOSMap.ts","../src/pmtiles/protocol.ts","../src/presets/basic.json","../src/presets/terrain.json","../src/presets/index.ts","../src/style/resolveStyle.ts"],"sourcesContent":["import maplibregl, { Map } from \"maplibre-gl\";\nimport { ensurePmtilesProtocol } from \"./pmtiles/protocol\";\nimport { STYLE_PRESETS, type StylePresetName } from \"./presets\";\nimport { resolveStyleTemplate } from \"./style/resolveStyle\";\n\nexport type SeamOSEnv = \"dev\" | \"prod\";\n\nexport type CreateSeamOSMapOptions = {\n container: string | HTMLElement;\n preset: StylePresetName;\n env: SeamOSEnv;\n maplibre?: Omit<maplibregl.MapOptions, \"container\" | \"style\">;\n onLoad?: (map: Map) => void;\n};\n\nexport function createSeamOSMap(opts: CreateSeamOSMapOptions) {\n ensurePmtilesProtocol();\n\n let pmtilesBaseUrl = opts.env === 'prod' ? \n \"/maps\"\n : \"https://seamos-lib.s3.ap-northeast-2.amazonaws.com/pmtiles\";\n \n const template = STYLE_PRESETS[opts.preset] as any;\n\n const style = resolveStyleTemplate(template, { PMTILES_BASE: pmtilesBaseUrl });\n\n const map = new maplibregl.Map({\n container: opts.container,\n style,\n ...opts.maplibre,\n });\n\n return map;\n}","import maplibregl from \"maplibre-gl\";\nimport { Protocol } from \"pmtiles\";\n\nlet installed = false;\n\nexport function ensurePmtilesProtocol() {\n if (installed) return;\n\n const protocol = new Protocol();\n maplibregl.addProtocol(\"pmtiles\", protocol.tile);\n \n installed = true;\n}","{\n \"version\": 8,\n \"name\": \"Korea OMT Lite (demotiles)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"demotiles\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/land_v1.0.0.pmtiles\",\n \"maxzoom\": 6\n }\n },\n\n \"layers\": [\n {\n \"id\": \"bg\",\n \"type\": \"background\",\n \"paint\": { \"background-color\": \"#dceaf7\" }\n },\n\n {\n \"id\": \"countries-fill\",\n \"type\": \"fill\",\n \"source\": \"demotiles\",\n \"source-layer\": \"countries\",\n \"paint\": {\n \"fill-color\": \"#f5f2ee\",\n \"fill-opacity\": 1\n }\n },\n {\n \"id\": \"countries-outline\",\n \"type\": \"line\",\n \"source\": \"demotiles\",\n \"source-layer\": \"countries\",\n \"paint\": {\n \"line-color\": \"#c8bfb4\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 0, 0.4, 6, 1, 10, 1.5, 14, 2],\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 0, 0.6, 8, 0.4, 14, 0.2]\n }\n },\n\n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\", [\"get\", \"class\"],\n \"wood\", \"#c8ddb5\",\n \"grass\", \"#d5e8c1\",\n \"scrub\", \"#cde0b8\",\n \"wetland\", \"#b8dcc8\",\n \"#dae8ca\"\n ],\n \"fill-opacity\": 0.7\n }\n },\n {\n \"id\": \"landuse\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\", [\"get\", \"class\"],\n \"residential\", \"#ede6de\",\n \"commercial\", \"#e8ddd8\",\n \"industrial\", \"#e0dbd6\",\n \"park\", \"#c5e2ac\",\n \"cemetery\", \"#d2dfc5\",\n \"#e8e4dc\"\n ],\n \"fill-opacity\": 0.85\n }\n },\n\n {\n \"id\": \"park\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"park\",\n \"paint\": {\n \"fill-color\": \"#c2e0a8\",\n \"fill-opacity\": 0.7\n }\n },\n\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": { \"fill-color\": \"#a3ceed\" }\n },\n {\n \"id\": \"waterway\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#7db8de\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.4, 12, 1.8, 14, 2.5]\n }\n },\n\n {\n \"id\": \"landuse-paddy\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"paddy\"],\n [\"==\", [\"get\", \"subclass\"], \"rice\"]\n ],\n \"paint\": {\n \"fill-color\": \"#d4f0de\",\n \"fill-opacity\": 0.85\n }\n },\n\n {\n \"id\": \"landuse-agri-other\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"#f5eed2\",\n \"fill-opacity\": 0.8\n }\n },\n\n {\n \"id\": \"landuse-farmland\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"fill-color\": \"rgba(235, 91, 108, 0.12)\",\n \"fill-opacity\": 1\n }\n },\n {\n \"id\": \"landuse-farmland-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"class\"], \"plant_nursery\"],\n [\"==\", [\"get\", \"class\"], \"greenhouse_horticulture\"]\n ],\n \"paint\": {\n \"line-color\": \"#eb5b6c\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.8, 12, 1.8, 16, 2.5],\n \"line-opacity\": [\"interpolate\", [\"linear\"], [\"zoom\"], 8, 0.7, 12, 0.9, 16, 1]\n }\n },\n\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"minzoom\": 13,\n \"paint\": {\n \"fill-color\": \"#d8d3cc\",\n \"fill-opacity\": 0.7,\n \"fill-outline-color\": \"#c5bfb8\"\n }\n },\n\n {\n \"id\": \"roads-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ccc6be\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.6, 10, 2, 14, 6],\n \"line-opacity\": 0.4\n }\n },\n {\n \"id\": \"roads\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\"interpolate\", [\"linear\"], [\"zoom\"], 6, 0.3, 10, 1.4, 14, 4.5],\n \"line-opacity\": 0.95\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": {\n \"text-color\": \"#3a3a3a\",\n \"text-halo-color\": \"rgba(255,255,255,0.9)\",\n \"text-halo-width\": 1.4\n }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": {\n \"text-color\": \"#555555\",\n \"text-halo-color\": \"rgba(255,255,255,0.85)\",\n \"text-halo-width\": 1.0\n }\n }\n ]\n}","{\n \"version\": 8,\n \"name\": \"Korea Farm Basemap (OMT z<=14 + Terrain z6~12, vivid)\",\n \"sources\": {\n \"korea\": {\n \"type\": \"vector\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_v1.0.0.pmtiles\"\n },\n \"terrain\": {\n \"type\": \"raster-dem\",\n \"url\": \"pmtiles://{{PMTILES_BASE}}/korea_terrain_v1.0.0.pmtiles\",\n \"tileSize\": 256,\n \"encoding\": \"mapbox\"\n }\n },\n \"terrain\": {\n \"source\": \"terrain\",\n \"exaggeration\": 1.4\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#8ab7da\"\n }\n },\n {\n \"id\": \"hillshade\",\n \"type\": \"hillshade\",\n \"source\": \"terrain\",\n \"paint\": {\n \"hillshade-shadow-color\": \"#2b2b2b\",\n \"hillshade-highlight-color\": \"#ffffff\",\n \"hillshade-accent-color\": \"#9a9a9a\",\n \"hillshade-exaggeration\": 0.35,\n \"hillshade-illumination-anchor\": \"viewport\"\n }\n },\n {\n \"id\": \"water-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#4fb3ff\",\n \"fill-opacity\": 0.78\n }\n },\n {\n \"id\": \"landcover-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"wood\",\n \"#84b07a\",\n \"grass\",\n \"#a6cf85\",\n \"scrub\",\n \"#9fc27e\",\n \"wetland\",\n \"#7fc7ad\",\n \"#b8d8a7\"\n ],\n \"fill-opacity\": 0.20\n }\n },\n {\n \"id\": \"landuse-base\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"residential\",\n \"#e6d3bf\",\n \"commercial\",\n \"#e1c2c2\",\n \"industrial\",\n \"#d1c8c8\",\n \"park\",\n \"#98d28e\",\n \"cemetery\",\n \"#9ecaa8\",\n \"forest\",\n \"#88b97c\",\n \"farmland\",\n \"#bf1d35\",\n \"farm\",\n \"#b7ea7a\",\n \"orchard\",\n \"#9fe06a\",\n \"vineyard\",\n \"#a8df74\",\n \"#cfe3b2\"\n ],\n \"fill-opacity\": 0.90\n }\n },\n {\n \"id\": \"farm-accent\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"fill-color\": \"#bf1d35\",\n \"fill-opacity\": 0.22\n }\n },\n {\n \"id\": \"waterway-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"waterway\",\n \"paint\": {\n \"line-color\": \"#1a7fe0\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.6,\n 10,\n 1.5,\n 12,\n 2.4,\n 14,\n 3.2,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"transportation-casing\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.35)\",\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 1.2,\n 10,\n 3.0,\n 12,\n 4.2,\n 14,\n 5.4,\n 16,\n 6.2\n ],\n \"line-opacity\": 0.5\n }\n },\n {\n \"id\": \"transportation-line\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation\",\n \"paint\": {\n \"line-color\": [\n \"match\",\n [\"get\", \"class\"],\n \"motorway\",\n \"#f0b24b\",\n \"trunk\",\n \"#f0b24b\",\n \"primary\",\n \"#f1c06a\",\n \"secondary\",\n \"#f4d28a\",\n \"tertiary\",\n \"#f0e0b6\",\n \"track\",\n \"#d6c08a\",\n \"path\",\n \"#d9d1c3\",\n \"#f0e0b6\"\n ],\n \"line-opacity\": 0.85,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 7,\n 0.7,\n 10,\n 2.0,\n 12,\n 2.8,\n 14,\n 3.6,\n 16,\n 4.2\n ]\n }\n },\n {\n \"id\": \"landuse-outline-glow\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(0,0,0,0.20)\",\n \"line-opacity\": 0.18,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 1.2,\n 12,\n 2.6,\n 16,\n 4.0\n ]\n }\n },\n {\n \"id\": \"landuse-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landuse\",\n \"paint\": {\n \"line-color\": \"rgba(255,255,255,0.92)\",\n \"line-opacity\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.16,\n 12,\n 0.30,\n 16,\n 0.42\n ],\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 8,\n 0.35,\n 12,\n 0.95,\n 16,\n 1.4\n ]\n }\n },\n {\n \"id\": \"farm-outline\",\n \"type\": \"line\",\n \"source\": \"korea\",\n \"source-layer\": \"landcover\",\n \"filter\": [\n \"any\",\n [\"==\", [\"get\", \"class\"], \"farmland\"],\n [\"==\", [\"get\", \"class\"], \"farm\"],\n [\"==\", [\"get\", \"class\"], \"orchard\"],\n [\"==\", [\"get\", \"class\"], \"vineyard\"],\n [\"==\", [\"get\", \"subclass\"], \"farmland\"],\n [\"==\", [\"get\", \"subclass\"], \"orchard\"]\n ],\n \"paint\": {\n \"line-color\": \"#bf1d35\",\n \"line-opacity\": 0.9,\n \"line-width\": [\n \"interpolate\",\n [\"linear\"],\n [\"zoom\"],\n 9,\n 0.7,\n 12,\n 1.5,\n 16,\n 2.4\n ]\n }\n },\n {\n \"id\": \"building-fill\",\n \"type\": \"fill\",\n \"source\": \"korea\",\n \"source-layer\": \"building\",\n \"paint\": {\n \"fill-color\": \"#d7d2c9\",\n \"fill-opacity\": 0.6\n }\n },\n\n {\n \"id\": \"place-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"place\",\n \"layout\": {\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": [\"interpolate\", [\"linear\"], [\"zoom\"], 5, 10, 12, 14],\n \"text-allow-overlap\": false\n },\n \"paint\": { \"text-color\": \"#2b2b2b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.2 }\n },\n\n {\n \"id\": \"road-label\",\n \"type\": \"symbol\",\n \"source\": \"korea\",\n \"source-layer\": \"transportation_name\",\n \"minzoom\": 12,\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-field\": [\"coalesce\", [\"get\", \"name:latin\"], [\"get\", \"name\"], [\"get\", \"ref\"]],\n \"text-font\": [\"Noto Sans Regular\"],\n \"text-size\": 11\n },\n \"paint\": { \"text-color\": \"#4b4b4b\", \"text-halo-color\": \"#ffffff\", \"text-halo-width\": 1.0 }\n }\n ]\n}","import type { StyleSpecification } from \"maplibre-gl\";\nimport basic from \"./basic.json\";\nimport terrain from \"./terrain.json\";\n\nexport const STYLE_PRESETS = {\n basic: basic as StyleSpecification,\n terrain: terrain as StyleSpecification\n} as const;\n\nexport type StylePresetName = keyof typeof STYLE_PRESETS;","import type { StyleSpecification } from \"maplibre-gl\";\n\nfunction deepClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction replaceTokensInString(s: string, tokens: Record<string, string>) {\n let out = s;\n for (const [k, v] of Object.entries(tokens)) {\n out = out.replaceAll(`{{${k}}}`, v);\n }\n\n return out;\n}\n\nfunction deepReplace(obj: any, tokens: Record<string, string>): any {\n if (typeof obj === \"string\") return replaceTokensInString(obj, tokens);\n if (Array.isArray(obj)) return obj.map((v) => deepReplace(v, tokens));\n if (obj && typeof obj === \"object\") {\n const out: any = {};\n for (const [k, v] of Object.entries(obj)) out[k] = deepReplace(v, tokens);\n \n return out;\n }\n\n return obj;\n}\n\nexport function resolveStyleTemplate(\n template: StyleSpecification,\n tokens: Record<string, string>\n): StyleSpecification {\n return deepReplace(deepClone(template), tokens) as StyleSpecification;\n}"],"mappings":"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","names":["maplibregl","maplibregl"]}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@seamos/map-preset",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Simple Preset for map(Maplibre) when you development SeamOS application.",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.cjs",
8
8
  "module": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
10
- "files": ["dist"],
10
+ "files": [
11
+ "dist"
12
+ ],
11
13
  "sideEffects": false,
12
14
  "author": "Sungmin Cho",
13
15
  "license": "MIT",
@@ -27,4 +29,4 @@
27
29
  "tsup": "^8.0.0",
28
30
  "typescript": "^5.0.0"
29
31
  }
30
- }
32
+ }