diff --git a/web/client/utils/LayersUtils.js b/web/client/utils/LayersUtils.js index 4f3a7c30ae..09438d372c 100644 --- a/web/client/utils/LayersUtils.js +++ b/web/client/utils/LayersUtils.js @@ -219,7 +219,7 @@ export const deepChange = (nodes, findValue, propName, propValue) => { }; export const updateAvailableTileMatrixSetsOptions = ({ tileMatrixSet, matrixIds, ...layer }) => { - if ( tileMatrixSet && matrixIds) { + if (!layer.availableTileMatrixSets && tileMatrixSet && matrixIds) { const matrixIdsKeys = isArray(matrixIds) ? matrixIds : Object.keys(matrixIds); const availableTileMatrixSets = matrixIdsKeys .reduce((acc, key) => { @@ -265,7 +265,7 @@ export const extractTileMatrixFromSources = (sources, layer) => { const availableTileMatrixSets = Object.keys(layer.availableTileMatrixSets) .reduce((acc, tileMatrixSetId) => { const tileMatrixSetLink = getTileMatrixSetLink(layer, tileMatrixSetId); - const tileMatrixSet = get({ sources }, tileMatrixSetLink) || get({ sources }, tileMatrixSetLink.replace("http:", "https:")); + const tileMatrixSet = get({ sources }, tileMatrixSetLink); if (tileMatrixSet) { return { ...acc, diff --git a/web/client/utils/WMTSUtils.js b/web/client/utils/WMTSUtils.js index 032a329d29..bd1c67e164 100644 --- a/web/client/utils/WMTSUtils.js +++ b/web/client/utils/WMTSUtils.js @@ -40,7 +40,7 @@ export const getTileMatrixSet = (tileMatrixSet, srs, allowedSRS, matrixIds = {}, if (tileMatrixSet) { return getEquivalentSRS(srs, allowedSRS).reduce((previous, current) => { if (isArray(tileMatrixSet)) { - const matching = head(tileMatrixSet.filter((matrix) => ((matrix && (matrix["ows:Identifier"] === current || getEPSGCode(matrix["ows:SupportedCRS"]) === current) && matrixIds[matrix["ows:Identifier"]])))); + const matching = head(tileMatrixSet.filter((matrix) => ((matrix["ows:Identifier"] === current || getEPSGCode(matrix["ows:SupportedCRS"]) === current) && matrixIds[matrix["ows:Identifier"]]))); return matching && matching["ows:Identifier"] ? matching["ows:Identifier"] : previous; } else if (isObject(tileMatrixSet)) { return tileMatrixSet[current] || previous; @@ -175,11 +175,11 @@ export const getTileMatrix = (_options, srs) => { const tileMatrixSetName = getTileMatrixSet(options.tileMatrixSet, srs, options.allowedSRS, options.matrixIds); const ids = options.matrixIds && getMatrixIds(options.matrixIds, tileMatrixSetName || srs); const tileMatrixSet = sortTileMatrix( - head(options.tileMatrixSet.filter(tM => tM && tM['ows:Identifier'] === tileMatrixSetName)), + head(options.tileMatrixSet.filter(tM => tM['ows:Identifier'] === tileMatrixSetName)), ids); // identifiers are in the same order of scales and resolutions - const identifiers = tileMatrixSet?.TileMatrix.map?.(t => t && t["ows:Identifier"]); + const identifiers = tileMatrixSet?.TileMatrix.map?.(t => t["ows:Identifier"]); // use same order of matrixIds in TileMatrix, if present. const matrixIds = identifiers && ids ? ids.sort((a, b) => {