* fix broken light (invalid use of heavy dependencies)
- move elevation calculation to serve_rendered and stub in serve_light due to use of canvas and sharp
- elevation api is not available for light
* add elevatppy lint:js:fix
* remove not working isLight function
* apply lint:js:fix
* add isLight to data.tmpl
* add note of not available elevation api in light version
* hide elevation link in light version
* cleanup terrain and elevation template flags
---------
Co-authored-by: Miko <miko@none>
* 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>
* handle local geojson files in styles and rendered tiles
- use 'file://' as indicator for local files
- add directory as default directory
- serve local files at
- add documentation for static file serving
- add some minor fixes (icon directory, directory checking, decodeURIComponent, extend error message)
* Update .gitignore
---------
Co-authored-by: Miko <miko@home-laptop.fritz.box>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
* fix: tilesize should not be added to data endpoint
* fix: make tilesize and option of addtilejson urls
* docs: update tilesize info for index.json and rendered.json
* fix: lint
* 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>
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>
* extended staticmap capabilities
* added allowRemoteMarkerIcons configuration option and restricted fetching of remote marker icons only when option is set to true;
asynchronously load all available icons in a settings object on server startup;
replaced fs.existsSync() call in serve_rendered when drawing marker icons with a check against available icons settings object;
* updated documentation for linecap parameter in staticmaps endpoint;
added linejoin parameter to staticmaps endpoint;
* added capability of staticmap endpoint to draw multiple paths
In WMTS the publicUrl path was missed and it was not working properly.
Similar story about wmts.tmpl: the baseUrl is not working properly when
tileserver is hidden behind the proxy with different root path.
* Minor bugfix: make baseUrl always use '/' in the end
Co-authored-by: Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com>
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
variable file does not exist. Backtrace
ReferenceError: file is not defined
at serve_style.add (/usr/src/app/src/server.js:139:44)
at Proxy.add (/usr/src/app/src/serve_style.js:115:28)
at addStyle (/usr/src/app/src/server.js:121:31)
at fs.readdir (/usr/src/app/src/server.js:215:11)
at args (fs.js:140:20)
at internal/util.js:370:14
at getDirents (internal/fs/utils.js:149:7)
at FSReqWrap.req.oncomplete (fs.js:775:7)
The data sources structure was changed in the 'dynamic_styles' branch
introducing a tileJSON object. Adapt the code filling the preview
template to the change to get the correct file format instead of
"undefined".
See also f2dc13e.
Fix#440 Preview thumbnail missing for raster data source -- file suffix
"undefined"
* var -> let / const
* [].forEach -> for (... of ...)
* '...' + var -> template strings `...${var}`
* function -> arrow functions `=>`
* use === and !== instead of == and !=
https://github.com/klokantech/tileserver-gl/issues/274
Clean up wmts template with correct syntax
Update endpoint URL and change content type
After a good nights sleep I considered the structure of the endpoint link for WMTS, at the same time I cleaned up the code and added the correct content type for the response.