@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,537 @@
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/texture-shade/" rel="canonical"/>
9
+ <link href="../relief-shade/" rel="prev"/>
10
+ <link href="../../user-guide/_get-started/" 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>Texture shading - 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="#texture-shading">
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
+ Texture shading
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">
216
+ <a class="md-nav__link" href="../cog-quality/">
217
+ <span class="md-ellipsis">
218
+ COG Quality
219
+ </span>
220
+ </a>
221
+ </li>
222
+ <li class="md-nav__item">
223
+ <a class="md-nav__link" href="../empty-tiles/">
224
+ <span class="md-ellipsis">
225
+ Sparse Datasets and empty tiles
226
+ </span>
227
+ </a>
228
+ </li>
229
+ <li class="md-nav__item">
230
+ <a class="md-nav__link" href="../gebco/">
231
+ <span class="md-ellipsis">
232
+ Gebco re-project to NZTM2000Quad cog file
233
+ </span>
234
+ </a>
235
+ </li>
236
+ <li class="md-nav__item">
237
+ <a class="md-nav__link" href="../quick-start/">
238
+ <span class="md-ellipsis">
239
+ Running LINZ Basemaps - Quick Start
240
+ </span>
241
+ </a>
242
+ </li>
243
+ <li class="md-nav__item">
244
+ <a class="md-nav__link" href="../relief-shade/">
245
+ <span class="md-ellipsis">
246
+ Relief shade
247
+ </span>
248
+ </a>
249
+ </li>
250
+ <li class="md-nav__item md-nav__item--active">
251
+ <input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
252
+ <label class="md-nav__link md-nav__link--active" for="__toc">
253
+ <span class="md-ellipsis">
254
+ Texture shading
255
+ </span>
256
+ <span class="md-nav__icon md-icon"></span>
257
+ </label>
258
+ <a class="md-nav__link md-nav__link--active" href="./">
259
+ <span class="md-ellipsis">
260
+ Texture shading
261
+ </span>
262
+ </a>
263
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
264
+ <label class="md-nav__title" for="__toc">
265
+ <span class="md-nav__icon md-icon"></span>
266
+ Table of contents
267
+ </label>
268
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
269
+ <li class="md-nav__item">
270
+ <a class="md-nav__link" href="#process">
271
+ <span class="md-ellipsis">
272
+ Process
273
+ </span>
274
+ </a>
275
+ </li>
276
+ </ul>
277
+ </nav>
278
+ </li>
279
+ </ul>
280
+ </nav>
281
+ </li>
282
+ <li class="md-nav__item md-nav__item--nested">
283
+ <input class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
284
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
285
+ <span class="md-ellipsis">
286
+ User guide
287
+ </span>
288
+ <span class="md-nav__icon md-icon"></span>
289
+ </label>
290
+ <nav aria-expanded="false" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
291
+ <label class="md-nav__title" for="__nav_8">
292
+ <span class="md-nav__icon md-icon"></span>
293
+ User guide
294
+ </label>
295
+ <ul class="md-nav__list" data-md-scrollfix="">
296
+ <li class="md-nav__item">
297
+ <a class="md-nav__link" href="../../user-guide/_get-started/">
298
+ <span class="md-ellipsis">
299
+ Get started with LINZ Basemaps
300
+ </span>
301
+ </a>
302
+ </li>
303
+ <li class="md-nav__item">
304
+ <a class="md-nav__link" href="../../user-guide/api-documentation/">
305
+ <span class="md-ellipsis">
306
+ API documentation
307
+ </span>
308
+ </a>
309
+ </li>
310
+ <li class="md-nav__item">
311
+ <a class="md-nav__link" href="../../user-guide/technical-documentation/">
312
+ <span class="md-ellipsis">
313
+ Technical documentation and specifications
314
+ </span>
315
+ </a>
316
+ </li>
317
+ </ul>
318
+ </nav>
319
+ </li>
320
+ </ul>
321
+ </nav>
322
+ </div>
323
+ </div>
324
+ </div>
325
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
326
+ <div class="md-sidebar__scrollwrap">
327
+ <div class="md-sidebar__inner">
328
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
329
+ <label class="md-nav__title" for="__toc">
330
+ <span class="md-nav__icon md-icon"></span>
331
+ Table of contents
332
+ </label>
333
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
334
+ <li class="md-nav__item">
335
+ <a class="md-nav__link" href="#process">
336
+ <span class="md-ellipsis">
337
+ Process
338
+ </span>
339
+ </a>
340
+ </li>
341
+ </ul>
342
+ </nav>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ <div class="md-content" data-md-component="content">
347
+ <article class="md-content__inner md-typeset">
348
+ <h1 id="texture-shading">Texture shading</h1>
349
+ <blockquote>
350
+ <p>Texture shading is a new technique for generating shaded relief images to show the three-dimensional structure of mountainous terrain. It differs from traditional hillshading and can be used either as an alternative shading method, or as an enhancement to hillshading by combining the two methods. Texture shading emphasizes the drainage network (canyons and ridges) of the landscape and exhibits a visual hierarchy that reflects this structure. It can be used to bring out fine details that are present in high-quality elevation data, and likewise as a tool to examine digital elevation models for unwanted data artifacts.</p>
351
+ </blockquote>
352
+ <p>See http://www.textureshading.com/Home.html</p>
353
+ <h2 id="process">Process</h2>
354
+ <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><span class="ch">#!/bin/bash</span>
355
+ </span><span id="__span-0-2"><a href="#__codelineno-0-2" id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="c1">#################</span>
356
+ </span><span id="__span-0-3"><a href="#__codelineno-0-3" id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="c1"># Process DEM using texture_shade</span>
357
+ </span><span id="__span-0-4"><a href="#__codelineno-0-4" id="__codelineno-0-4" name="__codelineno-0-4"></a><span class="c1">#</span>
358
+ </span><span id="__span-0-5"><a href="#__codelineno-0-5" id="__codelineno-0-5" name="__codelineno-0-5"></a><span class="c1"># This process requires a huge amount of memory, for the 8M geographx DEM it requires around 100GB of free memory</span>
359
+ </span><span id="__span-0-6"><a href="#__codelineno-0-6" id="__codelineno-0-6" name="__codelineno-0-6"></a><span class="c1"># This process has been tested on a AWS R5D with 32VCPUs and 256GB of ram, starting with a base AWS centos image</span>
360
+ </span><span id="__span-0-7"><a href="#__codelineno-0-7" id="__codelineno-0-7" name="__codelineno-0-7"></a><span class="c1">#</span>
361
+ </span><span id="__span-0-8"><a href="#__codelineno-0-8" id="__codelineno-0-8" name="__codelineno-0-8"></a><span class="c1">#################</span>
362
+ </span><span id="__span-0-9"><a href="#__codelineno-0-9" id="__codelineno-0-9" name="__codelineno-0-9"></a><span class="c1"># Install required software</span>
363
+ </span><span id="__span-0-10"><a href="#__codelineno-0-10" id="__codelineno-0-10" name="__codelineno-0-10"></a>sudo<span class="w"> </span>yum<span class="w"> </span>groupinstall<span class="w"> </span><span class="s1">'Development Tools'</span>
364
+ </span><span id="__span-0-11"><a href="#__codelineno-0-11" id="__codelineno-0-11" name="__codelineno-0-11"></a>sudo<span class="w"> </span>yum<span class="w"> </span>install<span class="w"> </span>tmux<span class="w"> </span>git
365
+ </span><span id="__span-0-12"><a href="#__codelineno-0-12" id="__codelineno-0-12" name="__codelineno-0-12"></a>
366
+ </span><span id="__span-0-13"><a href="#__codelineno-0-13" id="__codelineno-0-13" name="__codelineno-0-13"></a><span class="c1"># start docker</span>
367
+ </span><span id="__span-0-14"><a href="#__codelineno-0-14" id="__codelineno-0-14" name="__codelineno-0-14"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span>start<span class="w"> </span>docker
368
+ </span><span id="__span-0-15"><a href="#__codelineno-0-15" id="__codelineno-0-15" name="__codelineno-0-15"></a>sudo<span class="w"> </span>docker<span class="w"> </span>ps
369
+ </span><span id="__span-0-16"><a href="#__codelineno-0-16" id="__codelineno-0-16" name="__codelineno-0-16"></a>
370
+ </span><span id="__span-0-17"><a href="#__codelineno-0-17" id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="c1"># Helper function to run docker</span>
371
+ </span><span id="__span-0-18"><a href="#__codelineno-0-18" id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="k">function</span><span class="w"> </span>gdal_docker<span class="o">()</span><span class="w"> </span><span class="o">{</span>
372
+ </span><span id="__span-0-19"><a href="#__codelineno-0-19" id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="w"> </span>sudo<span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-it<span class="w"> </span>-v<span class="w"> </span><span class="nv">$PWD</span>:<span class="nv">$PWD</span><span class="w"> </span>--workdir<span class="w"> </span><span class="nv">$PWD</span><span class="w"> </span>osgeo/gdal:ubuntu-small-3.3.3<span class="w"> </span><span class="s2">"</span><span class="nv">$@</span><span class="s2">"</span>
373
+ </span><span id="__span-0-20"><a href="#__codelineno-0-20" id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="o">}</span>
374
+ </span><span id="__span-0-21"><a href="#__codelineno-0-21" id="__codelineno-0-21" name="__codelineno-0-21"></a>
375
+ </span><span id="__span-0-22"><a href="#__codelineno-0-22" id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="c1"># Ensure we have access to a GDAL &gt; 3.3</span>
376
+ </span><span id="__span-0-23"><a href="#__codelineno-0-23" id="__codelineno-0-23" name="__codelineno-0-23"></a>gdal_docker<span class="w"> </span>gdal_translate<span class="w"> </span>--version
377
+ </span><span id="__span-0-24"><a href="#__codelineno-0-24" id="__codelineno-0-24" name="__codelineno-0-24"></a>
378
+ </span><span id="__span-0-25"><a href="#__codelineno-0-25" id="__codelineno-0-25" name="__codelineno-0-25"></a><span class="c1"># Install texture_shade</span>
379
+ </span><span id="__span-0-26"><a href="#__codelineno-0-26" id="__codelineno-0-26" name="__codelineno-0-26"></a>git<span class="w"> </span>clone<span class="w"> </span>git@github.com:linz/texture-shade.git
380
+ </span><span id="__span-0-27"><a href="#__codelineno-0-27" id="__codelineno-0-27" name="__codelineno-0-27"></a><span class="nb">cd</span><span class="w"> </span>texture-shade
381
+ </span><span id="__span-0-28"><a href="#__codelineno-0-28" id="__codelineno-0-28" name="__codelineno-0-28"></a>make<span class="w"> </span>clean
382
+ </span><span id="__span-0-29"><a href="#__codelineno-0-29" id="__codelineno-0-29" name="__codelineno-0-29"></a>make
383
+ </span><span id="__span-0-30"><a href="#__codelineno-0-30" id="__codelineno-0-30" name="__codelineno-0-30"></a>
384
+ </span><span id="__span-0-31"><a href="#__codelineno-0-31" id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="c1"># AWS R5d come with two NVME ssds they will be unmounted and unformatted to begin with</span>
385
+ </span><span id="__span-0-32"><a href="#__codelineno-0-32" id="__codelineno-0-32" name="__codelineno-0-32"></a><span class="c1"># Format the disks into ext4 and mount them into the home directory</span>
386
+ </span><span id="__span-0-33"><a href="#__codelineno-0-33" id="__codelineno-0-33" name="__codelineno-0-33"></a><span class="c1"># Prepare disk drives</span>
387
+ </span><span id="__span-0-34"><a href="#__codelineno-0-34" id="__codelineno-0-34" name="__codelineno-0-34"></a>sudo<span class="w"> </span>fdisk<span class="w"> </span>-l
388
+ </span><span id="__span-0-35"><a href="#__codelineno-0-35" id="__codelineno-0-35" name="__codelineno-0-35"></a>sudo<span class="w"> </span>mkfs.ext4<span class="w"> </span>/dev/nvme1n1
389
+ </span><span id="__span-0-36"><a href="#__codelineno-0-36" id="__codelineno-0-36" name="__codelineno-0-36"></a>sudo<span class="w"> </span>mkfs.ext4<span class="w"> </span>/dev/nvme2n1
390
+ </span><span id="__span-0-37"><a href="#__codelineno-0-37" id="__codelineno-0-37" name="__codelineno-0-37"></a>
391
+ </span><span id="__span-0-38"><a href="#__codelineno-0-38" id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="c1"># Mount NVME drives</span>
392
+ </span><span id="__span-0-39"><a href="#__codelineno-0-39" id="__codelineno-0-39" name="__codelineno-0-39"></a>mkdir<span class="w"> </span>n1<span class="w"> </span>n2
393
+ </span><span id="__span-0-40"><a href="#__codelineno-0-40" id="__codelineno-0-40" name="__codelineno-0-40"></a>sudo<span class="w"> </span>mount<span class="w"> </span>/dev/nvme1n1<span class="w"> </span>n1
394
+ </span><span id="__span-0-41"><a href="#__codelineno-0-41" id="__codelineno-0-41" name="__codelineno-0-41"></a>sudo<span class="w"> </span>mount<span class="w"> </span>/dev/nvme2n1<span class="w"> </span>n2
395
+ </span><span id="__span-0-42"><a href="#__codelineno-0-42" id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="c1"># Allow our user to write to the folders</span>
396
+ </span><span id="__span-0-43"><a href="#__codelineno-0-43" id="__codelineno-0-43" name="__codelineno-0-43"></a>sudo<span class="w"> </span>chown<span class="w"> </span>ssm-user:ssm-user<span class="w"> </span>n*<span class="w"> </span>-R
397
+ </span><span id="__span-0-44"><a href="#__codelineno-0-44" id="__codelineno-0-44" name="__codelineno-0-44"></a>
398
+ </span><span id="__span-0-45"><a href="#__codelineno-0-45" id="__codelineno-0-45" name="__codelineno-0-45"></a>
399
+ </span><span id="__span-0-46"><a href="#__codelineno-0-46" id="__codelineno-0-46" name="__codelineno-0-46"></a><span class="nb">cd</span><span class="w"> </span>n1
400
+ </span><span id="__span-0-47"><a href="#__codelineno-0-47" id="__codelineno-0-47" name="__codelineno-0-47"></a>
401
+ </span><span id="__span-0-48"><a href="#__codelineno-0-48" id="__codelineno-0-48" name="__codelineno-0-48"></a><span class="c1"># Grab required files</span>
402
+ </span><span id="__span-0-49"><a href="#__codelineno-0-49" id="__codelineno-0-49" name="__codelineno-0-49"></a>aws<span class="w"> </span>s3<span class="w"> </span>cp<span class="w"> </span>s3://linz-basemaps-source/Geographx-NZ-DEM<span class="w"> </span>Geographx-NZ-DEM<span class="w"> </span>--recursive
403
+ </span><span id="__span-0-50"><a href="#__codelineno-0-50" id="__codelineno-0-50" name="__codelineno-0-50"></a>
404
+ </span><span id="__span-0-51"><a href="#__codelineno-0-51" id="__codelineno-0-51" name="__codelineno-0-51"></a><span class="c1"># Craete a VRT</span>
405
+ </span><span id="__span-0-52"><a href="#__codelineno-0-52" id="__codelineno-0-52" name="__codelineno-0-52"></a>gdal_docker<span class="w"> </span>gdalbuildvrt<span class="w"> </span>Geographx-NZ-DEM-FLT.vrt<span class="w"> </span>Geographx-NZ-DEM/*.tif
406
+ </span><span id="__span-0-53"><a href="#__codelineno-0-53" id="__codelineno-0-53" name="__codelineno-0-53"></a>
407
+ </span><span id="__span-0-54"><a href="#__codelineno-0-54" id="__codelineno-0-54" name="__codelineno-0-54"></a><span class="c1"># texture requires a FLT file</span>
408
+ </span><span id="__span-0-55"><a href="#__codelineno-0-55" id="__codelineno-0-55" name="__codelineno-0-55"></a>gdal_docker<span class="w"> </span>gdal_translate<span class="w"> </span>-of<span class="w"> </span>EHdr<span class="w"> </span>-ot<span class="w"> </span>Float32<span class="w"> </span>Geographx-NZ-DEM-FLT.vrt<span class="w"> </span>Geographx-NZ-DEM-FLT.flt
409
+ </span><span id="__span-0-56"><a href="#__codelineno-0-56" id="__codelineno-0-56" name="__codelineno-0-56"></a>
410
+ </span><span id="__span-0-57"><a href="#__codelineno-0-57" id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="c1"># validate flt was created ok</span>
411
+ </span><span id="__span-0-58"><a href="#__codelineno-0-58" id="__codelineno-0-58" name="__codelineno-0-58"></a>gdal_docker<span class="w"> </span>gdalinfo<span class="w"> </span>Geographx-NZ-DEM-FLT.flt
412
+ </span><span id="__span-0-59"><a href="#__codelineno-0-59" id="__codelineno-0-59" name="__codelineno-0-59"></a>
413
+ </span><span id="__span-0-60"><a href="#__codelineno-0-60" id="__codelineno-0-60" name="__codelineno-0-60"></a>sudo<span class="w"> </span>chown<span class="w"> </span>ssm-user:ssm-user<span class="w"> </span>n1<span class="w"> </span>-R
414
+ </span><span id="__span-0-61"><a href="#__codelineno-0-61" id="__codelineno-0-61" name="__codelineno-0-61"></a>
415
+ </span><span id="__span-0-62"><a href="#__codelineno-0-62" id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="c1"># Texture shading takes a while run inside of tmux so the session can be resumed with `tmux attach`</span>
416
+ </span><span id="__span-0-63"><a href="#__codelineno-0-63" id="__codelineno-0-63" name="__codelineno-0-63"></a>tmux
417
+ </span><span id="__span-0-64"><a href="#__codelineno-0-64" id="__codelineno-0-64" name="__codelineno-0-64"></a>../texture-shade/bin/texture<span class="w"> </span><span class="m">1</span><span class="w"> </span>Geographx-NZ-DEM-FLT.flt<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.flt
418
+ </span><span id="__span-0-65"><a href="#__codelineno-0-65" id="__codelineno-0-65" name="__codelineno-0-65"></a>../texture-shade/bin/texture_image<span class="w"> </span>+1.5<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.flt<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.tif<span class="w"> </span><span class="c1"># texture-shade only allows ".tif"</span>
419
+ </span><span id="__span-0-66"><a href="#__codelineno-0-66" id="__codelineno-0-66" name="__codelineno-0-66"></a>
420
+ </span><span id="__span-0-67"><a href="#__codelineno-0-67" id="__codelineno-0-67" name="__codelineno-0-67"></a><span class="c1"># Compress the output tiff</span>
421
+ </span><span id="__span-0-68"><a href="#__codelineno-0-68" id="__codelineno-0-68" name="__codelineno-0-68"></a>gdal_docker<span class="w"> </span>gdal_translate<span class="w"> </span>-of<span class="w"> </span>Gtiff<span class="w"> </span>-co<span class="w"> </span><span class="nv">COMPRESS</span><span class="o">=</span>lzw<span class="w"> </span>-co<span class="w"> </span><span class="nv">BIGTIFF</span><span class="o">=</span>yes<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>-co<span class="w"> </span><span class="nv">TILED</span><span class="o">=</span>yes<span class="w"> </span><span class="se">\</span>
422
+ </span><span id="__span-0-69"><a href="#__codelineno-0-69" id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.tif<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.lzw.tiff
423
+ </span><span id="__span-0-70"><a href="#__codelineno-0-70" id="__codelineno-0-70" name="__codelineno-0-70"></a>
424
+ </span><span id="__span-0-71"><a href="#__codelineno-0-71" id="__codelineno-0-71" name="__codelineno-0-71"></a>
425
+ </span><span id="__span-0-72"><a href="#__codelineno-0-72" id="__codelineno-0-72" name="__codelineno-0-72"></a><span class="c1"># Store the result back in s3</span>
426
+ </span><span id="__span-0-73"><a href="#__codelineno-0-73" id="__codelineno-0-73" name="__codelineno-0-73"></a>
427
+ </span><span id="__span-0-74"><a href="#__codelineno-0-74" id="__codelineno-0-74" name="__codelineno-0-74"></a>aws<span class="w"> </span>s3<span class="w"> </span>cp<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.lzw.tiff<span class="w"> </span>s3://linz-basemaps-source/Geographx-NZ-DEM-FLT/
428
+ </span></code></pre></div>
429
+ <p>Once complete this gives a uint16 tiff that has values between 0-65,536 to make this image usage a color ramp is applied to create a semi transparent image</p>
430
+ <p>At 0 create a 25% opacity black, <code>rgba(0,0,0,0.25)</code> then slowly ramp to 0% opacity at 32,768</p>
431
+ <div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a href="#__codelineno-1-1" id="__codelineno-1-1" name="__codelineno-1-1"></a>nv 0 0 0 0
432
+ </span><span id="__span-1-2"><a href="#__codelineno-1-2" id="__codelineno-1-2" name="__codelineno-1-2"></a>0 0 0 0 63
433
+ </span><span id="__span-1-3"><a href="#__codelineno-1-3" id="__codelineno-1-3" name="__codelineno-1-3"></a>32768 0 0 0 0
434
+ </span></code></pre></div>
435
+ <p>Using gdal apply the color-relief</p>
436
+ <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>gdaldem<span class="w"> </span>color-relief<span class="w"> </span><span class="se">\</span>
437
+ </span><span id="__span-2-2"><a href="#__codelineno-2-2" id="__codelineno-2-2" name="__codelineno-2-2"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">COMPRESS</span><span class="o">=</span>lzw<span class="w"> </span><span class="se">\</span>
438
+ </span><span id="__span-2-3"><a href="#__codelineno-2-3" id="__codelineno-2-3" name="__codelineno-2-3"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">TILED</span><span class="o">=</span>yes<span class="w"> </span><span class="se">\</span>
439
+ </span><span id="__span-2-4"><a href="#__codelineno-2-4" id="__codelineno-2-4" name="__codelineno-2-4"></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>
440
+ </span><span id="__span-2-5"><a href="#__codelineno-2-5" id="__codelineno-2-5" name="__codelineno-2-5"></a><span class="w"> </span>-of<span class="w"> </span>GTiff<span class="w"> </span><span class="se">\</span>
441
+ </span><span id="__span-2-6"><a href="#__codelineno-2-6" id="__codelineno-2-6" name="__codelineno-2-6"></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>
442
+ </span><span id="__span-2-7"><a href="#__codelineno-2-7" id="__codelineno-2-7" name="__codelineno-2-7"></a><span class="w"> </span>-co<span class="w"> </span><span class="nv">ALPHA</span><span class="o">=</span>yes<span class="w"> </span>-alpha<span class="w"> </span><span class="se">\</span>
443
+ </span><span id="__span-2-8"><a href="#__codelineno-2-8" id="__codelineno-2-8" name="__codelineno-2-8"></a><span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.lzw.tiff<span class="w"> </span>color.ramp<span class="w"> </span>Geographx-NZ-DEM-FLT.detail_1.contrast_1.5.lzw.ramp.tiff
444
+ </span></code></pre></div>
445
+ </article>
446
+ </div>
447
+ </div>
448
+ </main>
449
+ <footer class="md-footer">
450
+ <div class="md-footer-meta md-typeset">
451
+ <div class="md-footer-meta__inner md-grid">
452
+ <div class="md-copyright">
453
+ <div class="md-copyright__highlight">
454
+ <a href="https://www.linz.govt.nz/copyright">© CC BY 4.0 LINZ</a>
455
+ </div>
456
+
457
+
458
+ Made with
459
+ <a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank">
460
+ Material for MkDocs
461
+ </a>
462
+ </div>
463
+ </div>
464
+ </div>
465
+ </footer>
466
+ </div>
467
+ <div class="md-dialog" data-md-component="dialog">
468
+ <div class="md-dialog__inner md-typeset"></div>
469
+ </div>
470
+ <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>
471
+ <script src="../../assets/javascripts/bundle.6c14ae12.min.js"></script>
472
+ <script>document$.subscribe(() => {
473
+ window.update_swagger_ui_iframe_height = function (id) {
474
+ var iFrameID = document.getElementById(id);
475
+ if (iFrameID) {
476
+ full_height = (iFrameID.contentWindow.document.body.scrollHeight + 80) + "px";
477
+ iFrameID.height = full_height;
478
+ iFrameID.style.height = full_height;
479
+ }
480
+ }
481
+
482
+ let iframe_id_list = []
483
+ var iframes = document.getElementsByClassName("swagger-ui-iframe");
484
+ for (var i = 0; i < iframes.length; i++) {
485
+ iframe_id_list.push(iframes[i].getAttribute("id"))
486
+ }
487
+
488
+ let ticking = true;
489
+
490
+ document.addEventListener('scroll', function(e) {
491
+ if (!ticking) {
492
+ window.requestAnimationFrame(()=> {
493
+ let half_vh = window.innerHeight/2;
494
+ for(var i = 0; i < iframe_id_list.length; i++) {
495
+ let element = document.getElementById(iframe_id_list[i])
496
+ if(element==null){
497
+ return
498
+ }
499
+ let diff = element.getBoundingClientRect().top
500
+ if(element.contentWindow.update_top_val){
501
+ element.contentWindow.update_top_val(half_vh - diff)
502
+ }
503
+ }
504
+ ticking = false;
505
+ });
506
+ ticking = true;
507
+ }
508
+ });
509
+
510
+ const dark_scheme_name = "slate"
511
+
512
+ window.scheme = document.body.getAttribute("data-md-color-scheme")
513
+ const options = {
514
+ attributeFilter: ['data-md-color-scheme'],
515
+ };
516
+ function color_scheme_callback(mutations) {
517
+ for (let mutation of mutations) {
518
+ if (mutation.attributeName === "data-md-color-scheme") {
519
+ scheme = document.body.getAttribute("data-md-color-scheme")
520
+ var iframe_list = document.getElementsByClassName("swagger-ui-iframe")
521
+ for(var i = 0; i < iframe_list.length; i++) {
522
+ var ele = iframe_list.item(i);
523
+ if (ele) {
524
+ if (scheme === dark_scheme_name) {
525
+ ele.contentWindow.enable_dark_mode();
526
+ } else {
527
+ ele.contentWindow.disable_dark_mode();
528
+ }
529
+ }
530
+ }
531
+ }
532
+ }
533
+ }
534
+ observer = new MutationObserver(color_scheme_callback);
535
+ observer.observe(document.body, options);
536
+ })</script></body>
537
+ </html>