|
132 | 132 | ] |
133 | 133 | }, |
134 | 134 | { |
135 | | - "name": "Cloud-Optimized GeoTiffs (COG)", |
| 135 | + "name": "Digital Elevation Model (DEM) Tiles", |
| 136 | + "components": [ |
| 137 | + { |
| 138 | + "field": "demtileurl", |
| 139 | + "name": "DEM Tile URL", |
| 140 | + "description": "A file path like URL but pointing to a Digital Elevation Map tileset generated by auxillary/1bto4b/rasterstotiles1bto4b.py This is responsible for 3D data in the globe. It would be ideal if this tileset can match the extents of its corresponding raster and has either no nodata or has nodata far lower than that of its lowest point.", |
| 141 | + "type": "text", |
| 142 | + "width": 10 |
| 143 | + }, |
| 144 | + { |
| 145 | + "field": "demparser", |
| 146 | + "name": "DEM Parser", |
| 147 | + "description": "", |
| 148 | + "type": "dropdown", |
| 149 | + "width": 2, |
| 150 | + "options": ["rgba", "tif"] |
| 151 | + } |
| 152 | + ] |
| 153 | + }, |
| 154 | + { |
| 155 | + "name": "Other", |
| 156 | + "components": [ |
| 157 | + { |
| 158 | + "field": "boundingBox", |
| 159 | + "name": "Bounding Box", |
| 160 | + "description": "minx,miny,maxx,maxy", |
| 161 | + "type": "textarray", |
| 162 | + "width": 12 |
| 163 | + } |
| 164 | + ] |
| 165 | + }, |
| 166 | + { |
| 167 | + "name": "Actions", |
| 168 | + "components": [ |
| 169 | + { |
| 170 | + "name": "Populate Fields From tilemapresource.xml or from cog/info", |
| 171 | + "description": "If the above URL is relative to the Missions/{mission} directory and the tileset contains a tilemapresource.xml within it, queries that xml and auto-fills the 'Minimum Zoom', 'Maximum Native Zoom' and 'Bounding Box' fields above. If it is a COG and TiTiler is true, the COG's data will be queried instead.", |
| 172 | + "type": "button", |
| 173 | + "action": "tile-populate-from-x", |
| 174 | + "width": 6 |
| 175 | + } |
| 176 | + ] |
| 177 | + } |
| 178 | + ] |
| 179 | + }, |
| 180 | + { |
| 181 | + "name": "COG", |
| 182 | + "rows": [ |
| 183 | + { |
| 184 | + "name": "TiTiler Configuration", |
136 | 185 | "components": [ |
137 | 186 | { |
138 | 187 | "field": "throughTileServer", |
|
171 | 220 | ] |
172 | 221 | }, |
173 | 222 | { |
| 223 | + "name": "Bands", |
174 | 224 | "components": [ |
175 | 225 | { |
176 | 226 | "field": "cogBands", |
177 | 227 | "name": "Tile Bands", |
178 | | - "description": "Which bands from the COG from which to generate tiles. Defaults to '1,2,3' as RGB or '1' if it's a Transformed 32-bit COG. Can be a single number or a comma-separated list of numbers. Order matters.", |
| 228 | + "description": "Which bands from the COG from which to generate tiles. Defaults to '1,2,3' as RGB or '1' if it's a Transformed Single Data Band COG. Can be a single number or a comma-separated list of numbers. Order matters.", |
179 | 229 | "type": "textarray", |
180 | 230 | "width": 4 |
181 | 231 | }, |
|
189 | 239 | ] |
190 | 240 | }, |
191 | 241 | { |
192 | | - "subname": "32-bit COGs", |
| 242 | + "subname": "Band Math Expression", |
| 243 | + "components": [ |
| 244 | + { |
| 245 | + "field": "cogExpression", |
| 246 | + "name": "Band Math Expression", |
| 247 | + "description": "TiTiler/rio-tiler band math expression. Uses standard math operators (+-/*) where asset_bX represents band X of an asset (e.g., 'asset_b1*2', '(asset_b1+asset_b2)/2'). For RGB output, use semicolons (e.g., 'asset_b1;asset_b2;asset_b3'). For multiple STAC assets, use different asset names (e.g., 'assetname1_b1 + assetname2_b1'). If you omit the asset prefix (e.g., 'b1'), it will automatically default to 'asset_b1'. When specified, this replaces the 'Tile Bands' parameter.", |
| 248 | + "type": "textnotrim", |
| 249 | + "width": 9 |
| 250 | + }, |
| 251 | + { |
| 252 | + "field": "cogExpressionEditable", |
| 253 | + "name": "Allow User Expression Editing", |
| 254 | + "description": "If true, users can modify the band math expression in the LayersTool settings panel.", |
| 255 | + "type": "switch", |
| 256 | + "width": 3, |
| 257 | + "defaultChecked": false |
| 258 | + } |
| 259 | + ] |
| 260 | + }, |
| 261 | + { |
| 262 | + "name": "Single Data Band COG Transformation", |
193 | 263 | "components": [ |
194 | 264 | { |
195 | 265 | "field": "cogTransform", |
196 | | - "name": "Transform 32-bit COG", |
197 | | - "description": "Enable rescaling and coloring 32-bit COGs on the fly. Will use TiTiler.", |
| 266 | + "name": "Transform Single Data Band COG", |
| 267 | + "description": "Enable rescaling and coloring Single Data Band COGs on the fly. Will use TiTiler.", |
198 | 268 | "type": "switch", |
199 | 269 | "width": 3, |
200 | 270 | "defaultChecked": false |
201 | 271 | }, |
202 | 272 | { |
203 | 273 | "field": "cogMin", |
204 | 274 | "name": "Minimum Pixel Data Value", |
205 | | - "description": "If using TiTiler, STAC and 32-bit COGs, the default minimum value for which to rescale.", |
| 275 | + "description": "If using TiTiler, STAC and Single Data Band COGs, the default minimum value for which to rescale.", |
206 | 276 | "type": "number", |
207 | 277 | "width": 2 |
208 | 278 | }, |
209 | 279 | { |
210 | 280 | "field": "cogMax", |
211 | 281 | "name": "Maximum Pixel Data Value", |
212 | | - "description": "If using TiTiler, STAC and 32-bit COGs, the default maximum value for which to rescale.", |
| 282 | + "description": "If using TiTiler, STAC and Single Data Band COGs, the default maximum value for which to rescale.", |
213 | 283 | "type": "number", |
214 | 284 | "width": 2 |
215 | 285 | }, |
|
229 | 299 | "options": "{{COLORMAP_NAMES}}" |
230 | 300 | } |
231 | 301 | ] |
232 | | - }, |
233 | | - { |
234 | | - "name": "Digital Elevation Model (DEM) Tiles", |
235 | | - "components": [ |
236 | | - { |
237 | | - "field": "demtileurl", |
238 | | - "name": "DEM Tile URL", |
239 | | - "description": "A file path like URL but pointing to a Digital Elevation Map tileset generated by auxillary/1bto4b/rasterstotiles1bto4b.py This is responsible for 3D data in the globe. It would be ideal if this tileset can match the extents of its corresponding raster and has either no nodata or has nodata far lower than that of its lowest point.", |
240 | | - "type": "text", |
241 | | - "width": 10 |
242 | | - }, |
243 | | - { |
244 | | - "field": "demparser", |
245 | | - "name": "DEM Parser", |
246 | | - "description": "", |
247 | | - "type": "dropdown", |
248 | | - "width": 2, |
249 | | - "options": ["rgba", "tif"] |
250 | | - } |
251 | | - ] |
252 | | - }, |
253 | | - { |
254 | | - "name": "Other", |
255 | | - "components": [ |
256 | | - { |
257 | | - "field": "boundingBox", |
258 | | - "name": "Bounding Box", |
259 | | - "description": "minx,miny,maxx,maxy", |
260 | | - "type": "textarray", |
261 | | - "width": 12 |
262 | | - } |
263 | | - ] |
264 | | - }, |
265 | | - { |
266 | | - "name": "Actions", |
267 | | - "components": [ |
268 | | - { |
269 | | - "name": "Populate Fields From tilemapresource.xml or from cog/info", |
270 | | - "description": "If the above URL is relative to the Missions/{mission} directory and the tileset contains a tilemapresource.xml within it, queries that xml and auto-fills the 'Minimum Zoom', 'Maximum Native Zoom' and 'Bounding Box' fields above. If it is a COG and TiTiler is true, the COG's data will be queried instead.", |
271 | | - "type": "button", |
272 | | - "action": "tile-populate-from-x", |
273 | | - "width": 6 |
274 | | - } |
275 | | - ] |
276 | 302 | } |
277 | 303 | ] |
278 | 304 | }, |
|
0 commit comments