Commit graph

290 commits

Author SHA1 Message Date
Miko
4a783446cd
Fix Elevation API and extend Elevation Preview (#1432)
* add elevation info in preview

* fix various issues
- pmtile coordinates
- pixel calculation
- swapped lat / long
- allow tileSize to be configured
- allow any zoom for coordinates

* apply linter changes

* remove not used entry

* drop baseUrl in favor of public_url

* fix map not using full body

* remove bounds check for coordinates

---------

Co-authored-by: Miko <miko@none>
2025-01-10 10:51:17 -05:00
daniel-milemarker
9d222c1dec
feat: add support for x-forward-port header (#1423)
* feat: add support for x-forward-port header

* fix: remove unnecessary port additions

* chore: remove unused dependency
2025-01-02 14:29:53 -05:00
Miko
a2bc9f0cce
Feature: Terrain Preview and simple Elevation Query (#1425)
* 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>
2025-01-02 14:03:03 -05:00
Samuel
760653901e
feat: add progressive rendering option for static jpeg images (#1397) 2024-10-10 09:56:56 -04:00
acalcutt
5eb98f0bee Fix: Remove unneeded paths from main.js 2024-09-01 14:36:30 -04:00
acalcutt
18b4b0d6fc Fix: specified path for icons does not exist
Signed-off-by: acalcutt <acalcutt@techidiots.net>
2024-09-01 11:05:35 -04:00
acalcutt
5bfe8c7d3a Fix: specified path for icons does not exist 2024-09-01 10:29:02 -04:00
Miko
44cf365d65
Allow handling of local GeoJSON files #1324 (#1326)
* 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>
2024-08-31 22:56:36 -04:00
Aarni Koskela
664afe62f4
refactor: add promisified wrapper for MBTiles (#1321)
Signed-off-by: Aarni Koskela <akx@iki.fi>
2024-08-28 11:52:07 -04:00
Nathan Reed
1f5a58035b
Replace formatQuality with formatOptions for additional configurability (#1327)
* feat: replace formatQuality with formatOptions in config file

formatQuality is more flexible and allows configuration of more than just quality for all formats.
JPEG and WebP still have only their quality configurable.
PNG has all the configuration options from the sharp library exposed.

Signed-off-by: Nathan Reed <nathreed@gmail.com>

* feat: update docs for new formatOptions

Signed-off-by: Nathan Reed <nathreed@gmail.com>

* feat: allow deprecated formatQuality with logged warning

Signed-off-by: Nathan Reed <nathreed@gmail.com>

---------

Signed-off-by: Nathan Reed <nathreed@gmail.com>
2024-08-10 09:15:14 -04:00
Aarni Koskela
1d4c1ff188
fix: avoid synchronous calls where possible (#1320)
Signed-off-by: Aarni Koskela <akx@iki.fi>
2024-07-31 08:51:56 -04:00
Prashis
401f891866
feat: use @jsse/pbfont instead of @mapbox/glyph-pbf-composite (#1294)
* 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>
2024-07-04 11:02:24 -04:00
v-electrolux
6742c7f45d
feat: add support for X-Forwarded-Path in style urls (#1239)
* add support for X-Forwarded-Path for styles too

* fix linting issue
2024-05-03 10:57:08 -04:00
Lukomo
bff699ba4a
feat: handle the X-Forwarded-Path header (#1197)
* feat: handle the X-Forwarded-Path header

* fix: lint

Signed-off-by: acalcutt <acalcutt@techidiots.net>

---------

Signed-off-by: acalcutt <acalcutt@techidiots.net>
Co-authored-by: Zsolt Jakubinyi <zsolt.jakubinyi@beamtrail.com>
Co-authored-by: acalcutt <acalcutt@techidiots.net>
2024-04-23 15:55:39 -04:00
Andrew Calcutt
66445e8653
Add support for multi-sprites in styles (#1232)
* 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>
2024-04-23 14:51:37 -04:00
Jollyfant
87e5b72ca4
Fix exception in pmtiles format when GeoJSON is requested (#1188) 2024-02-26 12:34:13 -05:00
Andrew Calcutt
0fb5af61f6
fix: make consistent with tilejson endpoint (#1162) 2024-02-02 23:02:39 -05:00
dependabot[bot]
300925d432
fix(deps): Bump pmtiles from 2.11.0 to 3.0.0 (#1161)
* fix(deps): Bump pmtiles from 2.11.0 to 3.0.0

Bumps [pmtiles](https://github.com/protomaps/pmtiles) from 2.11.0 to 3.0.0.
- [Commits](https://github.com/protomaps/pmtiles/commits)

---
updated-dependencies:
- dependency-name: pmtiles
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: update for named imports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2024-02-02 22:12:26 -05:00
Andrew Calcutt
fe111ed18f
Fix incorrect TileSize in index.json and data.json data urls. Add TileSize option to index.json and rendered.json endpoints for rendered urls. (#1160)
* 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
2024-02-02 10:37:35 -05:00
Andrew Calcutt
4a999e06a3
Fix 512px tiles so they work with maplibre-js raster 512 tilesize (#1152)
* fix: try to add attribution to wmts

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: 512 tiles being wrong level for maplibre-js

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: revert wmts zoom level hack

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: test tileMargin

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: remove broken mercator_512 change

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: put back mercator

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* Revert "fix: try to add attribution to wmts"

This reverts commit b8d858f2c6d6354ea54a7fe18d08bb50d8f28219.

* fix: put back if

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: semicolon

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: semicolon

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: center without mercator_512

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: put back const

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: text

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
2024-01-29 20:54:05 -05:00
Andrew Calcutt
d68ab38442
Add support for 512 sized raster tiles - v2 (#1136)
* 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>
2024-01-25 21:23:07 -05:00
dependabot[bot]
3533918715
fix(deps): bump @maplibre/maplibre-gl-style-spec from 18.0.0 to 20.1.0 (#1125)
* fix(deps): bump @maplibre/maplibre-gl-style-spec from 18.0.0 to 20.1.0

Bumps [@maplibre/maplibre-gl-style-spec](https://github.com/maplibre/maplibre-gl-style-spec) from 18.0.0 to 20.1.0.
- [Release notes](https://github.com/maplibre/maplibre-gl-style-spec/releases)
- [Changelog](https://github.com/maplibre/maplibre-style-spec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maplibre/maplibre-gl-style-spec/compare/v18.0.0...v20.1.0)

---
updated-dependencies:
- dependency-name: "@maplibre/maplibre-gl-style-spec"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: refactor to use validateStyleMin

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2024-01-21 17:32:59 -05:00
Andrew Calcutt
ee602acc4c
Merge branch 'master' into refactor4 2023-11-25 21:01:33 -05:00
Martin d'Allens
407f6b2e30
Fix crash on ARM during rendering (#1077)
* chore: fix crash on ARM during rendering

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: remove useless comment

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

---------

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-25 20:16:33 -05:00
Martin d'Allens
c9aa26a6de
fix: listFonts was broken, missing fonts could not fallback (#1076)
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>
2023-11-24 11:48:50 -05:00
Martin d'Allens
b25a6420dd
chore: simplify alpha premultiplication, now supported by sharp (#1073)
Maplibre-native outputs premultiplied pixels values. The sharp library did not
support it so we added code to cancel the alpha premultiplication.
Note that this can only visible onr raster tiles (and probably static maps).

The sharp library now supports premultiplied pixels with the right config.
Let's use it: it should be faster and easie to maintain.

Feature announced here:
https://github.com/lovell/sharp/issues/1599#issuecomment-837004081

Feature developped here by @mnutt:
https://github.com/lovell/sharp/pull/2685

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 12:16:31 -05:00
Martin d'Allens
36d3e9d356 chore: apply camelCase to function and variable names
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
9a4ef3dedf chore: remove unused opt_nokey arg
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
f69a2339b8 chore: remove duplicated field names to simplify code
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
d9c2128ddf chore: compact arguments for renderOverlay and respondImage
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
345b831edd chore: convert some promises to async/await
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
526766c8f4
Extract nested functions and simplify a little (#1062)
* 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>
2023-11-23 10:11:53 -05:00
Martin d'Allens
d7af5235bf
fix: clean error message, remove outdated data wmts (#1067)
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-21 16:23:53 -05:00
dependabot[bot]
36f9320d50
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.61.0 to 6.11.0 (#1052)
* chore(deps-dev): bump @typescript-eslint/eslint-plugin

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.61.0 to 6.11.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.11.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: warn for no-unused-vars,add argsIgnorePattern

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2023-11-15 21:31:28 -05:00
Andrew Calcutt
36f63de686
Replace request with axios (#1043)
* updating to replace request with axios

* swap request with axios in main.js

* fix: update text

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update package-lock

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update function name

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: update axios

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: acalcutt <acalcutt@techidiots.net>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: Michael Jones <michaeljones@Michaels-MacBook-Pro.local>
Co-authored-by: jonesmj8537 <michael.j.jones.ctr@nga.mil>
2023-11-14 15:39:49 -05:00
Alek Kowalczyk
4568027046
Fixed Issue #1025 - URL-based glyphs and fonts break displaying of vector tiles (#1026)
Root cause: modified regex in #1002 caused URLs to be broken.
Fixed by reverting previous regexes.

Tests:
 * Confirmed by building and running locally with formerly breaking config.json and style json.
 * Run tests via Dockerfile_test
2023-10-20 14:02:45 -04:00
Ryan
c161667e0e
Ensure ID is maintained over deconstructing object (#1023) 2023-10-18 12:33:15 -04:00
Andrew Calcutt
a6dadfda28
Add pmtiles support (#1009)
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>
2023-10-15 03:03:15 -04:00
Martin d'Allens
e8f64e2861
chore: cleanup useless decodeURIComponent() calls (#1002)
* chore: cleanup useless decodeURIComponent() calls

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to fix CodeQL failure "Polynomial regular expression"

Fix 1:
\d\.?\d* can backtrack catastrophically
\d(\.\d*)? is safer

Fix 2:
Useless parenthesis around "enc:"

Fix 3:
The httpTester regex was misleading. It did not really check for "http".
Simplified to show its true meaning. The behaviour should not have changed.

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to optimize the regex further, to fix CodeQL failure

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: consistency between previous changes, docs, and serve_style.js

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

---------

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-10-13 19:08:28 -04:00
Boon Boonsiri
9348350ba3
Allow base 64 url as images for static maps (#1007)
* allow base-64 url as images

* Add option to config

* Refactoring

* Update docs

* feat: added base64 url images lint

Signed-off-by: Boon Boonsiri <bboonsir@uwaterloo.ca>

---------

Signed-off-by: Boon Boonsiri <bboonsir@uwaterloo.ca>
2023-10-12 01:22:51 -04:00
Craig Kochis
d4a5cc6074
Add support for stylized attribution text for static images (#1005)
* add support for stylized attribution text for static images

* restrict to static opt_mode

* adjust sizes

* chore: fix lint

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: rename to staticAttributionText

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: update docs

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

* chore: add staticAttributionText to example config, and run lint

Signed-off-by: Craig Kochis <cjkochis@gmail.com>

---------

Signed-off-by: Craig Kochis <cjkochis@gmail.com>
2023-10-07 20:30:47 -04:00
Andrew Calcutt
7e246d0cd1 fix: lint
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
2023-09-27 00:16:54 -04:00
Robin
d759dd2952
fix: incorrect polyline decoding (#993)
* fix: incorrect polyline decoding
Don't split static image encoded path on pipe or comma

Signed-off-by: boldtrn <boldtrn@gmail.com>

* fix: still allow other parameters other than enc:
That way we can still style individual paths

Signed-off-by: boldtrn <boldtrn@gmail.com>

* chore: lint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* chore: lint + comment

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* docs: try to clarify path information

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: stroke color not working unless path is specified

i found this issue testing encoded paths. If width is not specifed, stroke color does not work

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* docs: show different options

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: boldtrn <boldtrn@gmail.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2023-09-26 23:53:16 -04:00
Robin
c13e5e6821
fix: don't crash the server on processing issues (#994)
* fix: don't crash the server on processing issues
Use a try/catch for async functions

Signed-off-by: boldtrn <boldtrn@gmail.com>

* chore: run lint

Signed-off-by: boldtrn <boldtrn@gmail.com>

---------

Signed-off-by: boldtrn <boldtrn@gmail.com>
2023-09-26 09:41:29 -04:00
Samuel
02ee629f30
Static images: Allow styling each path differently (#972)
* fix: allow to style each individual path for static images

Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>

* chore: cleanup drawPath render function

Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>

---------

Signed-off-by: Samuel Leihkamm <s.leihkamm@gmx.com>
2023-09-21 22:55:54 -04:00
fvarga94
13eeeaffad
Resolve composite watermark issue (#908) 2023-06-30 12:58:21 -04:00
Nathan Gass
89c6eb7ddf
Use center and zoom from style json (#507)
* Use center and zoom from style json as default center for tilejson of rendered maps

* Round zoom as style spec allows fractional zooms while tilejson spec does not
2023-03-28 08:46:50 -04:00
zstadler
64adff0855
Handle SIGTERM (#782)
* 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>
2023-03-01 10:05:21 -05:00
Manuel Roth
ea186d34df
fix: support for X-Forwarded-Host http header (#733)
* fix: fix support for overriding hostname by setting X-Forwarded-Host http header

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

* fix: improve getUrlObject

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

* Add documentation for getUrlObject function

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Simplify getPublicUrl function

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Remove variable

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* Use urlObject directly

Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: small fix

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>

---------

Signed-off-by: Manuel Roth <manuelroth@hotmail.ch>
Co-authored-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
2023-01-31 20:35:16 -05:00
Daniel Kao
f94625ab05
fix: fix vectortile constructor (#723)
Signed-off-by: Daniel Kao <dkao@diplateevo.com>

Signed-off-by: Daniel Kao <dkao@diplateevo.com>
2023-01-20 17:41:18 -05:00