@basemaps/landing 7.9.0 → 7.11.0

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.
Files changed (49) hide show
  1. package/build/attribution.d.ts +9 -10
  2. package/build/attribution.js +38 -50
  3. package/build/attribution.js.map +1 -1
  4. package/build/components/layer.switcher.dropdown.d.ts +8 -1
  5. package/build/components/layer.switcher.dropdown.js +75 -9
  6. package/build/components/layer.switcher.dropdown.js.map +1 -1
  7. package/build/components/map.label.d.ts +2 -0
  8. package/build/components/map.label.js +11 -1
  9. package/build/components/map.label.js.map +1 -1
  10. package/build/config.map.d.ts +6 -2
  11. package/build/config.map.js +37 -9
  12. package/build/config.map.js.map +1 -1
  13. package/build/tile.matrix.d.ts +5 -0
  14. package/build/tile.matrix.js +18 -0
  15. package/build/tile.matrix.js.map +1 -1
  16. package/build/url.d.ts +26 -0
  17. package/build/url.js.map +1 -1
  18. package/dist/docs/404.html +211 -0
  19. package/dist/docs/configuration/index.html +72 -0
  20. package/dist/docs/deployment/index.html +72 -0
  21. package/dist/docs/developer-guide/cli-methods/bundle-the-basemaps-config-file/index.html +669 -0
  22. package/dist/docs/developer-guide/index.html +74 -2
  23. package/dist/docs/developer-guide/run-basemaps-locally/index.html +678 -0
  24. package/dist/docs/developer-guide/server-methods/serve-basemaps-with-bundled-config-file/index.html +630 -0
  25. package/dist/docs/developer-guide/server-methods/serve-basemaps-with-collection-of-geotiff-files/index.html +584 -0
  26. package/dist/docs/examples/_overview/index.html +73 -1
  27. package/dist/docs/examples/leaflet.xyz.3857/index.html +72 -0
  28. package/dist/docs/examples/maplibre.opacity.3857/index.html +72 -0
  29. package/dist/docs/examples/maplibre.vector.3857/index.html +72 -0
  30. package/dist/docs/index.html +73 -1
  31. package/dist/docs/operator-guide/cog-quality/index.html +72 -0
  32. package/dist/docs/operator-guide/empty-tiles/index.html +72 -0
  33. package/dist/docs/operator-guide/gebco/index.html +72 -0
  34. package/dist/docs/operator-guide/index.html +72 -0
  35. package/dist/docs/operator-guide/quick-start/index.html +72 -0
  36. package/dist/docs/operator-guide/relief-shade/index.html +72 -0
  37. package/dist/docs/operator-guide/static/projection_beehive_fakenztm2000.webp +0 -0
  38. package/dist/docs/operator-guide/static/projection_beehive_nztm2000quad.webp +0 -0
  39. package/dist/docs/operator-guide/static/projection_nztm2000quad_0_0_0.webp +0 -0
  40. package/dist/docs/operator-guide/texture-shade/index.html +73 -1
  41. package/dist/docs/operator-guide/xyz-projection/index.html +598 -0
  42. package/dist/docs/quick-start/index.html +73 -1
  43. package/dist/docs/sitemap.xml +44 -19
  44. package/dist/docs/sitemap.xml.gz +0 -0
  45. package/dist/docs/user-guide/_get-started/index.html +73 -1
  46. package/dist/docs/user-guide/api-documentation/index.html +73 -1
  47. package/dist/docs/user-guide/api-documentation/{swagger-654fffa1.html → swagger-1c4e7946.html} +1 -1
  48. package/dist/docs/user-guide/technical-documentation/index.html +72 -0
  49. package/package.json +7 -7
