@basemaps/landing 6.46.0 → 7.1.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 (201) hide show
  1. package/README.md +2 -4
  2. package/build/__tests__/config.debug.test.d.ts +0 -1
  3. package/build/__tests__/config.debug.test.js +11 -10
  4. package/build/__tests__/config.debug.test.js.map +1 -1
  5. package/build/__tests__/config.test.d.ts +0 -1
  6. package/build/__tests__/config.test.js +5 -4
  7. package/build/__tests__/config.test.js.map +1 -1
  8. package/build/__tests__/geojson.test.d.ts +0 -1
  9. package/build/__tests__/geojson.test.js +6 -5
  10. package/build/__tests__/geojson.test.js.map +1 -1
  11. package/build/__tests__/map.config.test.d.ts +0 -1
  12. package/build/__tests__/map.config.test.js +66 -65
  13. package/build/__tests__/map.config.test.js.map +1 -1
  14. package/build/__tests__/tile.matrix.test.d.ts +0 -1
  15. package/build/__tests__/tile.matrix.test.js +11 -10
  16. package/build/__tests__/tile.matrix.test.js.map +1 -1
  17. package/build/attribution.d.ts +8 -11
  18. package/build/attribution.js +145 -66
  19. package/build/attribution.js.map +1 -1
  20. package/build/components/copyable.d.ts +1 -2
  21. package/build/components/copyable.js +27 -18
  22. package/build/components/copyable.js.map +1 -1
  23. package/build/components/daterange.d.ts +0 -1
  24. package/build/components/daterange.js +11 -7
  25. package/build/components/daterange.js.map +1 -1
  26. package/build/components/debug.d.ts +13 -2
  27. package/build/components/debug.js +273 -78
  28. package/build/components/debug.js.map +1 -1
  29. package/build/components/layer.switcher.dropdown.d.ts +1 -2
  30. package/build/components/layer.switcher.dropdown.js +43 -29
  31. package/build/components/layer.switcher.dropdown.js.map +1 -1
  32. package/build/components/layout.footer.d.ts +0 -1
  33. package/build/components/layout.footer.js +7 -2
  34. package/build/components/layout.footer.js.map +1 -1
  35. package/build/components/layout.header.d.ts +1 -2
  36. package/build/components/layout.header.js +44 -23
  37. package/build/components/layout.header.js.map +1 -1
  38. package/build/components/link.d.ts +0 -1
  39. package/build/components/link.js +1 -1
  40. package/build/components/link.js.map +1 -1
  41. package/build/components/map.d.ts +14 -4
  42. package/build/components/map.js +221 -84
  43. package/build/components/map.js.map +1 -1
  44. package/build/components/map.switcher.d.ts +1 -2
  45. package/build/components/map.switcher.js +80 -31
  46. package/build/components/map.switcher.js.map +1 -1
  47. package/build/config.d.ts +0 -1
  48. package/build/config.debug.d.ts +6 -1
  49. package/build/config.debug.js +6 -0
  50. package/build/config.debug.js.map +1 -1
  51. package/build/config.js +4 -8
  52. package/build/config.js.map +1 -1
  53. package/build/config.layer.d.ts +31 -2
  54. package/build/config.layer.js +14 -6
  55. package/build/config.layer.js.map +1 -1
  56. package/build/config.map.d.ts +6 -6
  57. package/build/config.map.js +95 -29
  58. package/build/config.map.js.map +1 -1
  59. package/build/debug.map.d.ts +2 -3
  60. package/build/debug.map.js +57 -23
  61. package/build/debug.map.js.map +1 -1
  62. package/build/global.d.ts +3 -3
  63. package/build/index.d.ts +0 -1
  64. package/build/index.js.map +1 -1
  65. package/build/tile.matrix.d.ts +0 -1
  66. package/build/tile.matrix.js +12 -0
  67. package/build/tile.matrix.js.map +1 -1
  68. package/build/url.d.ts +4 -1
  69. package/build/url.js +10 -8
  70. package/build/url.js.map +1 -1
  71. package/build/webp.d.ts +0 -1
  72. package/build/webp.js.map +1 -1
  73. package/dist/docs/404.html +849 -0
  74. package/dist/docs/assets/images/favicon.png +0 -0
  75. package/dist/docs/assets/javascripts/bundle.6c14ae12.min.js +29 -0
  76. package/dist/docs/assets/javascripts/bundle.6c14ae12.min.js.map +7 -0
  77. package/dist/docs/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  78. package/dist/docs/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  79. package/dist/docs/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  80. package/dist/docs/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  81. package/dist/docs/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  82. package/dist/docs/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  83. package/dist/docs/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  84. package/dist/docs/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  85. package/dist/docs/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  86. package/dist/docs/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  87. package/dist/docs/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  88. package/dist/docs/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  89. package/dist/docs/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  90. package/dist/docs/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  91. package/dist/docs/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  92. package/dist/docs/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  93. package/dist/docs/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  94. package/dist/docs/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  95. package/dist/docs/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  96. package/dist/docs/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  97. package/dist/docs/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  98. package/dist/docs/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  99. package/dist/docs/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  100. package/dist/docs/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  101. package/dist/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  102. package/dist/docs/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  103. package/dist/docs/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  104. package/dist/docs/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  105. package/dist/docs/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  106. package/dist/docs/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  107. package/dist/docs/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  108. package/dist/docs/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  109. package/dist/docs/assets/javascripts/lunr/tinyseg.js +206 -0
  110. package/dist/docs/assets/javascripts/lunr/wordcut.js +6708 -0
  111. package/dist/docs/assets/javascripts/swagger-initializer.js +20 -0
  112. package/dist/docs/assets/javascripts/swagger-ui-bundle.js +3 -0
  113. package/dist/docs/assets/javascripts/swagger-ui-bundle.js.map +1 -0
  114. package/dist/docs/assets/javascripts/swagger-ui-es-bundle-core.js +3 -0
  115. package/dist/docs/assets/javascripts/swagger-ui-es-bundle-core.js.map +1 -0
  116. package/dist/docs/assets/javascripts/swagger-ui-es-bundle.js +3 -0
  117. package/dist/docs/assets/javascripts/swagger-ui-es-bundle.js.map +1 -0
  118. package/dist/docs/assets/javascripts/swagger-ui-standalone-preset.js +3 -0
  119. package/dist/docs/assets/javascripts/swagger-ui-standalone-preset.js.map +1 -0
  120. package/dist/docs/assets/javascripts/workers/search.f886a092.min.js +42 -0
  121. package/dist/docs/assets/javascripts/workers/search.f886a092.min.js.map +7 -0
  122. package/dist/docs/assets/stylesheets/main.fad675c6.min.css +1 -0
  123. package/dist/docs/assets/stylesheets/main.fad675c6.min.css.map +1 -0
  124. package/dist/docs/assets/stylesheets/palette.356b1318.min.css +1 -0
  125. package/dist/docs/assets/stylesheets/palette.356b1318.min.css.map +1 -0
  126. package/dist/docs/assets/stylesheets/swagger-ui-dark.css +833 -0
  127. package/dist/docs/assets/stylesheets/swagger-ui.css +3 -0
  128. package/dist/docs/assets/stylesheets/swagger-ui.css.map +1 -0
  129. package/dist/docs/assets/stylesheets/swagger-ui.js +2 -0
  130. package/dist/docs/assets/stylesheets/swagger-ui.js.map +1 -0
  131. package/dist/docs/assets/swagger-ui/oauth2-redirect.html +79 -0
  132. package/dist/docs/configuration/index.html +503 -0
  133. package/dist/docs/deployment/index.html +457 -0
  134. package/dist/docs/developer-guide/index.html +434 -0
  135. package/dist/docs/examples/_overview/index.html +413 -0
  136. package/dist/docs/examples/index.leaflet.xyz.3857.html +38 -0
  137. package/dist/docs/examples/index.maplibre.opacity.3857.html +215 -0
  138. package/dist/docs/examples/index.maplibre.vector.3857.html +45 -0
  139. package/dist/docs/examples/leaflet.xyz.3857/index.html +448 -0
  140. package/dist/docs/examples/maplibre.opacity.3857/index.html +625 -0
  141. package/dist/docs/examples/maplibre.vector.3857/index.html +455 -0
  142. package/dist/docs/index.css +3 -0
  143. package/dist/docs/index.html +623 -0
  144. package/dist/docs/linz-motif.svg +124 -0
  145. package/dist/docs/operator-guide/cog-quality/index.html +608 -0
  146. package/dist/docs/operator-guide/empty-tiles/index.html +513 -0
  147. package/dist/docs/operator-guide/gebco/index.html +479 -0
  148. package/dist/docs/operator-guide/index.html +413 -0
  149. package/dist/docs/operator-guide/quick-start/index.html +611 -0
  150. package/dist/docs/operator-guide/relief-shade/index.html +490 -0
  151. package/dist/docs/operator-guide/static/2023-06-26-gisborne-2023.png +0 -0
  152. package/dist/docs/operator-guide/static/quality__005_006_0_bilinear.webp +0 -0
  153. package/dist/docs/operator-guide/static/quality__005_006_0_lanczos.webp +0 -0
  154. package/dist/docs/operator-guide/static/quality__i6.bilinear.webp +0 -0
  155. package/dist/docs/operator-guide/static/quality__i6.cubic.webp +0 -0
  156. package/dist/docs/operator-guide/static/quality__i6.lanczos.webp +0 -0
  157. package/dist/docs/operator-guide/static/quality__resampling-overview.webp +0 -0
  158. package/dist/docs/operator-guide/static/quick-start__layers.png +0 -0
  159. package/dist/docs/operator-guide/static/relief__aerial.webp +0 -0
  160. package/dist/docs/operator-guide/static/relief__base.webp +0 -0
  161. package/dist/docs/operator-guide/static/relief__darken.webp +0 -0
  162. package/dist/docs/operator-guide/static/relief__lighten.webp +0 -0
  163. package/dist/docs/operator-guide/texture-shade/index.html +537 -0
  164. package/dist/docs/quick-start/index.html +419 -0
  165. package/dist/docs/sitemap.xml +98 -0
  166. package/dist/docs/sitemap.xml.gz +0 -0
  167. package/dist/docs/static/basemaps-service.png +0 -0
  168. package/dist/docs/static/tile-resize.png +0 -0
  169. package/dist/docs/static/workflow-run.png +0 -0
  170. package/dist/docs/user-guide/_get-started/index.html +602 -0
  171. package/dist/docs/user-guide/api-documentation/index.html +409 -0
  172. package/dist/docs/user-guide/api-documentation/swagger-c1884237.html +120 -0
  173. package/dist/docs/user-guide/swagger-api.json +393 -0
  174. package/dist/docs/user-guide/technical-documentation/index.html +930 -0
  175. package/package.json +17 -17
  176. package/CHANGELOG.md +0 -1374
  177. package/build/__tests__/config.debug.test.d.ts.map +0 -1
  178. package/build/__tests__/config.test.d.ts.map +0 -1
  179. package/build/__tests__/geojson.test.d.ts.map +0 -1
  180. package/build/__tests__/map.config.test.d.ts.map +0 -1
  181. package/build/__tests__/tile.matrix.test.d.ts.map +0 -1
  182. package/build/attribution.d.ts.map +0 -1
  183. package/build/components/copyable.d.ts.map +0 -1
  184. package/build/components/daterange.d.ts.map +0 -1
  185. package/build/components/debug.d.ts.map +0 -1
  186. package/build/components/layer.switcher.dropdown.d.ts.map +0 -1
  187. package/build/components/layout.footer.d.ts.map +0 -1
  188. package/build/components/layout.header.d.ts.map +0 -1
  189. package/build/components/link.d.ts.map +0 -1
  190. package/build/components/map.d.ts.map +0 -1
  191. package/build/components/map.switcher.d.ts.map +0 -1
  192. package/build/config.d.ts.map +0 -1
  193. package/build/config.debug.d.ts.map +0 -1
  194. package/build/config.layer.d.ts.map +0 -1
  195. package/build/config.map.d.ts.map +0 -1
  196. package/build/debug.map.d.ts.map +0 -1
  197. package/build/global.d.ts.map +0 -1
  198. package/build/index.d.ts.map +0 -1
  199. package/build/tile.matrix.d.ts.map +0 -1
  200. package/build/url.d.ts.map +0 -1
  201. package/build/webp.d.ts.map +0 -1
