* add terrain preview and elevation link
* add elevation api for terrain tiles
* add documentation for elevation api
* applied lint:js:fix
* Add `test-docker` for test execution in docker build environment
* Fix too greedy router expression
* Add pmtile support
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
* add encoding param to pmtile section
* add map controls
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
* remove not needed check
* fix possible float usage in thumbnail url
* update readme for encoding option
* add better link name
---------
Co-authored-by: Miko <miko@none>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
* feat: use `@jsse/pbfont` instead of `@mapbox/glyph-pbf-composite`
Signed-off-by: prashis <prashis.meshram@hotmail.com>
* refactor: use named import for `@jsse/pbfont`
Signed-off-by: prashis <prashis.meshram@hotmail.com>
---------
Signed-off-by: prashis <prashis.meshram@hotmail.com>
* fix: allow sprite array in styles
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: add 'sprite/' to generated path
So it doesn't conflict with style json url
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: allow old sprite endpoints to work
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: add multi-sprite name to endpoint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: duplicate styleJSON.sprite
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: try to fix some codeql errors
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: try to fix some codeql errors
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: try to fix some codeql errors
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: try to fix some codeql errors
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: try to fix some codeql errors
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: ci sprite issue
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: remove console.log's
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: use sprite id instead of name
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: add suggestions
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: remove unneeded array check
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: don't force multi-sprites in style
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: move fixUrl and allowedOptions to utils
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: add test for default sprite
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: acalcutt <acalcutt@techidiots.net>
---------
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Signed-off-by: acalcutt <acalcutt@techidiots.net>
* test: using 512px rendered tiles
Based on https://github.com/maptiler/tileserver-gl/pull/495
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: use static renderer at zoom 0
renderer is not able to change the size of tile to more than 512px in tile mode
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* Add support for 512 sized raster tiles (#1)
* Enable setting tilesize for raster tiles
* Serve correct endpoint for raster tiles
* Add 256 & 512 sized raster layers to wmts getCapabilities document
* Update wmts getCapabilities tileMatrixSets
* Add rendered tiles format for getTileUrls method
* Update endpoints documentation
* Add and fix tiles_rendered tests
* fix: formatting
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: corrent bad merge
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: if tile size is undefined don't add it
needed for data endpoint right now
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: set tile size in raster endpoints to 512
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: add semicolon
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: test z1 512px file that actually exists
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: make tileSize optional
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: cleaner if statement
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: update tileSize to show as optional
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: allow tile size in data url
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: remove unneeded tileSize
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: set data as 256 tileSize for consistency
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: add note about optional data tileSize
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* Revert "fix: remove unneeded tileSize"
This reverts commit a4583161bf53653d65a4606c407ba9b5249d1061.
* fix: allow tile size to be set at json endpoints
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: set default endpoint tilesizes
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: don't use tilesize one data endpoint
It doesn't do anything
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: default style endpoint to undefined
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: zoom 0 workaround
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* Revert "fix: zoom 0 workaround"
This reverts commit 0f3bbd765c9c151016cec66768675f990676c8b3.
* fix: limit min zoom to 1 in viewer
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: put back orig string
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* docs: add optional tilesize to TileJSON
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: cleanup thumbnails
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: default undefined like other data endpoints
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: move data xyz_link
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: remove console.log
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* chore: update version
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: update path
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: join error
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: revert path change
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
---------
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: Petteri Pesonen <teemu.p.pesonen@gmail.com>
Promise code never worked: listFonts did not wait for fs.stat() to resolve().
This was not evident because late results were still used.
A recent PR made it worse: late results are now ignored.
This manifested for styles with missing fonts, no fallback could be used.
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: make sure error exit codes of tests are returned
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: replace the last 'var' with 'const'
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: extract duplicated font listing
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: extract rendering functions to a new file
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: move nested respondImage() function to top level
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: simplify respondImage() args
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
* chore: fix typo in rendeAttribution
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
---------
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
Adds pmtiles support to TileServer-GL
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Signed-off-by: Michael Nutt <michael@nuttnet.net>
Co-authored-by: Michael Nutt <michael@nuttnet.net>
* Handle SIGTERM
Resolve#781
* Add `Caught signal ...` messages
Container log when sending a `SIGHUP` signal and then a `SIGTERM` signal using
`docker kill --signal ...` :
```
Starting tileserver-gl v4.4.8
[INFO] Automatically creating config file for zurich_switzerland.mbtiles
[INFO] Only a basic preview style will be used.
[INFO] See documentation to learn how to create config.json file.
Run with --verbose to see the config file here.
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGHUP, refreshing
Stopping server and reloading config
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGTERM, stopping gracefully
```
Note that the numeric signal values, as used in the shell version, were
replaced by signal names, as used in nodeJS.
* run 'npm run lint:js:fix'
---------
Co-authored-by: acalcutt <acalcutt@techidiots.net>
* switch to esm module
* Update package.json
* change to maplibre package
* fix tests
* eslint
* remove extra package updates
* Delete package-lock.json
* change 'fs' to 'node:fs'
* put back node 10.
without the package updates this still works
* remove trailing commas
* remove unassociated fix / formatting
* remove unassociated fix
* remove eslint from this PR
* remove unassociated fix
* lint
* Merge remote-tracking branch 'upstream/master' into esm_update
* fix mlgl
* update maplibre-native to new version with arm64
* update minor version
* var -> let / const
* [].forEach -> for (... of ...)
* '...' + var -> template strings `...${var}`
* function -> arrow functions `=>`
* use === and !== instead of == and !=