@@ -0,0 +1,678 @@
1
+
2
+ <!DOCTYPE html>
3
+
4
+ <html class="no-js" lang="en">
5
+ <head>
6
+ <meta charset="utf-8"/>
7
+ <meta content="width=device-width,initial-scale=1" name="viewport"/>
8
+ <link href="http://localhost:8000/docs/developer-guide/run-basemaps-locally/" rel="canonical"/>
9
+ <link href="../" rel="prev"/>
10
+ <link href="../cli-methods/bundle-the-basemaps-config-file/" rel="next"/>
11
+ <link href="../../assets/images/favicon.png" rel="icon"/>
12
+ <meta content="mkdocs-1.5.3, mkdocs-material-9.4.10" name="generator"/>
13
+ <title>How to run basemaps locally - LINZ Basemaps</title>
14
+ <link href="../../assets/stylesheets/main.fad675c6.min.css" rel="stylesheet"/>
15
+ <link href="../../assets/stylesheets/palette.356b1318.min.css" rel="stylesheet"/>
16
+ <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
17
+ <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i%7COpen+Sans+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
18
+ <style>:root{--md-text-font:"Open Sans";--md-code-font:"Open Sans Mono"}</style>
19
+ <link href="../../index.css" rel="stylesheet"/>
20
+ <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
21
+ <script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config",""),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
22
+ <script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
23
+ </head>
24
+ <body data-md-color-accent="indigo" data-md-color-primary="indigo" data-md-color-scheme="default" dir="ltr">
25
+ <script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
26
+ <input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
27
+ <input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
28
+ <label class="md-overlay" for="__drawer"></label>
29
+ <div data-md-component="skip">
30
+ <a class="md-skip" href="#how-to-run-basemaps-locally">
31
+ Skip to content
32
+ </a>
33
+ </div>
34
+ <div data-md-component="announce">
35
+ </div>
36
+ <header class="md-header md-header--shadow" data-md-component="header">
37
+ <nav aria-label="Header" class="md-header__inner md-grid">
38
+ <a aria-label="LINZ Basemaps" class="md-header__button md-logo" data-md-component="logo" href="../.." title="LINZ Basemaps">
39
+ <img alt="logo" src="../../linz-motif.svg"/>
40
+ </a>
41
+ <label class="md-header__button md-icon" for="__drawer">
42
+ <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
43
+ </label>
44
+ <div class="md-header__title" data-md-component="header-title">
45
+ <div class="md-header__ellipsis">
46
+ <div class="md-header__topic">
47
+ <span class="md-ellipsis">
48
+ LINZ Basemaps
49
+ </span>
50
+ </div>
51
+ <div class="md-header__topic" data-md-component="header-topic">
52
+ <span class="md-ellipsis">
53
+
54
+ How to run basemaps locally
55
+
56
+ </span>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <form class="md-header__option" data-md-component="palette">
61
+ <input aria-label="Switch to dark mode" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="indigo" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/>
62
+ <label class="md-header__button md-icon" for="__palette_2" hidden="" title="Switch to dark mode">
63
+ <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
64
+ </label>
65
+ <input aria-label="Switch to light mode" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="indigo" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/>
66
+ <label class="md-header__button md-icon" for="__palette_1" hidden="" title="Switch to light mode">
67
+ <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path></svg>
68
+ </label>
69
+ </form>
70
+ <div class="md-header__source">
71
+ <a class="md-source" data-md-component="source" href="https://github.com/linz/basemaps" title="Go to repository">
72
+ <div class="md-source__icon md-icon">
73
+ <svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
74
+ </div>
75
+ <div class="md-source__repository">
76
+ GitHub
77
+ </div>
78
+ </a>
79
+ </div>
80
+ </nav>
81
+ </header>
82
+ <div class="md-container" data-md-component="container">
83
+ <main class="md-main" data-md-component="main">
84
+ <div class="md-main__inner md-grid">
85
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation">
86
+ <div class="md-sidebar__scrollwrap">
87
+ <div class="md-sidebar__inner">
88
+ <nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
89
+ <label class="md-nav__title" for="__drawer">
90
+ <a aria-label="LINZ Basemaps" class="md-nav__button md-logo" data-md-component="logo" href="../.." title="LINZ Basemaps">
91
+ <img alt="logo" src="../../linz-motif.svg"/>
92
+ </a>
93
+ LINZ Basemaps
94
+ </label>
95
+ <div class="md-nav__source">
96
+ <a class="md-source" data-md-component="source" href="https://github.com/linz/basemaps" title="Go to repository">
97
+ <div class="md-source__icon md-icon">
98
+ <svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"></path></svg>
99
+ </div>
100
+ <div class="md-source__repository">
101
+ GitHub
102
+ </div>
103
+ </a>
104
+ </div>
105
+ <ul class="md-nav__list" data-md-scrollfix="">
106
+ <li class="md-nav__item">
107
+ <a class="md-nav__link" href="../..">
108
+ <span class="md-ellipsis">
109
+ LINZ Basemaps
110
+ </span>
111
+ </a>
112
+ </li>
113
+ <li class="md-nav__item">
114
+ <a class="md-nav__link" href="../../configuration/">
115
+ <span class="md-ellipsis">
116
+ Configuration
117
+ </span>
118
+ </a>
119
+ </li>
120
+ <li class="md-nav__item">
121
+ <a class="md-nav__link" href="../../deployment/">
122
+ <span class="md-ellipsis">
123
+ Deployment
124
+ </span>
125
+ </a>
126
+ </li>
127
+ <li class="md-nav__item">
128
+ <a class="md-nav__link" href="../../quick-start/">
129
+ <span class="md-ellipsis">
130
+ Quick start guide
131
+ </span>
132
+ </a>
133
+ </li>
134
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
135
+ <input checked="" class="md-nav__toggle md-toggle" id="__nav_5" type="checkbox"/>
136
+ <div class="md-nav__link md-nav__container">
137
+ <a class="md-nav__link" href="../">
138
+ <span class="md-ellipsis">
139
+ Developer guide
140
+ </span>
141
+ </a>
142
+ <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
143
+ <span class="md-nav__icon md-icon"></span>
144
+ </label>
145
+ </div>
146
+ <nav aria-expanded="true" aria-labelledby="__nav_5_label" class="md-nav" data-md-level="1">
147
+ <label class="md-nav__title" for="__nav_5">
148
+ <span class="md-nav__icon md-icon"></span>
149
+ Developer guide
150
+ </label>
151
+ <ul class="md-nav__list" data-md-scrollfix="">
152
+ <li class="md-nav__item md-nav__item--active">
153
+ <input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
154
+ <label class="md-nav__link md-nav__link--active" for="__toc">
155
+ <span class="md-ellipsis">
156
+ How to run basemaps locally
157
+ </span>
158
+ <span class="md-nav__icon md-icon"></span>
159
+ </label>
160
+ <a class="md-nav__link md-nav__link--active" href="./">
161
+ <span class="md-ellipsis">
162
+ How to run basemaps locally
163
+ </span>
164
+ </a>
165
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
166
+ <label class="md-nav__title" for="__toc">
167
+ <span class="md-nav__icon md-icon"></span>
168
+ Table of contents
169
+ </label>
170
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
171
+ <li class="md-nav__item">
172
+ <a class="md-nav__link" href="#prerequisites">
173
+ <span class="md-ellipsis">
174
+ Prerequisites
175
+ </span>
176
+ </a>
177
+ <nav aria-label="Prerequisites" class="md-nav">
178
+ <ul class="md-nav__list">
179
+ <li class="md-nav__item">
180
+ <a class="md-nav__link" href="#nodejs">
181
+ <span class="md-ellipsis">
182
+ NodeJS
183
+ </span>
184
+ </a>
185
+ </li>
186
+ <li class="md-nav__item">
187
+ <a class="md-nav__link" href="#imagery">
188
+ <span class="md-ellipsis">
189
+ Imagery
190
+ </span>
191
+ </a>
192
+ </li>
193
+ </ul>
194
+ </nav>
195
+ </li>
196
+ <li class="md-nav__item">
197
+ <a class="md-nav__link" href="#get-started">
198
+ <span class="md-ellipsis">
199
+ Get started
200
+ </span>
201
+ </a>
202
+ </li>
203
+ <li class="md-nav__item">
204
+ <a class="md-nav__link" href="#build-the-basemaps-packages">
205
+ <span class="md-ellipsis">
206
+ Build the basemaps packages
207
+ </span>
208
+ </a>
209
+ </li>
210
+ <li class="md-nav__item">
211
+ <a class="md-nav__link" href="#configure-the-basemapsserver-package">
212
+ <span class="md-ellipsis">
213
+ Configure the basemaps/server package
214
+ </span>
215
+ </a>
216
+ </li>
217
+ </ul>
218
+ </nav>
219
+ </li>
220
+ <li class="md-nav__item md-nav__item--nested">
221
+ <input class="md-nav__toggle md-toggle" id="__nav_5_3" type="checkbox"/>
222
+ <label class="md-nav__link" for="__nav_5_3" id="__nav_5_3_label" tabindex="0">
223
+ <span class="md-ellipsis">
224
+ Cli methods
225
+ </span>
226
+ <span class="md-nav__icon md-icon"></span>
227
+ </label>
228
+ <nav aria-expanded="false" aria-labelledby="__nav_5_3_label" class="md-nav" data-md-level="2">
229
+ <label class="md-nav__title" for="__nav_5_3">
230
+ <span class="md-nav__icon md-icon"></span>
231
+ Cli methods
232
+ </label>
233
+ <ul class="md-nav__list" data-md-scrollfix="">
234
+ <li class="md-nav__item">
235
+ <a class="md-nav__link" href="../cli-methods/bundle-the-basemaps-config-file/">
236
+ <span class="md-ellipsis">
237
+ Bundle the basemaps config file
238
+ </span>
239
+ </a>
240
+ </li>
241
+ </ul>
242
+ </nav>
243
+ </li>
244
+ <li class="md-nav__item md-nav__item--nested">
245
+ <input class="md-nav__toggle md-toggle" id="__nav_5_4" type="checkbox"/>
246
+ <label class="md-nav__link" for="__nav_5_4" id="__nav_5_4_label" tabindex="0">
247
+ <span class="md-ellipsis">
248
+ Server methods
249
+ </span>
250
+ <span class="md-nav__icon md-icon"></span>
251
+ </label>
252
+ <nav aria-expanded="false" aria-labelledby="__nav_5_4_label" class="md-nav" data-md-level="2">
253
+ <label class="md-nav__title" for="__nav_5_4">
254
+ <span class="md-nav__icon md-icon"></span>
255
+ Server methods
256
+ </label>
257
+ <ul class="md-nav__list" data-md-scrollfix="">
258
+ <li class="md-nav__item">
259
+ <a class="md-nav__link" href="../server-methods/serve-basemaps-with-bundled-config-file/">
260
+ <span class="md-ellipsis">
261
+ Serve basemaps using a bundled config file
262
+ </span>
263
+ </a>
264
+ </li>
265
+ <li class="md-nav__item">
266
+ <a class="md-nav__link" href="../server-methods/serve-basemaps-with-collection-of-geotiff-files/">
267
+ <span class="md-ellipsis">
268
+ Serve basemaps using a collection of GeoTIFF files
269
+ </span>
270
+ </a>
271
+ </li>
272
+ </ul>
273
+ </nav>
274
+ </li>
275
+ </ul>
276
+ </nav>
277
+ </li>
278
+ <li class="md-nav__item md-nav__item--nested">
279
+ <input class="md-nav__toggle md-toggle" id="__nav_6" type="checkbox"/>
280
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
281
+ <span class="md-ellipsis">
282
+ Examples
283
+ </span>
284
+ <span class="md-nav__icon md-icon"></span>
285
+ </label>
286
+ <nav aria-expanded="false" aria-labelledby="__nav_6_label" class="md-nav" data-md-level="1">
287
+ <label class="md-nav__title" for="__nav_6">
288
+ <span class="md-nav__icon md-icon"></span>
289
+ Examples
290
+ </label>
291
+ <ul class="md-nav__list" data-md-scrollfix="">
292
+ <li class="md-nav__item">
293
+ <a class="md-nav__link" href="../../examples/_overview/">
294
+ <span class="md-ellipsis">
295
+ Overview
296
+ </span>
297
+ </a>
298
+ </li>
299
+ <li class="md-nav__item">
300
+ <a class="md-nav__link" href="../../examples/leaflet.xyz.3857/">
301
+ <span class="md-ellipsis">
302
+ Leaflet Raster Map
303
+ </span>
304
+ </a>
305
+ </li>
306
+ <li class="md-nav__item">
307
+ <a class="md-nav__link" href="../../examples/maplibre.opacity.3857/">
308
+ <span class="md-ellipsis">
309
+ Maplibre Opacity Slider
310
+ </span>
311
+ </a>
312
+ </li>
313
+ <li class="md-nav__item">
314
+ <a class="md-nav__link" href="../../examples/maplibre.vector.3857/">
315
+ <span class="md-ellipsis">
316
+ Maplibre Vector Map
317
+ </span>
318
+ </a>
319
+ </li>
320
+ </ul>
321
+ </nav>
322
+ </li>
323
+ <li class="md-nav__item md-nav__item--nested">
324
+ <input class="md-nav__toggle md-toggle" id="__nav_7" type="checkbox"/>
325
+ <div class="md-nav__link md-nav__container">
326
+ <a class="md-nav__link" href="../../operator-guide/">
327
+ <span class="md-ellipsis">
328
+ Operator guide
329
+ </span>
330
+ </a>
331
+ <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
332
+ <span class="md-nav__icon md-icon"></span>
333
+ </label>
334
+ </div>
335
+ <nav aria-expanded="false" aria-labelledby="__nav_7_label" class="md-nav" data-md-level="1">
336
+ <label class="md-nav__title" for="__nav_7">
337
+ <span class="md-nav__icon md-icon"></span>
338
+ Operator guide
339
+ </label>
340
+ <ul class="md-nav__list" data-md-scrollfix="">
341
+ <li class="md-nav__item">
342
+ <a class="md-nav__link" href="../../operator-guide/cog-quality/">
343
+ <span class="md-ellipsis">
344
+ COG Quality
345
+ </span>
346
+ </a>
347
+ </li>
348
+ <li class="md-nav__item">
349
+ <a class="md-nav__link" href="../../operator-guide/empty-tiles/">
350
+ <span class="md-ellipsis">
351
+ Sparse Datasets and empty tiles
352
+ </span>
353
+ </a>
354
+ </li>
355
+ <li class="md-nav__item">
356
+ <a class="md-nav__link" href="../../operator-guide/gebco/">
357
+ <span class="md-ellipsis">
358
+ Gebco re-project to NZTM2000Quad cog file
359
+ </span>
360
+ </a>
361
+ </li>
362
+ <li class="md-nav__item">
363
+ <a class="md-nav__link" href="../../operator-guide/quick-start/">
364
+ <span class="md-ellipsis">
365
+ Running LINZ Basemaps - Quick Start
366
+ </span>
367
+ </a>
368
+ </li>
369
+ <li class="md-nav__item">
370
+ <a class="md-nav__link" href="../../operator-guide/relief-shade/">
371
+ <span class="md-ellipsis">
372
+ Relief shade
373
+ </span>
374
+ </a>
375
+ </li>
376
+ <li class="md-nav__item">
377
+ <a class="md-nav__link" href="../../operator-guide/texture-shade/">
378
+ <span class="md-ellipsis">
379
+ Texture shading
380
+ </span>
381
+ </a>
382
+ </li>
383
+ <li class="md-nav__item">
384
+ <a class="md-nav__link" href="../../operator-guide/xyz-projection/">
385
+ <span class="md-ellipsis">
386
+ XYZ and projection math
387
+ </span>
388
+ </a>
389
+ </li>
390
+ </ul>
391
+ </nav>
392
+ </li>
393
+ <li class="md-nav__item md-nav__item--nested">
394
+ <input class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
395
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
396
+ <span class="md-ellipsis">
397
+ User guide
398
+ </span>
399
+ <span class="md-nav__icon md-icon"></span>
400
+ </label>
401
+ <nav aria-expanded="false" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
402
+ <label class="md-nav__title" for="__nav_8">
403
+ <span class="md-nav__icon md-icon"></span>
404
+ User guide
405
+ </label>
406
+ <ul class="md-nav__list" data-md-scrollfix="">
407
+ <li class="md-nav__item">
408
+ <a class="md-nav__link" href="../../user-guide/_get-started/">
409
+ <span class="md-ellipsis">
410
+ Get started with LINZ Basemaps
411
+ </span>
412
+ </a>
413
+ </li>
414
+ <li class="md-nav__item">
415
+ <a class="md-nav__link" href="../../user-guide/api-documentation/">
416
+ <span class="md-ellipsis">
417
+ API documentation
418
+ </span>
419
+ </a>
420
+ </li>
421
+ <li class="md-nav__item">
422
+ <a class="md-nav__link" href="../../user-guide/technical-documentation/">
423
+ <span class="md-ellipsis">
424
+ Technical documentation and specifications
425
+ </span>
426
+ </a>
427
+ </li>
428
+ </ul>
429
+ </nav>
430
+ </li>
431
+ </ul>
432
+ </nav>
433
+ </div>
434
+ </div>
435
+ </div>
436
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
437
+ <div class="md-sidebar__scrollwrap">
438
+ <div class="md-sidebar__inner">
439
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
440
+ <label class="md-nav__title" for="__toc">
441
+ <span class="md-nav__icon md-icon"></span>
442
+ Table of contents
443
+ </label>
444
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
445
+ <li class="md-nav__item">
446
+ <a class="md-nav__link" href="#prerequisites">
447
+ <span class="md-ellipsis">
448
+ Prerequisites
449
+ </span>
450
+ </a>
451
+ <nav aria-label="Prerequisites" class="md-nav">
452
+ <ul class="md-nav__list">
453
+ <li class="md-nav__item">
454
+ <a class="md-nav__link" href="#nodejs">
455
+ <span class="md-ellipsis">
456
+ NodeJS
457
+ </span>
458
+ </a>
459
+ </li>
460
+ <li class="md-nav__item">
461
+ <a class="md-nav__link" href="#imagery">
462
+ <span class="md-ellipsis">
463
+ Imagery
464
+ </span>
465
+ </a>
466
+ </li>
467
+ </ul>
468
+ </nav>
469
+ </li>
470
+ <li class="md-nav__item">
471
+ <a class="md-nav__link" href="#get-started">
472
+ <span class="md-ellipsis">
473
+ Get started
474
+ </span>
475
+ </a>
476
+ </li>
477
+ <li class="md-nav__item">
478
+ <a class="md-nav__link" href="#build-the-basemaps-packages">
479
+ <span class="md-ellipsis">
480
+ Build the basemaps packages
481
+ </span>
482
+ </a>
483
+ </li>
484
+ <li class="md-nav__item">
485
+ <a class="md-nav__link" href="#configure-the-basemapsserver-package">
486
+ <span class="md-ellipsis">
487
+ Configure the basemaps/server package
488
+ </span>
489
+ </a>
490
+ </li>
491
+ </ul>
492
+ </nav>
493
+ </div>
494
+ </div>
495
+ </div>
496
+ <div class="md-content" data-md-component="content">
497
+ <article class="md-content__inner md-typeset">
498
+ <h1 id="how-to-run-basemaps-locally">How to run <code>basemaps</code> locally</h1>
499
+ <p>This guide shows you how to set up and run a local instance of the <strong>basemaps</strong> system on your machine. This guide explains how to:</p>
500
+ <ul>
501
+ <li>build the <strong>basemaps</strong> packages</li>
502
+ <li>configure and run the <strong>basemaps/server</strong> package:<ul>
503
+ <li>using LINZ's imagery</li>
504
+ <li>using your own imagery</li>
505
+ </ul>
506
+ </li>
507
+ </ul>
508
+ <div class="admonition note">
509
+ <p class="admonition-title">Note</p>
510
+ <p>If you're planning to contribute to the <strong>basemaps</strong> repository, make sure you review the <a href="https://github.com/linz/basemaps/blob/master/CONTRIBUTING.md"><strong>CONTRIBUTING</strong></a> document beforehand.</p>
511
+ </div>
512
+ <h2 id="prerequisites">Prerequisites</h2>
513
+ <h3 id="nodejs">NodeJS</h3>
514
+ <p>You'll need <strong><a href="https://nodejs.org">Node.js</a></strong> version <code>18</code> or higher to build the <strong>basemaps</strong> packages.</p>
515
+ <div class="admonition tip">
516
+ <p class="admonition-title">Tip</p>
517
+ <p>You can use tools like <a href="https://github.com/Schniz/fnm"><strong>fnm</strong></a> or <a href="https://github.com/tj/n"><strong>n</strong></a> to manage <strong>Node.js</strong> versions on your machine.</p>
518
+ </div>
519
+ <h3 id="imagery">Imagery</h3>
520
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio"><input id="__tabbed_1_2" name="__tabbed_1" type="radio"><div class="tabbed-labels"><label for="__tabbed_1_1">Using LINZ's imagery</label><label for="__tabbed_1_2">Using your own imagery</label></div>
521
+ <div class="tabbed-content">
522
+ <div class="tabbed-block">
523
+ <p>You'll need <strong>AWS credentials</strong> with permission to read files from the <strong>LINZ AWS S3</strong> bucket at <code>s3://linz-basemaps</code>. Such credentials are needed to access or generate the config file required to run the <strong>basemaps</strong> system using LINZ's imagery.</p>
524
+ </div>
525
+ <div class="tabbed-block">
526
+ <p>You'll need a <strong>collection of GeoTIFF files</strong> organised in any way you prefer. The collection must maintain a consistent resolution and spatial reference throughout. The <strong>basemaps</strong> system is only compatible with datasets with a uniform ground sampling distance and map projection.</p>
527
+ </div>
528
+ </div>
529
+ </input></input></div>
530
+ <h2 id="get-started">Get started</h2>
531
+ <p>Clone the <a href="https://github.com/linz/basemaps"><strong>linz/basemaps</strong></a> repository to your machine.</p>
532
+ <div class="tabbed-set tabbed-alternate" data-tabs="2:3"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio"><input id="__tabbed_2_2" name="__tabbed_2" type="radio"><input id="__tabbed_2_3" name="__tabbed_2" type="radio"><div class="tabbed-labels"><label for="__tabbed_2_1">HTTPS</label><label for="__tabbed_2_2">SSH</label><label for="__tabbed_2_3">GitHub CLI</label></div>
533
+ <div class="tabbed-content">
534
+ <div class="tabbed-block">
535
+ <div class="language-bash highlight"><pre><span></span><code><span id="__span-0-1"><a href="#__codelineno-0-1" id="__codelineno-0-1" name="__codelineno-0-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/linz/basemaps.git
536
+ </span></code></pre></div>
537
+ </div>
538
+ <div class="tabbed-block">
539
+ <div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a href="#__codelineno-1-1" id="__codelineno-1-1" name="__codelineno-1-1"></a>git<span class="w"> </span>clone<span class="w"> </span>git@github.com:linz/basemaps.git
540
+ </span></code></pre></div>
541
+ </div>
542
+ <div class="tabbed-block">
543
+ <div class="language-bash highlight"><pre><span></span><code><span id="__span-2-1"><a href="#__codelineno-2-1" id="__codelineno-2-1" name="__codelineno-2-1"></a>gh<span class="w"> </span>repo<span class="w"> </span>clone<span class="w"> </span>linz/basemaps
544
+ </span></code></pre></div>
545
+ </div>
546
+ </div>
547
+ </input></input></input></div>
548
+ <div class="admonition abstract">
549
+ <p class="admonition-title">Path</p>
550
+ <p>This guide uses variables as shorthand to reference key directories and files. On your machine, consider the following path:</p>
551
+ <div class="tabbed-set tabbed-alternate" data-tabs="3:1"><input checked="checked" id="__tabbed_3_1" name="__tabbed_3" type="radio"><div class="tabbed-labels"><label for="__tabbed_3_1"><code>BM_REPO</code></label></div>
552
+ <div class="tabbed-content">
553
+ <div class="tabbed-block">
554
+ <p>The path to the <strong>basemaps</strong> repository folder on your machine.</p>
555
+ <div class="language-bash highlight"><pre><span></span><code><span id="__span-3-1"><a href="#__codelineno-3-1" id="__codelineno-3-1" name="__codelineno-3-1"></a><span class="nv">$BM_REPO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">{</span>path_to<span class="o">}</span>/basemaps
556
+ </span></code></pre></div>
557
+ </div>
558
+ </div>
559
+ </input></div>
560
+ </div>
561
+ <h2 id="build-the-basemaps-packages">Build the <code>basemaps</code> packages</h2>
562
+ <p>In a terminal, navigate to <code>BM_REPO</code> and run the following commands:</p>
563
+ <div class="language-bash highlight"><pre><span></span><code><span id="__span-4-1"><a href="#__codelineno-4-1" id="__codelineno-4-1" name="__codelineno-4-1"></a><span class="c1"># Install the Node.js dependencies for the system</span>
564
+ </span><span id="__span-4-2"><a href="#__codelineno-4-2" id="__codelineno-4-2" name="__codelineno-4-2"></a>npm<span class="w"> </span>install
565
+ </span><span id="__span-4-3"><a href="#__codelineno-4-3" id="__codelineno-4-3" name="__codelineno-4-3"></a>
566
+ </span><span id="__span-4-4"><a href="#__codelineno-4-4" id="__codelineno-4-4" name="__codelineno-4-4"></a><span class="c1"># Generate the &lt;package_name&gt;/build for each package</span>
567
+ </span><span id="__span-4-5"><a href="#__codelineno-4-5" id="__codelineno-4-5" name="__codelineno-4-5"></a>npm<span class="w"> </span>run<span class="w"> </span>build
568
+ </span><span id="__span-4-6"><a href="#__codelineno-4-6" id="__codelineno-4-6" name="__codelineno-4-6"></a>
569
+ </span><span id="__span-4-7"><a href="#__codelineno-4-7" id="__codelineno-4-7" name="__codelineno-4-7"></a><span class="c1"># Run the unit tests for each package</span>
570
+ </span><span id="__span-4-8"><a href="#__codelineno-4-8" id="__codelineno-4-8" name="__codelineno-4-8"></a>npm<span class="w"> </span>run<span class="w"> </span><span class="nb">test</span>
571
+ </span></code></pre></div>
572
+ <h2 id="configure-the-basemapsserver-package">Configure the <code>basemaps/server</code> package</h2>
573
+ <p>There are two main ways you can configure and run the <strong>basemaps/server</strong> package:</p>
574
+ <div class="tabbed-set tabbed-alternate" data-tabs="4:2"><input checked="checked" id="__tabbed_4_1" name="__tabbed_4" type="radio"><input id="__tabbed_4_2" name="__tabbed_4" type="radio"><div class="tabbed-labels"><label for="__tabbed_4_1">Using a bundled config file</label><label for="__tabbed_4_2">Using a collection of GeoTIFF files</label></div>
575
+ <div class="tabbed-content">
576
+ <div class="tabbed-block">
577
+ <p><a href="../server-methods/serve-basemaps-with-bundled-config-file/">Serve <code>basemaps</code> using a bundled config file</a></p>
578
+ </div>
579
+ <div class="tabbed-block">
580
+ <p><a href="../server-methods/serve-basemaps-with-collection-of-geotiff-files/">Serve <code>basemaps</code> using a collection of GeoTIFF files</a></p>
581
+ </div>
582
+ </div>
583
+ </input></input></div>
584
+ <!-- internal links -->
585
+ <!-- external links -->
586
+ </article>
587
+ </div>
588
+ </div>
589
+ </main>
590
+ <footer class="md-footer">
591
+ <div class="md-footer-meta md-typeset">
592
+ <div class="md-footer-meta__inner md-grid">
593
+ <div class="md-copyright">
594
+ <div class="md-copyright__highlight">
595
+ <a href="https://www.linz.govt.nz/copyright">© CC BY 4.0 LINZ</a>
596
+ </div>
597
+
598
+
599
+ Made with
600
+ <a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank">
601
+ Material for MkDocs
602
+ </a>
603
+ </div>
604
+ </div>
605
+ </div>
606
+ </footer>
607
+ </div>
608
+ <div class="md-dialog" data-md-component="dialog">
609
+ <div class="md-dialog__inner md-typeset"></div>
610
+ </div>
611
+ <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.indexes", "content.code.copy"], "search": "../../assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
612
+ <script src="../../assets/javascripts/bundle.6c14ae12.min.js"></script>
613
+ <script>document$.subscribe(() => {
614
+ window.update_swagger_ui_iframe_height = function (id) {
615
+ var iFrameID = document.getElementById(id);
616
+ if (iFrameID) {
617
+ full_height = (iFrameID.contentWindow.document.body.scrollHeight + 80) + "px";
618
+ iFrameID.height = full_height;
619
+ iFrameID.style.height = full_height;
620
+ }
621
+ }
622
+
623
+ let iframe_id_list = []
624
+ var iframes = document.getElementsByClassName("swagger-ui-iframe");
625
+ for (var i = 0; i < iframes.length; i++) {
626
+ iframe_id_list.push(iframes[i].getAttribute("id"))
627
+ }
628
+
629
+ let ticking = true;
630
+
631
+ document.addEventListener('scroll', function(e) {
632
+ if (!ticking) {
633
+ window.requestAnimationFrame(()=> {
634
+ let half_vh = window.innerHeight/2;
635
+ for(var i = 0; i < iframe_id_list.length; i++) {
636
+ let element = document.getElementById(iframe_id_list[i])
637
+ if(element==null){
638
+ return
639
+ }
640
+ let diff = element.getBoundingClientRect().top
641
+ if(element.contentWindow.update_top_val){
642
+ element.contentWindow.update_top_val(half_vh - diff)
643
+ }
644
+ }
645
+ ticking = false;
646
+ });
647
+ ticking = true;
648
+ }
649
+ });
650
+
651
+ const dark_scheme_name = "slate"
652
+
653
+ window.scheme = document.body.getAttribute("data-md-color-scheme")
654
+ const options = {
655
+ attributeFilter: ['data-md-color-scheme'],
656
+ };
657
+ function color_scheme_callback(mutations) {
658
+ for (let mutation of mutations) {
659
+ if (mutation.attributeName === "data-md-color-scheme") {
660
+ scheme = document.body.getAttribute("data-md-color-scheme")
661
+ var iframe_list = document.getElementsByClassName("swagger-ui-iframe")
662
+ for(var i = 0; i < iframe_list.length; i++) {
663
+ var ele = iframe_list.item(i);
664
+ if (ele) {
665
+ if (scheme === dark_scheme_name) {
666
+ ele.contentWindow.enable_dark_mode();
667
+ } else {
668
+ ele.contentWindow.disable_dark_mode();
669
+ }
670
+ }
671
+ }
672
+ }
673
+ }
674
+ }
675
+ observer = new MutationObserver(color_scheme_callback);
676
+ observer.observe(document.body, options);
677
+ })</script></body>
678
+ </html>