@@ -0,0 +1,608 @@
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/operator-guide/cog-quality/" rel="canonical"/>
9
+ <link href="../" rel="prev"/>
10
+ <link href="../empty-tiles/" 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>COG Quality - 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="#cog-quality">
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
+ COG Quality
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--nested">
135
+ <input 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="../../developer-guide/">
138
+ <span class="md-ellipsis">
139
+ Developer guide
140
+ </span>
141
+ </a>
142
+ </div>
143
+ <nav aria-expanded="false" aria-labelledby="__nav_5_label" class="md-nav" data-md-level="1">
144
+ <label class="md-nav__title" for="__nav_5">
145
+ <span class="md-nav__icon md-icon"></span>
146
+ Developer guide
147
+ </label>
148
+ <ul class="md-nav__list" data-md-scrollfix="">
149
+ </ul>
150
+ </nav>
151
+ </li>
152
+ <li class="md-nav__item md-nav__item--nested">
153
+ <input class="md-nav__toggle md-toggle" id="__nav_6" type="checkbox"/>
154
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
155
+ <span class="md-ellipsis">
156
+ Examples
157
+ </span>
158
+ <span class="md-nav__icon md-icon"></span>
159
+ </label>
160
+ <nav aria-expanded="false" aria-labelledby="__nav_6_label" class="md-nav" data-md-level="1">
161
+ <label class="md-nav__title" for="__nav_6">
162
+ <span class="md-nav__icon md-icon"></span>
163
+ Examples
164
+ </label>
165
+ <ul class="md-nav__list" data-md-scrollfix="">
166
+ <li class="md-nav__item">
167
+ <a class="md-nav__link" href="../../examples/_overview/">
168
+ <span class="md-ellipsis">
169
+ Overview
170
+ </span>
171
+ </a>
172
+ </li>
173
+ <li class="md-nav__item">
174
+ <a class="md-nav__link" href="../../examples/leaflet.xyz.3857/">
175
+ <span class="md-ellipsis">
176
+ Leaflet Raster Map
177
+ </span>
178
+ </a>
179
+ </li>
180
+ <li class="md-nav__item">
181
+ <a class="md-nav__link" href="../../examples/maplibre.opacity.3857/">
182
+ <span class="md-ellipsis">
183
+ Maplibre Opacity Slider
184
+ </span>
185
+ </a>
186
+ </li>
187
+ <li class="md-nav__item">
188
+ <a class="md-nav__link" href="../../examples/maplibre.vector.3857/">
189
+ <span class="md-ellipsis">
190
+ Maplibre Vector Map
191
+ </span>
192
+ </a>
193
+ </li>
194
+ </ul>
195
+ </nav>
196
+ </li>
197
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
198
+ <input checked="" class="md-nav__toggle md-toggle" id="__nav_7" type="checkbox"/>
199
+ <div class="md-nav__link md-nav__container">
200
+ <a class="md-nav__link" href="../">
201
+ <span class="md-ellipsis">
202
+ Operator guide
203
+ </span>
204
+ </a>
205
+ <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
206
+ <span class="md-nav__icon md-icon"></span>
207
+ </label>
208
+ </div>
209
+ <nav aria-expanded="true" aria-labelledby="__nav_7_label" class="md-nav" data-md-level="1">
210
+ <label class="md-nav__title" for="__nav_7">
211
+ <span class="md-nav__icon md-icon"></span>
212
+ Operator guide
213
+ </label>
214
+ <ul class="md-nav__list" data-md-scrollfix="">
215
+ <li class="md-nav__item md-nav__item--active">
216
+ <input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
217
+ <label class="md-nav__link md-nav__link--active" for="__toc">
218
+ <span class="md-ellipsis">
219
+ COG Quality
220
+ </span>
221
+ <span class="md-nav__icon md-icon"></span>
222
+ </label>
223
+ <a class="md-nav__link md-nav__link--active" href="./">
224
+ <span class="md-ellipsis">
225
+ COG Quality
226
+ </span>
227
+ </a>
228
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
229
+ <label class="md-nav__title" for="__toc">
230
+ <span class="md-nav__icon md-icon"></span>
231
+ Table of contents
232
+ </label>
233
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
234
+ <li class="md-nav__item">
235
+ <a class="md-nav__link" href="#resampling-with-reprojecton-and-overview-creation">
236
+ <span class="md-ellipsis">
237
+ Resampling with reprojecton and overview creation
238
+ </span>
239
+ </a>
240
+ </li>
241
+ <li class="md-nav__item">
242
+ <a class="md-nav__link" href="#overviews">
243
+ <span class="md-ellipsis">
244
+ Overviews
245
+ </span>
246
+ </a>
247
+ <nav aria-label="Overviews" class="md-nav">
248
+ <ul class="md-nav__list">
249
+ <li class="md-nav__item">
250
+ <a class="md-nav__link" href="#lanczos">
251
+ <span class="md-ellipsis">
252
+ Lanczos
253
+ </span>
254
+ </a>
255
+ </li>
256
+ <li class="md-nav__item">
257
+ <a class="md-nav__link" href="#cubic">
258
+ <span class="md-ellipsis">
259
+ Cubic
260
+ </span>
261
+ </a>
262
+ </li>
263
+ <li class="md-nav__item">
264
+ <a class="md-nav__link" href="#bilinear">
265
+ <span class="md-ellipsis">
266
+ Bilinear
267
+ </span>
268
+ </a>
269
+ </li>
270
+ </ul>
271
+ </nav>
272
+ </li>
273
+ <li class="md-nav__item">
274
+ <a class="md-nav__link" href="#reprojection-resampling">
275
+ <span class="md-ellipsis">
276
+ Reprojection resampling
277
+ </span>
278
+ </a>
279
+ <nav aria-label="Reprojection resampling" class="md-nav">
280
+ <ul class="md-nav__list">
281
+ <li class="md-nav__item">
282
+ <a class="md-nav__link" href="#lanczos_1">
283
+ <span class="md-ellipsis">
284
+ Lanczos
285
+ </span>
286
+ </a>
287
+ </li>
288
+ <li class="md-nav__item">
289
+ <a class="md-nav__link" href="#bilinear_1">
290
+ <span class="md-ellipsis">
291
+ Bilinear
292
+ </span>
293
+ </a>
294
+ </li>
295
+ </ul>
296
+ </nav>
297
+ </li>
298
+ </ul>
299
+ </nav>
300
+ </li>
301
+ <li class="md-nav__item">
302
+ <a class="md-nav__link" href="../empty-tiles/">
303
+ <span class="md-ellipsis">
304
+ Sparse Datasets and empty tiles
305
+ </span>
306
+ </a>
307
+ </li>
308
+ <li class="md-nav__item">
309
+ <a class="md-nav__link" href="../gebco/">
310
+ <span class="md-ellipsis">
311
+ Gebco re-project to NZTM2000Quad cog file
312
+ </span>
313
+ </a>
314
+ </li>
315
+ <li class="md-nav__item">
316
+ <a class="md-nav__link" href="../quick-start/">
317
+ <span class="md-ellipsis">
318
+ Running LINZ Basemaps - Quick Start
319
+ </span>
320
+ </a>
321
+ </li>
322
+ <li class="md-nav__item">
323
+ <a class="md-nav__link" href="../relief-shade/">
324
+ <span class="md-ellipsis">
325
+ Relief shade
326
+ </span>
327
+ </a>
328
+ </li>
329
+ <li class="md-nav__item">
330
+ <a class="md-nav__link" href="../texture-shade/">
331
+ <span class="md-ellipsis">
332
+ Texture shading
333
+ </span>
334
+ </a>
335
+ </li>
336
+ </ul>
337
+ </nav>
338
+ </li>
339
+ <li class="md-nav__item md-nav__item--nested">
340
+ <input class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
341
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
342
+ <span class="md-ellipsis">
343
+ User guide
344
+ </span>
345
+ <span class="md-nav__icon md-icon"></span>
346
+ </label>
347
+ <nav aria-expanded="false" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
348
+ <label class="md-nav__title" for="__nav_8">
349
+ <span class="md-nav__icon md-icon"></span>
350
+ User guide
351
+ </label>
352
+ <ul class="md-nav__list" data-md-scrollfix="">
353
+ <li class="md-nav__item">
354
+ <a class="md-nav__link" href="../../user-guide/_get-started/">
355
+ <span class="md-ellipsis">
356
+ Get started with LINZ Basemaps
357
+ </span>
358
+ </a>
359
+ </li>
360
+ <li class="md-nav__item">
361
+ <a class="md-nav__link" href="../../user-guide/api-documentation/">
362
+ <span class="md-ellipsis">
363
+ API documentation
364
+ </span>
365
+ </a>
366
+ </li>
367
+ <li class="md-nav__item">
368
+ <a class="md-nav__link" href="../../user-guide/technical-documentation/">
369
+ <span class="md-ellipsis">
370
+ Technical documentation and specifications
371
+ </span>
372
+ </a>
373
+ </li>
374
+ </ul>
375
+ </nav>
376
+ </li>
377
+ </ul>
378
+ </nav>
379
+ </div>
380
+ </div>
381
+ </div>
382
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
383
+ <div class="md-sidebar__scrollwrap">
384
+ <div class="md-sidebar__inner">
385
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
386
+ <label class="md-nav__title" for="__toc">
387
+ <span class="md-nav__icon md-icon"></span>
388
+ Table of contents
389
+ </label>
390
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
391
+ <li class="md-nav__item">
392
+ <a class="md-nav__link" href="#resampling-with-reprojecton-and-overview-creation">
393
+ <span class="md-ellipsis">
394
+ Resampling with reprojecton and overview creation
395
+ </span>
396
+ </a>
397
+ </li>
398
+ <li class="md-nav__item">
399
+ <a class="md-nav__link" href="#overviews">
400
+ <span class="md-ellipsis">
401
+ Overviews
402
+ </span>
403
+ </a>
404
+ <nav aria-label="Overviews" class="md-nav">
405
+ <ul class="md-nav__list">
406
+ <li class="md-nav__item">
407
+ <a class="md-nav__link" href="#lanczos">
408
+ <span class="md-ellipsis">
409
+ Lanczos
410
+ </span>
411
+ </a>
412
+ </li>
413
+ <li class="md-nav__item">
414
+ <a class="md-nav__link" href="#cubic">
415
+ <span class="md-ellipsis">
416
+ Cubic
417
+ </span>
418
+ </a>
419
+ </li>
420
+ <li class="md-nav__item">
421
+ <a class="md-nav__link" href="#bilinear">
422
+ <span class="md-ellipsis">
423
+ Bilinear
424
+ </span>
425
+ </a>
426
+ </li>
427
+ </ul>
428
+ </nav>
429
+ </li>
430
+ <li class="md-nav__item">
431
+ <a class="md-nav__link" href="#reprojection-resampling">
432
+ <span class="md-ellipsis">
433
+ Reprojection resampling
434
+ </span>
435
+ </a>
436
+ <nav aria-label="Reprojection resampling" class="md-nav">
437
+ <ul class="md-nav__list">
438
+ <li class="md-nav__item">
439
+ <a class="md-nav__link" href="#lanczos_1">
440
+ <span class="md-ellipsis">
441
+ Lanczos
442
+ </span>
443
+ </a>
444
+ </li>
445
+ <li class="md-nav__item">
446
+ <a class="md-nav__link" href="#bilinear_1">
447
+ <span class="md-ellipsis">
448
+ Bilinear
449
+ </span>
450
+ </a>
451
+ </li>
452
+ </ul>
453
+ </nav>
454
+ </li>
455
+ </ul>
456
+ </nav>
457
+ </div>
458
+ </div>
459
+ </div>
460
+ <div class="md-content" data-md-component="content">
461
+ <article class="md-content__inner md-typeset">
462
+ <h1 id="cog-quality">COG Quality</h1>
463
+ <h2 id="resampling-with-reprojecton-and-overview-creation">Resampling with reprojecton and overview creation</h2>
464
+ <p>creating COGs using a command very similar to</p>
465
+ <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>gdal_translate<span class="w"> </span>--version
466
+ </span><span id="__span-0-2"><a href="#__codelineno-0-2" id="__codelineno-0-2" name="__codelineno-0-2"></a>
467
+ </span><span id="__span-0-3"><a href="#__codelineno-0-3" id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="nv">COMPRESS</span><span class="o">=</span>webp
468
+ </span><span id="__span-0-4"><a href="#__codelineno-0-4" id="__codelineno-0-4" name="__codelineno-0-4"></a><span class="nv">BLOCKSIZE</span><span class="o">=</span><span class="m">256</span>
469
+ </span><span id="__span-0-5"><a href="#__codelineno-0-5" id="__codelineno-0-5" name="__codelineno-0-5"></a>
470
+ </span><span id="__span-0-6"><a href="#__codelineno-0-6" id="__codelineno-0-6" name="__codelineno-0-6"></a><span class="k">for</span><span class="w"> </span>RESAMPLE<span class="w"> </span><span class="k">in</span><span class="w"> </span>cubic<span class="w"> </span>lanczos<span class="w"> </span>bilinear
471
+ </span><span id="__span-0-7"><a href="#__codelineno-0-7" id="__codelineno-0-7" name="__codelineno-0-7"></a><span class="k">do</span>
472
+ </span><span id="__span-0-8"><a href="#__codelineno-0-8" id="__codelineno-0-8" name="__codelineno-0-8"></a>gdal_translate<span class="w"> </span><span class="se">\</span>
473
+ </span><span id="__span-0-9"><a href="#__codelineno-0-9" id="__codelineno-0-9" name="__codelineno-0-9"></a><span class="w"> </span>-of<span class="w"> </span>COG<span class="w"> </span><span class="se">\</span>
474
+ </span><span id="__span-0-10"><a href="#__codelineno-0-10" id="__codelineno-0-10" name="__codelineno-0-10"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">COMPRESS</span><span class="o">=</span><span class="nv">$COMPRESS</span><span class="se">\</span>
475
+ </span><span id="__span-0-11"><a href="#__codelineno-0-11" id="__codelineno-0-11" name="__codelineno-0-11"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">NUM_THREADS</span><span class="o">=</span>ALL_CPUS<span class="w"> </span><span class="se">\</span>
476
+ </span><span id="__span-0-12"><a href="#__codelineno-0-12" id="__codelineno-0-12" name="__codelineno-0-12"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">BIGTIFF</span><span class="o">=</span>YES<span class="w"> </span><span class="se">\</span>
477
+ </span><span id="__span-0-13"><a href="#__codelineno-0-13" id="__codelineno-0-13" name="__codelineno-0-13"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">TILING_SCHEME</span><span class="o">=</span>GoogleMapsCompatible<span class="w"> </span><span class="se">\</span>
478
+ </span><span id="__span-0-14"><a href="#__codelineno-0-14" id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="w"> </span>--config<span class="w"> </span>BIGTIFF_OVERVIEW<span class="w"> </span>YES<span class="w"> </span><span class="se">\</span>
479
+ </span><span id="__span-0-15"><a href="#__codelineno-0-15" id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">ALIGNED_LEVELS</span><span class="o">=</span><span class="m">1</span><span class="w"> </span><span class="se">\</span>
480
+ </span><span id="__span-0-16"><a href="#__codelineno-0-16" id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">SPARSE_OK</span><span class="o">=</span>TRUE<span class="w"> </span><span class="se">\</span>
481
+ </span><span id="__span-0-17"><a href="#__codelineno-0-17" id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">ADD_ALPHA</span><span class="o">=</span>YES<span class="w"> </span><span class="se">\</span>
482
+ </span><span id="__span-0-18"><a href="#__codelineno-0-18" id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">BLOCKSIZE</span><span class="o">=</span><span class="nv">$BLOCKSIZE</span><span class="w"> </span><span class="se">\</span>
483
+ </span><span id="__span-0-19"><a href="#__codelineno-0-19" id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">RESAMPLING</span><span class="o">=</span><span class="nv">$RESAMPLE</span><span class="w"> </span><span class="se">\</span>
484
+ </span><span id="__span-0-20"><a href="#__codelineno-0-20" id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">QUALITY</span><span class="o">=</span><span class="m">90</span><span class="w"> </span><span class="se">\</span>
485
+ </span><span id="__span-0-21"><a href="#__codelineno-0-21" id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">ZOOM_LEVEL_STRATEGY</span><span class="o">=</span>UPPER<span class="w"> </span><span class="se">\</span>
486
+ </span><span id="__span-0-22"><a href="#__codelineno-0-22" id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="w"> </span><span class="nv">$PWD</span>/<span class="nv">$TIF_FOLDER</span>/.vrt<span class="w"> </span><span class="nv">$PWD</span>/<span class="nv">$TIF_FOLDER</span>.<span class="nv">$COMPRESS</span>.google.r_<span class="nv">$RESAMPLE</span>.bs_<span class="nv">$BLOCKSIZE</span>.aligned.cog.tif
487
+ </span><span id="__span-0-23"><a href="#__codelineno-0-23" id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="k">done</span>
488
+ </span></code></pre></div>
489
+ <h2 id="overviews">Overviews</h2>
490
+ <p>When creating COGs using the different resampling methods the output quality differs a lot.</p>
491
+ <p>Here are some overviews created using some of the different resampling methods:</p>
492
+ <p><img alt="Resampling Quality" src="../static/quality__resampling-overview.webp"/></p>
493
+ <h3 id="lanczos">Lanczos</h3>
494
+ <p>Provides quite a nice and crisp output</p>
495
+ <p><img alt="Lanczos Overview" src="../static/quality__i6.lanczos.webp"/></p>
496
+ <h3 id="cubic">Cubic</h3>
497
+ <p>Creates weird artifacts around the edges</p>
498
+ <p><img alt="Cubic Overview" src="../static/quality__i6.cubic.webp"/></p>
499
+ <h3 id="bilinear">Bilinear</h3>
500
+ <p>looks blury</p>
501
+ <p><img alt="Bilinear Overview" src="../static/quality__i6.bilinear.webp"/></p>
502
+ <p>Using lanczos looks best for our overview creation.</p>
503
+ <h2 id="reprojection-resampling">Reprojection resampling</h2>
504
+ <p>However when we use lanczos for the cog creation we start getting jagged lines inside the high resolution images</p>
505
+ <p>Here are some higher resolution aerial imagery image 0 with different resampling methods, these are tiles taken directly from a tiff and converted to webp.</p>
506
+ <h3 id="lanczos_1">Lanczos</h3>
507
+ <p>Creates a jaggeredness, look at the street markings and the edges of the buildings</p>
508
+ <p><img alt="Lanczos" src="../static/quality__005_006_0_lanczos.webp"/></p>
509
+ <h3 id="bilinear_1">Bilinear</h3>
510
+ <p>Creates a nice image</p>
511
+ <p><img alt="Bilinear" src="../static/quality__005_006_0_bilinear.webp"/></p>
512
+ <p>For our aerial imagery reprojection seems to be best done as bilinear, where as Overview creation seems to be best done as lanczos.</p>
513
+ <p>Using GDAL 3.2.x+ this can be configured with as it was fixed in <a href="https://github.com/OSGeo/gdal/issues/2671">osgeo/gdal#2671</a></p>
514
+ <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>gdal_translate<span class="w"> </span>-co<span class="w"> </span><span class="nv">WARP_RESAMPLING</span><span class="o">=</span>bilinear<span class="w"> </span>-co<span class="w"> </span><span class="nv">OVERVIEW_RESAMPLING</span><span class="o">=</span>lanczos
515
+ </span></code></pre></div>
516
+ </article>
517
+ </div>
518
+ </div>
519
+ </main>
520
+ <footer class="md-footer">
521
+ <div class="md-footer-meta md-typeset">
522
+ <div class="md-footer-meta__inner md-grid">
523
+ <div class="md-copyright">
524
+ <div class="md-copyright__highlight">
525
+ <a href="https://www.linz.govt.nz/copyright">© CC BY 4.0 LINZ</a>
526
+ </div>
527
+
528
+
529
+ Made with
530
+ <a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank">
531
+ Material for MkDocs
532
+ </a>
533
+ </div>
534
+ </div>
535
+ </div>
536
+ </footer>
537
+ </div>
538
+ <div class="md-dialog" data-md-component="dialog">
539
+ <div class="md-dialog__inner md-typeset"></div>
540
+ </div>
541
+ <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>
542
+ <script src="../../assets/javascripts/bundle.6c14ae12.min.js"></script>
543
+ <script>document$.subscribe(() => {
544
+ window.update_swagger_ui_iframe_height = function (id) {
545
+ var iFrameID = document.getElementById(id);
546
+ if (iFrameID) {
547
+ full_height = (iFrameID.contentWindow.document.body.scrollHeight + 80) + "px";
548
+ iFrameID.height = full_height;
549
+ iFrameID.style.height = full_height;
550
+ }
551
+ }
552
+
553
+ let iframe_id_list = []
554
+ var iframes = document.getElementsByClassName("swagger-ui-iframe");
555
+ for (var i = 0; i < iframes.length; i++) {
556
+ iframe_id_list.push(iframes[i].getAttribute("id"))
557
+ }
558
+
559
+ let ticking = true;
560
+
561
+ document.addEventListener('scroll', function(e) {
562
+ if (!ticking) {
563
+ window.requestAnimationFrame(()=> {
564
+ let half_vh = window.innerHeight/2;
565
+ for(var i = 0; i < iframe_id_list.length; i++) {
566
+ let element = document.getElementById(iframe_id_list[i])
567
+ if(element==null){
568
+ return
569
+ }
570
+ let diff = element.getBoundingClientRect().top
571
+ if(element.contentWindow.update_top_val){
572
+ element.contentWindow.update_top_val(half_vh - diff)
573
+ }
574
+ }
575
+ ticking = false;
576
+ });
577
+ ticking = true;
578
+ }
579
+ });
580
+
581
+ const dark_scheme_name = "slate"
582
+
583
+ window.scheme = document.body.getAttribute("data-md-color-scheme")
584
+ const options = {
585
+ attributeFilter: ['data-md-color-scheme'],
586
+ };
587
+ function color_scheme_callback(mutations) {
588
+ for (let mutation of mutations) {
589
+ if (mutation.attributeName === "data-md-color-scheme") {
590
+ scheme = document.body.getAttribute("data-md-color-scheme")
591
+ var iframe_list = document.getElementsByClassName("swagger-ui-iframe")
592
+ for(var i = 0; i < iframe_list.length; i++) {
593
+ var ele = iframe_list.item(i);
594
+ if (ele) {
595
+ if (scheme === dark_scheme_name) {
596
+ ele.contentWindow.enable_dark_mode();
597
+ } else {
598
+ ele.contentWindow.disable_dark_mode();
599
+ }
600
+ }
601
+ }
602
+ }
603
+ }
604
+ }
605
+ observer = new MutationObserver(color_scheme_callback);
606
+ observer.observe(document.body, options);
607
+ })</script></body>
608
+ </html>