From 132ce172edef1317854875d2dc81b4dfe5b79d90 Mon Sep 17 00:00:00 2001 From: sweco-dkjesh <4609097+sweco-dkjesh@users.noreply.github.com> Date: Wed, 9 Sep 2020 12:29:43 +0200 Subject: [PATCH 1/5] null pointer fix and improved handling of Identifier Fix nullpointer error when a matrixSet is not found in the matrixsetobj when matrix limits exist. Also check for match by prepending matrixSetObj.Identifier which is supported by some wmts services. --- src/ol/source/WMTS.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ol/source/WMTS.js b/src/ol/source/WMTS.js index b61af5eee2..726c03ce8a 100644 --- a/src/ol/source/WMTS.js +++ b/src/ol/source/WMTS.js @@ -465,10 +465,12 @@ export function optionsFromCapabilities(wmtsCap, config) { //in case of matrix limits, use matrix limits to calculate extent if (matrixLimits) { selectedMatrixLimit = matrixLimits[matrixLimits.length - 1]; - matrix = find( + const m = find( matrixSetObj.TileMatrix, - (value) => value.Identifier === selectedMatrixLimit.TileMatrix + (tileMatrixValue) => tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix ); + if (m) + matrix = m; } const resolution = From 6ae62c3e930854187db5c4b49d3f149280d9b43f Mon Sep 17 00:00:00 2001 From: sweco-dkjesh <4609097+sweco-dkjesh@users.noreply.github.com> Date: Wed, 9 Sep 2020 12:49:04 +0200 Subject: [PATCH 2/5] Lint --- src/ol/source/WMTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ol/source/WMTS.js b/src/ol/source/WMTS.js index 726c03ce8a..c92e6ddae5 100644 --- a/src/ol/source/WMTS.js +++ b/src/ol/source/WMTS.js @@ -469,8 +469,9 @@ export function optionsFromCapabilities(wmtsCap, config) { matrixSetObj.TileMatrix, (tileMatrixValue) => tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix ); - if (m) + if (m) { matrix = m; + } } const resolution = From bf86bcbee4825f4f94ce64b0ea1a15ef8b5ae89c Mon Sep 17 00:00:00 2001 From: sweco-dkjesh <4609097+sweco-dkjesh@users.noreply.github.com> Date: Wed, 9 Sep 2020 13:13:58 +0200 Subject: [PATCH 3/5] Lint --- src/ol/source/WMTS.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ol/source/WMTS.js b/src/ol/source/WMTS.js index c92e6ddae5..a87d27a746 100644 --- a/src/ol/source/WMTS.js +++ b/src/ol/source/WMTS.js @@ -467,7 +467,9 @@ export function optionsFromCapabilities(wmtsCap, config) { selectedMatrixLimit = matrixLimits[matrixLimits.length - 1]; const m = find( matrixSetObj.TileMatrix, - (tileMatrixValue) => tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix + (tileMatrixValue) => + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || + matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix ); if (m) { matrix = m; From d409168940206440ce0ad2592a8daa7c4e2b1d94 Mon Sep 17 00:00:00 2001 From: sweco-dkjesh <4609097+sweco-dkjesh@users.noreply.github.com> Date: Wed, 9 Sep 2020 13:22:38 +0200 Subject: [PATCH 4/5] Lint --- src/ol/source/WMTS.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ol/source/WMTS.js b/src/ol/source/WMTS.js index a87d27a746..ec89af1190 100644 --- a/src/ol/source/WMTS.js +++ b/src/ol/source/WMTS.js @@ -469,7 +469,8 @@ export function optionsFromCapabilities(wmtsCap, config) { matrixSetObj.TileMatrix, (tileMatrixValue) => tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || - matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix + matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === + selectedMatrixLimit.TileMatrix ); if (m) { matrix = m; From df8da1158f688540ee896add5f3574df67985c62 Mon Sep 17 00:00:00 2001 From: sweco-dkjesh <4609097+sweco-dkjesh@users.noreply.github.com> Date: Wed, 9 Sep 2020 13:30:14 +0200 Subject: [PATCH 5/5] Lint --- src/ol/source/WMTS.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ol/source/WMTS.js b/src/ol/source/WMTS.js index ec89af1190..57405cfe12 100644 --- a/src/ol/source/WMTS.js +++ b/src/ol/source/WMTS.js @@ -469,8 +469,8 @@ export function optionsFromCapabilities(wmtsCap, config) { matrixSetObj.TileMatrix, (tileMatrixValue) => tileMatrixValue.Identifier === selectedMatrixLimit.TileMatrix || - matrixSetObj.Identifier + ":" + tileMatrixValue.Identifier === - selectedMatrixLimit.TileMatrix + matrixSetObj.Identifier + ':' + tileMatrixValue.Identifier === + selectedMatrixLimit.TileMatrix ); if (m) { matrix = m;