@basemaps/landing 7.0.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 (142) hide show
  1. package/README.md +2 -2
  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 +88 -63
  74. package/dist/docs/assets/javascripts/{bundle.cd18aaf1.min.js → bundle.6c14ae12.min.js} +6 -6
  75. package/dist/docs/assets/javascripts/{bundle.cd18aaf1.min.js.map → bundle.6c14ae12.min.js.map} +3 -3
  76. package/dist/docs/assets/javascripts/swagger-initializer.js +20 -0
  77. package/dist/docs/assets/javascripts/swagger-ui-bundle.js +3 -0
  78. package/dist/docs/assets/javascripts/swagger-ui-bundle.js.map +1 -0
  79. package/dist/docs/assets/javascripts/swagger-ui-es-bundle-core.js +3 -0
  80. package/dist/docs/assets/javascripts/swagger-ui-es-bundle-core.js.map +1 -0
  81. package/dist/docs/assets/javascripts/swagger-ui-es-bundle.js +3 -0
  82. package/dist/docs/assets/javascripts/swagger-ui-es-bundle.js.map +1 -0
  83. package/dist/docs/assets/javascripts/swagger-ui-standalone-preset.js +3 -0
  84. package/dist/docs/assets/javascripts/swagger-ui-standalone-preset.js.map +1 -0
  85. package/dist/docs/assets/stylesheets/swagger-ui-dark.css +833 -0
  86. package/dist/docs/assets/stylesheets/swagger-ui.css +3 -0
  87. package/dist/docs/assets/stylesheets/swagger-ui.css.map +1 -0
  88. package/dist/docs/assets/stylesheets/swagger-ui.js +2 -0
  89. package/dist/docs/assets/stylesheets/swagger-ui.js.map +1 -0
  90. package/dist/docs/assets/swagger-ui/oauth2-redirect.html +79 -0
  91. package/dist/docs/configuration/index.html +397 -875
  92. package/dist/docs/deployment/index.html +354 -829
  93. package/dist/docs/developer-guide/index.html +343 -793
  94. package/dist/docs/examples/_overview/index.html +335 -792
  95. package/dist/docs/examples/leaflet.xyz.3857/index.html +371 -827
  96. package/dist/docs/examples/maplibre.opacity.3857/index.html +548 -1004
  97. package/dist/docs/examples/maplibre.vector.3857/index.html +378 -834
  98. package/dist/docs/index.html +442 -960
  99. package/dist/docs/operator-guide/cog-quality/index.html +455 -968
  100. package/dist/docs/operator-guide/empty-tiles/index.html +354 -831
  101. package/dist/docs/operator-guide/gebco/index.html +479 -0
  102. package/dist/docs/operator-guide/index.html +331 -777
  103. package/dist/docs/operator-guide/quick-start/index.html +445 -938
  104. package/dist/docs/operator-guide/relief-shade/index.html +377 -858
  105. package/dist/docs/operator-guide/texture-shade/index.html +438 -915
  106. package/dist/docs/quick-start/index.html +332 -785
  107. package/dist/docs/sitemap.xml +32 -17
  108. package/dist/docs/sitemap.xml.gz +0 -0
  109. package/dist/docs/user-guide/_get-started/index.html +602 -0
  110. package/dist/docs/user-guide/api-documentation/index.html +409 -0
  111. package/dist/docs/user-guide/api-documentation/swagger-c1884237.html +120 -0
  112. package/dist/docs/user-guide/swagger-api.json +393 -0
  113. package/dist/docs/user-guide/technical-documentation/index.html +930 -0
  114. package/package.json +17 -17
  115. package/CHANGELOG.md +0 -1393
  116. package/build/__tests__/config.debug.test.d.ts.map +0 -1
  117. package/build/__tests__/config.test.d.ts.map +0 -1
  118. package/build/__tests__/geojson.test.d.ts.map +0 -1
  119. package/build/__tests__/map.config.test.d.ts.map +0 -1
  120. package/build/__tests__/tile.matrix.test.d.ts.map +0 -1
  121. package/build/attribution.d.ts.map +0 -1
  122. package/build/components/copyable.d.ts.map +0 -1
  123. package/build/components/daterange.d.ts.map +0 -1
  124. package/build/components/debug.d.ts.map +0 -1
  125. package/build/components/layer.switcher.dropdown.d.ts.map +0 -1
  126. package/build/components/layout.footer.d.ts.map +0 -1
  127. package/build/components/layout.header.d.ts.map +0 -1
  128. package/build/components/link.d.ts.map +0 -1
  129. package/build/components/map.d.ts.map +0 -1
  130. package/build/components/map.switcher.d.ts.map +0 -1
  131. package/build/config.d.ts.map +0 -1
  132. package/build/config.debug.d.ts.map +0 -1
  133. package/build/config.layer.d.ts.map +0 -1
  134. package/build/config.map.d.ts.map +0 -1
  135. package/build/debug.map.d.ts.map +0 -1
  136. package/build/global.d.ts.map +0 -1
  137. package/build/index.d.ts.map +0 -1
  138. package/build/tile.matrix.d.ts.map +0 -1
  139. package/build/url.d.ts.map +0 -1
  140. package/build/webp.d.ts.map +0 -1
  141. package/dist/docs/search/search_index.json +0 -1
  142. package/dist/docs/user-guide/index.html +0 -856
@@ -0,0 +1,930 @@
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/user-guide/technical-documentation/" rel="canonical"/>
9
+ <link href="../api-documentation/" rel="prev"/>
10
+ <link href="../../assets/images/favicon.png" rel="icon"/>
11
+ <meta content="mkdocs-1.5.3, mkdocs-material-9.4.10" name="generator"/>
12
+ <title>Technical documentation and specifications - LINZ Basemaps</title>
13
+ <link href="../../assets/stylesheets/main.fad675c6.min.css" rel="stylesheet"/>
14
+ <link href="../../assets/stylesheets/palette.356b1318.min.css" rel="stylesheet"/>
15
+ <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
16
+ <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"/>
17
+ <style>:root{--md-text-font:"Open Sans";--md-code-font:"Open Sans Mono"}</style>
18
+ <link href="../../index.css" rel="stylesheet"/>
19
+ <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>
20
+ <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>
21
+ <script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
22
+ </head>
23
+ <body data-md-color-accent="indigo" data-md-color-primary="indigo" data-md-color-scheme="default" dir="ltr">
24
+ <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>
25
+ <input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
26
+ <input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
27
+ <label class="md-overlay" for="__drawer"></label>
28
+ <div data-md-component="skip">
29
+ <a class="md-skip" href="#technical-documentation-and-specifications">
30
+ Skip to content
31
+ </a>
32
+ </div>
33
+ <div data-md-component="announce">
34
+ </div>
35
+ <header class="md-header md-header--shadow" data-md-component="header">
36
+ <nav aria-label="Header" class="md-header__inner md-grid">
37
+ <a aria-label="LINZ Basemaps" class="md-header__button md-logo" data-md-component="logo" href="../.." title="LINZ Basemaps">
38
+ <img alt="logo" src="../../linz-motif.svg"/>
39
+ </a>
40
+ <label class="md-header__button md-icon" for="__drawer">
41
+ <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"></path></svg>
42
+ </label>
43
+ <div class="md-header__title" data-md-component="header-title">
44
+ <div class="md-header__ellipsis">
45
+ <div class="md-header__topic">
46
+ <span class="md-ellipsis">
47
+ LINZ Basemaps
48
+ </span>
49
+ </div>
50
+ <div class="md-header__topic" data-md-component="header-topic">
51
+ <span class="md-ellipsis">
52
+
53
+ Technical documentation and specifications
54
+
55
+ </span>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ <form class="md-header__option" data-md-component="palette">
60
+ <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"/>
61
+ <label class="md-header__button md-icon" for="__palette_2" hidden="" title="Switch to dark mode">
62
+ <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>
63
+ </label>
64
+ <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"/>
65
+ <label class="md-header__button md-icon" for="__palette_1" hidden="" title="Switch to light mode">
66
+ <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>
67
+ </label>
68
+ </form>
69
+ <div class="md-header__source">
70
+ <a class="md-source" data-md-component="source" href="https://github.com/linz/basemaps" title="Go to repository">
71
+ <div class="md-source__icon md-icon">
72
+ <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>
73
+ </div>
74
+ <div class="md-source__repository">
75
+ GitHub
76
+ </div>
77
+ </a>
78
+ </div>
79
+ </nav>
80
+ </header>
81
+ <div class="md-container" data-md-component="container">
82
+ <main class="md-main" data-md-component="main">
83
+ <div class="md-main__inner md-grid">
84
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation">
85
+ <div class="md-sidebar__scrollwrap">
86
+ <div class="md-sidebar__inner">
87
+ <nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
88
+ <label class="md-nav__title" for="__drawer">
89
+ <a aria-label="LINZ Basemaps" class="md-nav__button md-logo" data-md-component="logo" href="../.." title="LINZ Basemaps">
90
+ <img alt="logo" src="../../linz-motif.svg"/>
91
+ </a>
92
+ LINZ Basemaps
93
+ </label>
94
+ <div class="md-nav__source">
95
+ <a class="md-source" data-md-component="source" href="https://github.com/linz/basemaps" title="Go to repository">
96
+ <div class="md-source__icon md-icon">
97
+ <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>
98
+ </div>
99
+ <div class="md-source__repository">
100
+ GitHub
101
+ </div>
102
+ </a>
103
+ </div>
104
+ <ul class="md-nav__list" data-md-scrollfix="">
105
+ <li class="md-nav__item">
106
+ <a class="md-nav__link" href="../..">
107
+ <span class="md-ellipsis">
108
+ LINZ Basemaps
109
+ </span>
110
+ </a>
111
+ </li>
112
+ <li class="md-nav__item">
113
+ <a class="md-nav__link" href="../../configuration/">
114
+ <span class="md-ellipsis">
115
+ Configuration
116
+ </span>
117
+ </a>
118
+ </li>
119
+ <li class="md-nav__item">
120
+ <a class="md-nav__link" href="../../deployment/">
121
+ <span class="md-ellipsis">
122
+ Deployment
123
+ </span>
124
+ </a>
125
+ </li>
126
+ <li class="md-nav__item">
127
+ <a class="md-nav__link" href="../../quick-start/">
128
+ <span class="md-ellipsis">
129
+ Quick start guide
130
+ </span>
131
+ </a>
132
+ </li>
133
+ <li class="md-nav__item md-nav__item--nested">
134
+ <input class="md-nav__toggle md-toggle" id="__nav_5" type="checkbox"/>
135
+ <div class="md-nav__link md-nav__container">
136
+ <a class="md-nav__link" href="../../developer-guide/">
137
+ <span class="md-ellipsis">
138
+ Developer guide
139
+ </span>
140
+ </a>
141
+ </div>
142
+ <nav aria-expanded="false" aria-labelledby="__nav_5_label" class="md-nav" data-md-level="1">
143
+ <label class="md-nav__title" for="__nav_5">
144
+ <span class="md-nav__icon md-icon"></span>
145
+ Developer guide
146
+ </label>
147
+ <ul class="md-nav__list" data-md-scrollfix="">
148
+ </ul>
149
+ </nav>
150
+ </li>
151
+ <li class="md-nav__item md-nav__item--nested">
152
+ <input class="md-nav__toggle md-toggle" id="__nav_6" type="checkbox"/>
153
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
154
+ <span class="md-ellipsis">
155
+ Examples
156
+ </span>
157
+ <span class="md-nav__icon md-icon"></span>
158
+ </label>
159
+ <nav aria-expanded="false" aria-labelledby="__nav_6_label" class="md-nav" data-md-level="1">
160
+ <label class="md-nav__title" for="__nav_6">
161
+ <span class="md-nav__icon md-icon"></span>
162
+ Examples
163
+ </label>
164
+ <ul class="md-nav__list" data-md-scrollfix="">
165
+ <li class="md-nav__item">
166
+ <a class="md-nav__link" href="../../examples/_overview/">
167
+ <span class="md-ellipsis">
168
+ Overview
169
+ </span>
170
+ </a>
171
+ </li>
172
+ <li class="md-nav__item">
173
+ <a class="md-nav__link" href="../../examples/leaflet.xyz.3857/">
174
+ <span class="md-ellipsis">
175
+ Leaflet Raster Map
176
+ </span>
177
+ </a>
178
+ </li>
179
+ <li class="md-nav__item">
180
+ <a class="md-nav__link" href="../../examples/maplibre.opacity.3857/">
181
+ <span class="md-ellipsis">
182
+ Maplibre Opacity Slider
183
+ </span>
184
+ </a>
185
+ </li>
186
+ <li class="md-nav__item">
187
+ <a class="md-nav__link" href="../../examples/maplibre.vector.3857/">
188
+ <span class="md-ellipsis">
189
+ Maplibre Vector Map
190
+ </span>
191
+ </a>
192
+ </li>
193
+ </ul>
194
+ </nav>
195
+ </li>
196
+ <li class="md-nav__item md-nav__item--nested">
197
+ <input class="md-nav__toggle md-toggle" id="__nav_7" type="checkbox"/>
198
+ <div class="md-nav__link md-nav__container">
199
+ <a class="md-nav__link" href="../../operator-guide/">
200
+ <span class="md-ellipsis">
201
+ Operator guide
202
+ </span>
203
+ </a>
204
+ <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
205
+ <span class="md-nav__icon md-icon"></span>
206
+ </label>
207
+ </div>
208
+ <nav aria-expanded="false" aria-labelledby="__nav_7_label" class="md-nav" data-md-level="1">
209
+ <label class="md-nav__title" for="__nav_7">
210
+ <span class="md-nav__icon md-icon"></span>
211
+ Operator guide
212
+ </label>
213
+ <ul class="md-nav__list" data-md-scrollfix="">
214
+ <li class="md-nav__item">
215
+ <a class="md-nav__link" href="../../operator-guide/cog-quality/">
216
+ <span class="md-ellipsis">
217
+ COG Quality
218
+ </span>
219
+ </a>
220
+ </li>
221
+ <li class="md-nav__item">
222
+ <a class="md-nav__link" href="../../operator-guide/empty-tiles/">
223
+ <span class="md-ellipsis">
224
+ Sparse Datasets and empty tiles
225
+ </span>
226
+ </a>
227
+ </li>
228
+ <li class="md-nav__item">
229
+ <a class="md-nav__link" href="../../operator-guide/gebco/">
230
+ <span class="md-ellipsis">
231
+ Gebco re-project to NZTM2000Quad cog file
232
+ </span>
233
+ </a>
234
+ </li>
235
+ <li class="md-nav__item">
236
+ <a class="md-nav__link" href="../../operator-guide/quick-start/">
237
+ <span class="md-ellipsis">
238
+ Running LINZ Basemaps - Quick Start
239
+ </span>
240
+ </a>
241
+ </li>
242
+ <li class="md-nav__item">
243
+ <a class="md-nav__link" href="../../operator-guide/relief-shade/">
244
+ <span class="md-ellipsis">
245
+ Relief shade
246
+ </span>
247
+ </a>
248
+ </li>
249
+ <li class="md-nav__item">
250
+ <a class="md-nav__link" href="../../operator-guide/texture-shade/">
251
+ <span class="md-ellipsis">
252
+ Texture shading
253
+ </span>
254
+ </a>
255
+ </li>
256
+ </ul>
257
+ </nav>
258
+ </li>
259
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
260
+ <input checked="" class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
261
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
262
+ <span class="md-ellipsis">
263
+ User guide
264
+ </span>
265
+ <span class="md-nav__icon md-icon"></span>
266
+ </label>
267
+ <nav aria-expanded="true" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
268
+ <label class="md-nav__title" for="__nav_8">
269
+ <span class="md-nav__icon md-icon"></span>
270
+ User guide
271
+ </label>
272
+ <ul class="md-nav__list" data-md-scrollfix="">
273
+ <li class="md-nav__item">
274
+ <a class="md-nav__link" href="../_get-started/">
275
+ <span class="md-ellipsis">
276
+ Get started with LINZ Basemaps
277
+ </span>
278
+ </a>
279
+ </li>
280
+ <li class="md-nav__item">
281
+ <a class="md-nav__link" href="../api-documentation/">
282
+ <span class="md-ellipsis">
283
+ API documentation
284
+ </span>
285
+ </a>
286
+ </li>
287
+ <li class="md-nav__item md-nav__item--active">
288
+ <input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
289
+ <label class="md-nav__link md-nav__link--active" for="__toc">
290
+ <span class="md-ellipsis">
291
+ Technical documentation and specifications
292
+ </span>
293
+ <span class="md-nav__icon md-icon"></span>
294
+ </label>
295
+ <a class="md-nav__link md-nav__link--active" href="./">
296
+ <span class="md-ellipsis">
297
+ Technical documentation and specifications
298
+ </span>
299
+ </a>
300
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
301
+ <label class="md-nav__title" for="__toc">
302
+ <span class="md-nav__icon md-icon"></span>
303
+ Table of contents
304
+ </label>
305
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
306
+ <li class="md-nav__item">
307
+ <a class="md-nav__link" href="#technical-specifications">
308
+ <span class="md-ellipsis">
309
+ Technical specifications
310
+ </span>
311
+ </a>
312
+ <nav aria-label="Technical specifications" class="md-nav">
313
+ <ul class="md-nav__list">
314
+ <li class="md-nav__item">
315
+ <a class="md-nav__link" href="#linz-aerial-basemap">
316
+ <span class="md-ellipsis">
317
+ LINZ Aerial Basemap
318
+ </span>
319
+ </a>
320
+ </li>
321
+ <li class="md-nav__item">
322
+ <a class="md-nav__link" href="#linz-topographic-basemap">
323
+ <span class="md-ellipsis">
324
+ LINZ Topographic Basemap
325
+ </span>
326
+ </a>
327
+ </li>
328
+ </ul>
329
+ </nav>
330
+ </li>
331
+ <li class="md-nav__item">
332
+ <a class="md-nav__link" href="#api-access-levels">
333
+ <span class="md-ellipsis">
334
+ API access levels
335
+ </span>
336
+ </a>
337
+ </li>
338
+ <li class="md-nav__item">
339
+ <a class="md-nav__link" href="#protocols">
340
+ <span class="md-ellipsis">
341
+ Protocols
342
+ </span>
343
+ </a>
344
+ <nav aria-label="Protocols" class="md-nav">
345
+ <ul class="md-nav__list">
346
+ <li class="md-nav__item">
347
+ <a class="md-nav__link" href="#linz-aerial-basemaps">
348
+ <span class="md-ellipsis">
349
+ LINZ Aerial Basemaps
350
+ </span>
351
+ </a>
352
+ </li>
353
+ <li class="md-nav__item">
354
+ <a class="md-nav__link" href="#linz-topographic-basemaps">
355
+ <span class="md-ellipsis">
356
+ LINZ Topographic Basemaps
357
+ </span>
358
+ </a>
359
+ </li>
360
+ </ul>
361
+ </nav>
362
+ </li>
363
+ <li class="md-nav__item">
364
+ <a class="md-nav__link" href="#tile-matrix-sets">
365
+ <span class="md-ellipsis">
366
+ Tile matrix sets
367
+ </span>
368
+ </a>
369
+ <nav aria-label="Tile matrix sets" class="md-nav">
370
+ <ul class="md-nav__list">
371
+ <li class="md-nav__item">
372
+ <a class="md-nav__link" href="#wgs84-web-mercator-quad-epsg3857">
373
+ <span class="md-ellipsis">
374
+ WGS84 Web Mercator Quad (EPSG:3857)
375
+ </span>
376
+ </a>
377
+ </li>
378
+ <li class="md-nav__item">
379
+ <a class="md-nav__link" href="#nztm2000-quad-epsg2193">
380
+ <span class="md-ellipsis">
381
+ NZTM2000 Quad (EPSG:2193)
382
+ </span>
383
+ </a>
384
+ </li>
385
+ </ul>
386
+ </nav>
387
+ </li>
388
+ <li class="md-nav__item">
389
+ <a class="md-nav__link" href="#rate-limits">
390
+ <span class="md-ellipsis">
391
+ Rate limits
392
+ </span>
393
+ </a>
394
+ </li>
395
+ <li class="md-nav__item">
396
+ <a class="md-nav__link" href="#rate-limiting">
397
+ <span class="md-ellipsis">
398
+ Rate limiting
399
+ </span>
400
+ </a>
401
+ <nav aria-label="Rate limiting" class="md-nav">
402
+ <ul class="md-nav__list">
403
+ <li class="md-nav__item">
404
+ <a class="md-nav__link" href="#per-user-api-key-and-ip">
405
+ <span class="md-ellipsis">
406
+ Per user - API key and IP
407
+ </span>
408
+ </a>
409
+ </li>
410
+ <li class="md-nav__item">
411
+ <a class="md-nav__link" href="#abuse-or-persistent-overuse-of-our-apis">
412
+ <span class="md-ellipsis">
413
+ Abuse or persistent overuse of our APIs
414
+ </span>
415
+ </a>
416
+ </li>
417
+ <li class="md-nav__item">
418
+ <a class="md-nav__link" href="#api-key-expiration">
419
+ <span class="md-ellipsis">
420
+ API key expiration
421
+ </span>
422
+ </a>
423
+ </li>
424
+ </ul>
425
+ </nav>
426
+ </li>
427
+ <li class="md-nav__item">
428
+ <a class="md-nav__link" href="#response-codes">
429
+ <span class="md-ellipsis">
430
+ Response codes
431
+ </span>
432
+ </a>
433
+ </li>
434
+ <li class="md-nav__item">
435
+ <a class="md-nav__link" href="#authentication">
436
+ <span class="md-ellipsis">
437
+ Authentication
438
+ </span>
439
+ </a>
440
+ </li>
441
+ <li class="md-nav__item">
442
+ <a class="md-nav__link" href="#aerial-imagery-output-format">
443
+ <span class="md-ellipsis">
444
+ Aerial Imagery output format
445
+ </span>
446
+ </a>
447
+ </li>
448
+ <li class="md-nav__item">
449
+ <a class="md-nav__link" href="#data-attribution">
450
+ <span class="md-ellipsis">
451
+ Data attribution
452
+ </span>
453
+ </a>
454
+ </li>
455
+ <li class="md-nav__item">
456
+ <a class="md-nav__link" href="#security">
457
+ <span class="md-ellipsis">
458
+ Security
459
+ </span>
460
+ </a>
461
+ </li>
462
+ <li class="md-nav__item">
463
+ <a class="md-nav__link" href="#build-your-own-linz-basemap">
464
+ <span class="md-ellipsis">
465
+ Build your own LINZ Basemap
466
+ </span>
467
+ </a>
468
+ </li>
469
+ </ul>
470
+ </nav>
471
+ </li>
472
+ </ul>
473
+ </nav>
474
+ </li>
475
+ </ul>
476
+ </nav>
477
+ </div>
478
+ </div>
479
+ </div>
480
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
481
+ <div class="md-sidebar__scrollwrap">
482
+ <div class="md-sidebar__inner">
483
+ <nav aria-label="Table of contents" class="md-nav md-nav--secondary">
484
+ <label class="md-nav__title" for="__toc">
485
+ <span class="md-nav__icon md-icon"></span>
486
+ Table of contents
487
+ </label>
488
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
489
+ <li class="md-nav__item">
490
+ <a class="md-nav__link" href="#technical-specifications">
491
+ <span class="md-ellipsis">
492
+ Technical specifications
493
+ </span>
494
+ </a>
495
+ <nav aria-label="Technical specifications" class="md-nav">
496
+ <ul class="md-nav__list">
497
+ <li class="md-nav__item">
498
+ <a class="md-nav__link" href="#linz-aerial-basemap">
499
+ <span class="md-ellipsis">
500
+ LINZ Aerial Basemap
501
+ </span>
502
+ </a>
503
+ </li>
504
+ <li class="md-nav__item">
505
+ <a class="md-nav__link" href="#linz-topographic-basemap">
506
+ <span class="md-ellipsis">
507
+ LINZ Topographic Basemap
508
+ </span>
509
+ </a>
510
+ </li>
511
+ </ul>
512
+ </nav>
513
+ </li>
514
+ <li class="md-nav__item">
515
+ <a class="md-nav__link" href="#api-access-levels">
516
+ <span class="md-ellipsis">
517
+ API access levels
518
+ </span>
519
+ </a>
520
+ </li>
521
+ <li class="md-nav__item">
522
+ <a class="md-nav__link" href="#protocols">
523
+ <span class="md-ellipsis">
524
+ Protocols
525
+ </span>
526
+ </a>
527
+ <nav aria-label="Protocols" class="md-nav">
528
+ <ul class="md-nav__list">
529
+ <li class="md-nav__item">
530
+ <a class="md-nav__link" href="#linz-aerial-basemaps">
531
+ <span class="md-ellipsis">
532
+ LINZ Aerial Basemaps
533
+ </span>
534
+ </a>
535
+ </li>
536
+ <li class="md-nav__item">
537
+ <a class="md-nav__link" href="#linz-topographic-basemaps">
538
+ <span class="md-ellipsis">
539
+ LINZ Topographic Basemaps
540
+ </span>
541
+ </a>
542
+ </li>
543
+ </ul>
544
+ </nav>
545
+ </li>
546
+ <li class="md-nav__item">
547
+ <a class="md-nav__link" href="#tile-matrix-sets">
548
+ <span class="md-ellipsis">
549
+ Tile matrix sets
550
+ </span>
551
+ </a>
552
+ <nav aria-label="Tile matrix sets" class="md-nav">
553
+ <ul class="md-nav__list">
554
+ <li class="md-nav__item">
555
+ <a class="md-nav__link" href="#wgs84-web-mercator-quad-epsg3857">
556
+ <span class="md-ellipsis">
557
+ WGS84 Web Mercator Quad (EPSG:3857)
558
+ </span>
559
+ </a>
560
+ </li>
561
+ <li class="md-nav__item">
562
+ <a class="md-nav__link" href="#nztm2000-quad-epsg2193">
563
+ <span class="md-ellipsis">
564
+ NZTM2000 Quad (EPSG:2193)
565
+ </span>
566
+ </a>
567
+ </li>
568
+ </ul>
569
+ </nav>
570
+ </li>
571
+ <li class="md-nav__item">
572
+ <a class="md-nav__link" href="#rate-limits">
573
+ <span class="md-ellipsis">
574
+ Rate limits
575
+ </span>
576
+ </a>
577
+ </li>
578
+ <li class="md-nav__item">
579
+ <a class="md-nav__link" href="#rate-limiting">
580
+ <span class="md-ellipsis">
581
+ Rate limiting
582
+ </span>
583
+ </a>
584
+ <nav aria-label="Rate limiting" class="md-nav">
585
+ <ul class="md-nav__list">
586
+ <li class="md-nav__item">
587
+ <a class="md-nav__link" href="#per-user-api-key-and-ip">
588
+ <span class="md-ellipsis">
589
+ Per user - API key and IP
590
+ </span>
591
+ </a>
592
+ </li>
593
+ <li class="md-nav__item">
594
+ <a class="md-nav__link" href="#abuse-or-persistent-overuse-of-our-apis">
595
+ <span class="md-ellipsis">
596
+ Abuse or persistent overuse of our APIs
597
+ </span>
598
+ </a>
599
+ </li>
600
+ <li class="md-nav__item">
601
+ <a class="md-nav__link" href="#api-key-expiration">
602
+ <span class="md-ellipsis">
603
+ API key expiration
604
+ </span>
605
+ </a>
606
+ </li>
607
+ </ul>
608
+ </nav>
609
+ </li>
610
+ <li class="md-nav__item">
611
+ <a class="md-nav__link" href="#response-codes">
612
+ <span class="md-ellipsis">
613
+ Response codes
614
+ </span>
615
+ </a>
616
+ </li>
617
+ <li class="md-nav__item">
618
+ <a class="md-nav__link" href="#authentication">
619
+ <span class="md-ellipsis">
620
+ Authentication
621
+ </span>
622
+ </a>
623
+ </li>
624
+ <li class="md-nav__item">
625
+ <a class="md-nav__link" href="#aerial-imagery-output-format">
626
+ <span class="md-ellipsis">
627
+ Aerial Imagery output format
628
+ </span>
629
+ </a>
630
+ </li>
631
+ <li class="md-nav__item">
632
+ <a class="md-nav__link" href="#data-attribution">
633
+ <span class="md-ellipsis">
634
+ Data attribution
635
+ </span>
636
+ </a>
637
+ </li>
638
+ <li class="md-nav__item">
639
+ <a class="md-nav__link" href="#security">
640
+ <span class="md-ellipsis">
641
+ Security
642
+ </span>
643
+ </a>
644
+ </li>
645
+ <li class="md-nav__item">
646
+ <a class="md-nav__link" href="#build-your-own-linz-basemap">
647
+ <span class="md-ellipsis">
648
+ Build your own LINZ Basemap
649
+ </span>
650
+ </a>
651
+ </li>
652
+ </ul>
653
+ </nav>
654
+ </div>
655
+ </div>
656
+ </div>
657
+ <div class="md-content" data-md-component="content">
658
+ <article class="md-content__inner md-typeset">
659
+ <h1 id="technical-documentation-and-specifications">Technical documentation and specifications</h1>
660
+ <p>This page provides technical documentation and specifications to help you start building with LINZ Basemaps APIs.</p>
661
+ <h2 id="technical-specifications">Technical specifications</h2>
662
+ <h3 id="linz-aerial-basemap">LINZ Aerial Basemap</h3>
663
+ <p>At a platform level, the LINZ Basemaps APIs supports:</p>
664
+ <table>
665
+ <thead>
666
+ <tr>
667
+ <th></th>
668
+ <th></th>
669
+ </tr>
670
+ </thead>
671
+ <tbody>
672
+ <tr>
673
+ <td><strong>Protocols</strong></td>
674
+ <td>WMTS and XYZ</td>
675
+ </tr>
676
+ <tr>
677
+ <td><strong>Output tiling scheme</strong></td>
678
+ <td>NZTM2000 and Web Mercator</td>
679
+ </tr>
680
+ <tr>
681
+ <td><strong>Zoom levels</strong></td>
682
+ <td>NZTM 0 - 17 and Web Mercator 0 - 22</td>
683
+ </tr>
684
+ <tr>
685
+ <td><strong>Output formats</strong></td>
686
+ <td>WebP, Jpeg, PNG, or Avif</td>
687
+ </tr>
688
+ <tr>
689
+ <td><strong>Applications</strong></td>
690
+ <td>GIS (e.g QGIS, ArcGIS), CAD and Javascript web or mobile apps</td>
691
+ </tr>
692
+ </tbody>
693
+ </table>
694
+ <h3 id="linz-topographic-basemap">LINZ Topographic Basemap</h3>
695
+ <p>At a platform level, the LINZ Basemaps APIs supports:</p>
696
+ <table>
697
+ <thead>
698
+ <tr>
699
+ <th></th>
700
+ <th></th>
701
+ </tr>
702
+ </thead>
703
+ <tbody>
704
+ <tr>
705
+ <td><strong>Protocols</strong></td>
706
+ <td>Mapbox Vector Tiles (Protocol Buffers)</td>
707
+ </tr>
708
+ <tr>
709
+ <td><strong>Output tiling scheme</strong></td>
710
+ <td>Web Mercator</td>
711
+ </tr>
712
+ <tr>
713
+ <td><strong>Zoom levels</strong></td>
714
+ <td>Web Mercator 0 – 15</td>
715
+ </tr>
716
+ <tr>
717
+ <td><strong>Output formats</strong></td>
718
+ <td>PBF</td>
719
+ </tr>
720
+ <tr>
721
+ <td><strong>Applications</strong></td>
722
+ <td>GIS (QGIS) Javascript web or mobile apps</td>
723
+ </tr>
724
+ </tbody>
725
+ </table>
726
+ <h2 id="api-access-levels">API access levels</h2>
727
+ <p>There is no charge for either access level.</p>
728
+ <table>
729
+ <thead>
730
+ <tr>
731
+ <th></th>
732
+ <th></th>
733
+ </tr>
734
+ </thead>
735
+ <tbody>
736
+ <tr>
737
+ <td><strong>Standard access</strong></td>
738
+ <td>This is the default access level for customers. LINZ Basemap APIs at this level do not require registration. A dynamic API key is allocated to you. Standard access allows customers to execute up to 1,000 tile requests per minute and 1,000,000 requests per month. This access type is designed for use of our APIs in internal GIS applications or web mapping tools. Standard API keys need to be renewed after 90 days.</td>
739
+ </tr>
740
+ <tr>
741
+ <td><strong>Developer access</strong></td>
742
+ <td>This access level provides unlimited tile requests to developers to support integration of our APIs in public, high-volume web and mobile apps. Static API keys are issued to restrict use by others. Developers can request this access level by contacting us.</td>
743
+ </tr>
744
+ </tbody>
745
+ </table>
746
+ <h2 id="protocols">Protocols</h2>
747
+ <h3 id="linz-aerial-basemaps">LINZ Aerial Basemaps</h3>
748
+ <p>This API works with any client that supports either the XYZ or WMTS protocol - where XYZ is most commonly used in JavaScript clients, and WMTS (version 1.0.0) in GIS apps like QGIS or ArcGIS or modern CAD tools.</p>
749
+ <h3 id="linz-topographic-basemaps">LINZ Topographic Basemaps</h3>
750
+ <p>This API works with any client that supports <a href="https://github.com/mapbox/tilejson-spec">TileJSON</a> and <a href="https://docs.mapbox.com/mapbox-gl-js/style-spec/">StyleJSON</a> such as GIS Applications (QGIS) or JavaScript clients.</p>
751
+ <h2 id="tile-matrix-sets">Tile matrix sets</h2>
752
+ <p>LINZ Basemap APIs are provided in two output tiling schemes - WGS84 Web Mercator Quad (EPSG:3857) and NZTM2000 Quad (ESPG:2193). Each has its own tile matrix set that describes the zoom levels, scale and resolution for the images that are returned.</p>
753
+ <p><strong>LINZ Topographic Basemap is only supported in WGS84 Web Mercator Quad (EPSG:3857)</strong></p>
754
+ <h3 id="wgs84-web-mercator-quad-epsg3857">WGS84 Web Mercator Quad (EPSG:3857)</h3>
755
+ <p>This tile set is most suitable for web mapping applications that have worldwide coverage or need to interact with third party tile services such as Google Maps or OSM map tiles without the need for re-projection or scaling.</p>
756
+ <p><a href="https://docs.ogc.org/is/17-083r2/17-083r2.html#62">Web Mercator Quad tile matrix set definition</a></p>
757
+ <h3 id="nztm2000-quad-epsg2193">NZTM2000 Quad (EPSG:2193)</h3>
758
+ <p>This tile set presents New Zealand at its finest. It is most useful for New Zealand geospatial professionals and can be used for desktop GIS mapping. It is also recommended for New Zealand mainland web applications when area and distances need to be well represented on the map.</p>
759
+ <p><a href="https://github.com/linz/NZTM2000TileMatrixSet/">NZTM2000 Quad tile matrix set definition</a></p>
760
+ <h2 id="rate-limits">Rate limits</h2>
761
+ <p>Rate limits apply to Standard API access only, not Developer API access.</p>
762
+ <p>Rate liming applies to all API clients, at the API token and IP address level.</p>
763
+ <table>
764
+ <thead>
765
+ <tr>
766
+ <th>Access level</th>
767
+ <th>Request limit per minute</th>
768
+ <th>Request limit per month</th>
769
+ <th>API key nominated site restriction</th>
770
+ </tr>
771
+ </thead>
772
+ <tbody>
773
+ <tr>
774
+ <td>Standard access</td>
775
+ <td>1,000 requests / minute</td>
776
+ <td>1,000,000 / month</td>
777
+ <td>No</td>
778
+ </tr>
779
+ <tr>
780
+ <td>Developer access</td>
781
+ <td>Unlimited* / minute</td>
782
+ <td>Unlimited* / month</td>
783
+ <td>Yes</td>
784
+ </tr>
785
+ </tbody>
786
+ </table>
787
+ <h2 id="rate-limiting">Rate limiting</h2>
788
+ <h3 id="per-user-api-key-and-ip">Per user - API key and IP</h3>
789
+ <p>Rate limiting of a Standard access API is on a per user basis</p>
790
+ <p>Our rate limits are applied at a per-minute and per-month basis. Exceeding your access level's number requests per minute will result in an HTTP 429 Too Many Requests response.</p>
791
+ <h3 id="abuse-or-persistent-overuse-of-our-apis">Abuse or persistent overuse of our APIs</h3>
792
+ <p>Monitoring of our APIs will help us understand usage and track any persistent breaking of the limits. The Terms of Use for LINZ Basemaps allows us to revoke access where customers overuse or abuse our APIs.</p>
793
+ <h3 id="api-key-expiration">API key expiration</h3>
794
+ <p>Standard API keys expire after 90 days. Our app will automatically generate a new key for you. Visit our app at https://basemaps.linz.govt.nz after 90 days to grab your new key.</p>
795
+ <p>Developer keys do not expire.</p>
796
+ <h2 id="response-codes">Response codes</h2>
797
+ <table>
798
+ <thead>
799
+ <tr>
800
+ <th>Code</th>
801
+ <th>Text</th>
802
+ <th>Description</th>
803
+ </tr>
804
+ </thead>
805
+ <tbody>
806
+ <tr>
807
+ <td>429</td>
808
+ <td>Too many requests</td>
809
+ <td>Your API key has had too many requests. Contact us to request a limit increase</td>
810
+ </tr>
811
+ <tr>
812
+ <td>404</td>
813
+ <td>No tile information found</td>
814
+ <td>The server could not find what was requested</td>
815
+ </tr>
816
+ <tr>
817
+ <td>400</td>
818
+ <td>Invalid API key</td>
819
+ <td>Your API key has expired. Grab a new API key from https://basemaps.linz.govt.nz (applies to standard access only)</td>
820
+ </tr>
821
+ </tbody>
822
+ </table>
823
+ <h2 id="authentication">Authentication</h2>
824
+ <p>Authentication is managed via API key for Developer level access. Developers do not need to authenticate separately to use our APIs, as the platform knows you’re a registered user from your API key.</p>
825
+ <h2 id="aerial-imagery-output-format">Aerial Imagery output format</h2>
826
+ <p>You can request raster tiles in WebP, PNG, JPEG, or Avif format.</p>
827
+ <p>Our recommended output format is WebP as it allows the quality of images to be maintained with relatively small file sizes and supports an alpha channel for transparency. This is also the default format in the XYZ URL you can copy from https://basemaps.linz.govt.nz</p>
828
+ <p>If WebP is not supported by your browser or application, we would suggest JPEG, then PNG.</p>
829
+ <h2 id="data-attribution">Data attribution</h2>
830
+ <p>LINZ Basemaps use open data, licensed for reuse under the Creative Commons 4.0 International licence. Each LINZ Basemap product is made up of a variety of open data sources.</p>
831
+ <p>Your product must always visibly show attribution and link to the LINZ Basemap custom attribution data and copyright text. See our data attribution page for full details.</p>
832
+ <p><a href="https://www.linz.govt.nz/products-services/data/licensing-and-using-data/attributing-linz-basemaps-data">Data attribution</a></p>
833
+ <h2 id="security">Security</h2>
834
+ <p>Follow best and common-sense practices in the management of your API key. All use of your API key is your responsibility, whether authorised or not. If you suspect misuse by another user, we can disable an API key at any time.</p>
835
+ <p>Developer level access enables the allocation of static API keys which we can restrict to your nominated website.</p>
836
+ <h2 id="build-your-own-linz-basemap">Build your own LINZ Basemap</h2>
837
+ <p>If you provide business critical or high-volume services that require higher rate limits, LINZ Basemaps are available as an open source project for you to deploy into your own infrastructure. Visit our GitHub site or contact Basemaps support for more information.</p>
838
+ </article>
839
+ </div>
840
+ </div>
841
+ </main>
842
+ <footer class="md-footer">
843
+ <div class="md-footer-meta md-typeset">
844
+ <div class="md-footer-meta__inner md-grid">
845
+ <div class="md-copyright">
846
+ <div class="md-copyright__highlight">
847
+ <a href="https://www.linz.govt.nz/copyright">© CC BY 4.0 LINZ</a>
848
+ </div>
849
+
850
+
851
+ Made with
852
+ <a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank">
853
+ Material for MkDocs
854
+ </a>
855
+ </div>
856
+ </div>
857
+ </div>
858
+ </footer>
859
+ </div>
860
+ <div class="md-dialog" data-md-component="dialog">
861
+ <div class="md-dialog__inner md-typeset"></div>
862
+ </div>
863
+ <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>
864
+ <script src="../../assets/javascripts/bundle.6c14ae12.min.js"></script>
865
+ <script>document$.subscribe(() => {
866
+ window.update_swagger_ui_iframe_height = function (id) {
867
+ var iFrameID = document.getElementById(id);
868
+ if (iFrameID) {
869
+ full_height = (iFrameID.contentWindow.document.body.scrollHeight + 80) + "px";
870
+ iFrameID.height = full_height;
871
+ iFrameID.style.height = full_height;
872
+ }
873
+ }
874
+
875
+ let iframe_id_list = []
876
+ var iframes = document.getElementsByClassName("swagger-ui-iframe");
877
+ for (var i = 0; i < iframes.length; i++) {
878
+ iframe_id_list.push(iframes[i].getAttribute("id"))
879
+ }
880
+
881
+ let ticking = true;
882
+
883
+ document.addEventListener('scroll', function(e) {
884
+ if (!ticking) {
885
+ window.requestAnimationFrame(()=> {
886
+ let half_vh = window.innerHeight/2;
887
+ for(var i = 0; i < iframe_id_list.length; i++) {
888
+ let element = document.getElementById(iframe_id_list[i])
889
+ if(element==null){
890
+ return
891
+ }
892
+ let diff = element.getBoundingClientRect().top
893
+ if(element.contentWindow.update_top_val){
894
+ element.contentWindow.update_top_val(half_vh - diff)
895
+ }
896
+ }
897
+ ticking = false;
898
+ });
899
+ ticking = true;
900
+ }
901
+ });
902
+
903
+ const dark_scheme_name = "slate"
904
+
905
+ window.scheme = document.body.getAttribute("data-md-color-scheme")
906
+ const options = {
907
+ attributeFilter: ['data-md-color-scheme'],
908
+ };
909
+ function color_scheme_callback(mutations) {
910
+ for (let mutation of mutations) {
911
+ if (mutation.attributeName === "data-md-color-scheme") {
912
+ scheme = document.body.getAttribute("data-md-color-scheme")
913
+ var iframe_list = document.getElementsByClassName("swagger-ui-iframe")
914
+ for(var i = 0; i < iframe_list.length; i++) {
915
+ var ele = iframe_list.item(i);
916
+ if (ele) {
917
+ if (scheme === dark_scheme_name) {
918
+ ele.contentWindow.enable_dark_mode();
919
+ } else {
920
+ ele.contentWindow.disable_dark_mode();
921
+ }
922
+ }
923
+ }
924
+ }
925
+ }
926
+ }
927
+ observer = new MutationObserver(color_scheme_callback);
928
+ observer.observe(document.body, options);
929
+ })</script></body>
930
+ </html>