diff --git a/assets/src/components/Print.js b/assets/src/components/Print.js index 7fd51a8312..e9d2a50965 100644 --- a/assets/src/components/Print.js +++ b/assets/src/components/Print.js @@ -245,7 +245,7 @@ export default class Print extends HTMLElement { // Add visible layers in defined order const orderedVisibleLayers = {}; - mainLizmap.state.rootMapGroup.findMapLayers().forEach(layer => { + mainLizmap.state.rootMapGroup.findExplodedMapLayers().forEach(layer => { if (layer.visibility) { orderedVisibleLayers[layer.layerOrder] = layer; } @@ -267,9 +267,9 @@ export default class Print extends HTMLElement { // Handle qgis layer opacity otherwise client value override it if (layer.layerConfig?.opacity) { - opacityLayers.push(parseInt(255 * layer.opacity * layer.layerConfig.opacity)); + opacityLayers.push(parseInt(255 * layer.calculateTotalOpacity() * layer.layerConfig.opacity)); } else { - opacityLayers.push(parseInt(255 * layer.opacity)); + opacityLayers.push(parseInt(255 * layer.calculateTotalOpacity())); } if ('FILTERTOKEN' in layerWmsParams) { filter.push(layerWmsParams['FILTERTOKEN']); diff --git a/assets/src/modules/state/Layer.js b/assets/src/modules/state/Layer.js index 8091623c40..659dce6b96 100644 --- a/assets/src/modules/state/Layer.js +++ b/assets/src/modules/state/Layer.js @@ -552,6 +552,19 @@ export class LayerItemState extends EventDispatcher { } return this._visibility; } + + /** + * Calculate total opacity by including also all parent groups opacity values + * @returns {number} the total opacity + */ + calculateTotalOpacity(){ + let opacity = this.opacity; + if(this._parentGroup !== null){ + opacity = opacity*this._parentGroup.calculateTotalOpacity(); + } + + return Math.round(opacity * 100) / 100; + } } /** diff --git a/assets/src/modules/state/MapLayer.js b/assets/src/modules/state/MapLayer.js index 30c9d09e30..f48149ff2d 100644 --- a/assets/src/modules/state/MapLayer.js +++ b/assets/src/modules/state/MapLayer.js @@ -424,6 +424,30 @@ export class MapGroupState extends MapItemState { return layersCount; } + /** + * Find all layers by exploding the layers within every "group as layer" groups + * @returns {LayerLayerState[]} The layer states of listed layers + */ + findExplodedMapLayers(){ + let layers = []; + for(const item of this.getChildren()) { + if (item instanceof MapLayerState) { + const itemState = item.itemState; + if(itemState instanceof LayerGroupState && itemState.groupAsLayer){ + //count the layers inside the group + layers = layers.concat(itemState.findLayers()); + } + else if(itemState instanceof LayerLayerState){ + layers.push(item.itemState); + } + } else if (item instanceof MapGroupState) { + layers = layers.concat(item.findExplodedMapLayers()); + } + } + + return layers; + } + /** * Find layer items * @returns {MapLayerState[]} The layer names of all map layers diff --git a/tests/end2end/playwright/pages/printpage.js b/tests/end2end/playwright/pages/printpage.js new file mode 100644 index 0000000000..0e507fd53c --- /dev/null +++ b/tests/end2end/playwright/pages/printpage.js @@ -0,0 +1,83 @@ +// @ts-check +import { expect } from '@playwright/test'; +import { ProjectPage } from './project'; + +/** + * Playwright Page + * @typedef {import('@playwright/test').Page} Page + */ + +/** + * Playwright Page + * @typedef {import('@playwright/test').Locator} Locator + */ + +export class PrintPage extends ProjectPage { + // Metadata + /** + * The print panel + * @type {Locator} + */ + printPanel; + + /** + * The print button on menu + * @type {Locator} + */ + printSwitcherButton; + + /** + * The print scale combobox + * @type {Locator} + */ + printScale; + + /** + * The launch print button on print panel + * @type {Locator} + */ + launchPrintButton; + + /** + * Constructor for a QGIS project page + * @param {Page} page The playwright page + * @param {string} project The project name + * @param {string} repository The repository name, default to testsrepository + */ + constructor(page, project, repository = 'testsrepository') { + super(page, project, repository); + + this.printPanel = page.locator('#print'); + this.printSwitcherButton = page.locator('#button-print'); + this.launchPrintButton = page.locator('#print-launch'); + this.printScaleCombobox = page.locator('#print-scale'); + } + + /** + * openPrintPanel function + * opens the print mini-dock panel + */ + async openPrintPanel() { + await this.page.locator('#button-print').click(); + } + + /** + * setPrintScale function + * Set the print scale + * @param {string} scale The scale + */ + async setPrintScale(scale) { + await this.printScaleCombobox.selectOption(scale); + } + + /** + * launchPrint function + * Launch print + */ + async launchPrint() { + // Launch print + await this.launchPrintButton.click(); + // check message + await expect(this.page.locator('div.alert')).toHaveCount(1); + } +} \ No newline at end of file diff --git a/tests/end2end/playwright/pages/project.js b/tests/end2end/playwright/pages/project.js index 047ba0095c..d2c8a6686e 100644 --- a/tests/end2end/playwright/pages/project.js +++ b/tests/end2end/playwright/pages/project.js @@ -174,6 +174,27 @@ export class ProjectPage extends BasePage { await this.page.locator('#attribute-layer-list-table').locator(`button[value=${layer}]`).click(); } + /** + * openLayerInfo function + * Open the info layer panel for the given layer + * @param {string} layer Name of the layer + */ + async openLayerInfo(layer) { + await this.page.getByTestId(layer).locator('.node').first().hover(); + await this.page.getByTestId(layer).locator('.layer-actions').first().locator('i.icon-info-sign').click(); + } + + /** + * setLayerOpacity function + * Open the info layer panel for the given layer + * @param {string} layer Name of the layer + * @param {string} opacity Layer opacity, possible values '0','20','40','60','80','100' + */ + async setLayerOpacity(layer, opacity = '100') { + await this.openLayerInfo(layer); + await this.page.getByRole('link', { name: opacity }).click(); + } + /** * editingSubmitForm function * Submit the form diff --git a/tests/end2end/playwright/print.spec.js b/tests/end2end/playwright/print.spec.js index 479573459f..d396265636 100644 --- a/tests/end2end/playwright/print.spec.js +++ b/tests/end2end/playwright/print.spec.js @@ -1,5 +1,6 @@ // @ts-check import { test, expect } from '@playwright/test'; +import {PrintPage} from "./pages/printpage"; import { gotoMap, expectParametersToContain, getAuthStorageStatePath, expectToHaveLengthCompare } from './globals'; test.describe('Print', () => { @@ -335,6 +336,153 @@ test.describe('Print', () => { }); }); +test.describe( + 'Print opacities', + { + tag: ['@readonly'], + },() => + { + + test('Group as layer', async ({ page }) => { + + const printPage = new PrintPage(page, 'group_as_layer_opacity'); + await printPage.open(); + await printPage.openPrintPanel(); + await printPage.setPrintScale('50000'); + + // set opacity of `Group_opacity` (group as layer) layer to 60% + await printPage.setLayerOpacity('Group_opacity','60'); + + // opacity notes: + // the `raster` layer already has 80% opacity (inherited from QGIS project) + // setting the opacity to 60% on the `Group_opacity` causes: + // - `raster` layer to have a final total opacity of 48% (0.8*0.6) + // -> OPACITIES PARAM = 255*0.48 ~= 122 + // - `single_wms_polygons` layer to have a final total opacity of 60% (1*0.6) + // -> OPACITIES PARAM = 255*0.6 = 153 + // other layers have opacity 100% (255) + + const mapLayers = [ + 'OpenStreetMap', + 'raster', + 'single_wms_polygons', + 'single_wms_polygons_group_as_layer', + 'single_wms_points_group', + ] + + const expectedParameters = { + 'SERVICE': 'WMS', + 'REQUEST': 'GetPrint', + 'VERSION': '1.3.0', + 'FORMAT': 'pdf', + 'TRANSPARENT': 'true', + 'CRS': 'EPSG:3857', + 'DPI': '100', + 'TEMPLATE': 'test', + 'map0:EXTENT': /425189.\d+,5401412.\d+,439539.\d+,5411262.\d+/, + 'map0:SCALE': '50000', + 'map0:LAYERS': mapLayers.join(','), + 'map0:STYLES': 'default,default,default,default,default', + 'map0:OPACITIES': '255,122,153,255,255', + } + // Test `test` template + let getPrintPromise = page.waitForRequest( + request => + request.method() === 'POST' && + request.postData()?.includes('GetPrint') === true + ); + + // Launch print + await printPage.launchPrint(); + + // check request + let getPrintRequest = await getPrintPromise; + + // check response parameters + let name = "Group as layer opacity requests"; + let getPrintParams = await expectParametersToContain( + name, getPrintRequest.postData() ?? '', expectedParameters); + + await expectToHaveLengthCompare( + name, + Array.from(getPrintParams.keys()), + 13, + Object.keys(expectedParameters) + ); + }) + + test('Layers in group with opacity', async ({ page }) => { + const printPage = new PrintPage(page, 'group_as_layer_opacity'); + await printPage.open(); + await printPage.openPrintPanel(); + await printPage.setPrintScale('50000'); + + // set opacity of `Group_a` group opacity to 60% + await printPage.setLayerOpacity('Group_a','60'); + // set opacity of `single_wms_points_group` (belonging to `Group_a`) layer to 40% + await printPage.setLayerOpacity('single_wms_points_group','40'); + // set opacity of `single_wms_polygons_group_as_layer` (belonging to `Group_a`) layer to 80% + await printPage.setLayerOpacity('single_wms_polygons_group_as_layer','80'); + + // opacity notes: + // setting the opacity to 60% on `Group_a` causes: + // - `single_wms_points_group` layer to have a final total opacity of 24% (0.4*0.6) + // -> OPACITIES PARAM = 255*0.24 ~= 61 + // - `single_wms_polygons_group_as_layer` layer to have a final total opacity of 48% (0.8*0.6) + // -> OPACITIES PARAM = 255*0.48 ~= 122 + // other layers have opacity 100%, except for `raster` layer which has a 80% opacity by default, + // resulting in a OPACITIES PARAM = 255*0.8 = 204 + + const mapLayers = [ + 'OpenStreetMap', + 'raster', + 'single_wms_polygons', + 'single_wms_polygons_group_as_layer', + 'single_wms_points_group', + ] + + const expectedParameters = { + 'SERVICE': 'WMS', + 'REQUEST': 'GetPrint', + 'VERSION': '1.3.0', + 'FORMAT': 'pdf', + 'TRANSPARENT': 'true', + 'CRS': 'EPSG:3857', + 'DPI': '100', + 'TEMPLATE': 'test', + 'map0:EXTENT': /425189.\d+,5401412.\d+,439539.\d+,5411262.\d+/, + 'map0:SCALE': '50000', + 'map0:LAYERS': mapLayers.join(','), + 'map0:STYLES': 'default,default,default,default,default', + 'map0:OPACITIES': '255,204,255,122,61', + } + // Test `test` template + let getPrintPromise = page.waitForRequest( + request => + request.method() === 'POST' && + request.postData()?.includes('GetPrint') === true + ); + + // Launch print + await printPage.launchPrint(); + + // check request + let getPrintRequest = await getPrintPromise; + + // check response parameters + let name = "Layers in group with opacity request"; + let getPrintParams = await expectParametersToContain( + name, getPrintRequest.postData() ?? '', expectedParameters); + await expectToHaveLengthCompare( + name, + Array.from(getPrintParams.keys()), + 13, + Object.keys(expectedParameters) + ); + }) + } +); + test.describe('Print in popup', () => { test.beforeEach(async ({ page }) => { const url = '/index.php/view/map/?repository=testsrepository&project=print'; diff --git a/tests/qgis-projects/tests/group_as_layer_opacity.qgs b/tests/qgis-projects/tests/group_as_layer_opacity.qgs new file mode 100644 index 0000000000..cf0960c99a --- /dev/null +++ b/tests/qgis-projects/tests/group_as_layer_opacity.qgs @@ -0,0 +1,2172 @@ + + + + + + + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _b78d3a87_9f7b_4341_8514_5620e97c2210 + raster_8be18a44_dcc1_4134_8efb_dd46d1d75c86 + single_wms_polygons_28f4c31d_c16b_4df9_8c82_3dcb391f5cd1 + single_wms_polygons_group_as_layer_69c1b7fa_928b_4b09_bb96_a3ea16b781a8 + single_wms_points_group_73b4f94f_28b3_4a4b_8c9e_c19da01c5b6e + + + + + + + + + + + + + meters + + 429926.66589448729064316 + 5400853.07792619895190001 + 434802.3291387043427676 + 5411821.66567695420235395 + + 0 + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Annotations_ec4ad55c_c4a0_4ff1_98f6_12228908c29b + + + + + Annotations + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + 1 + 1 + 1 + 0 + + + + 1 + 0 + + + + + + -20037508.34278924390673637 + -20037508.34278924763202667 + 20037508.34278924390673637 + 20037508.34278924763202667 + + + -180 + -85.05112877980660357 + 179.99999999999997158 + 85.05112877980660357 + + _b78d3a87_9f7b_4341_8514_5620e97c2210 + crs=EPSG:3857&format&type=xyz&url=https://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png&zmax=19&zmin=0 + OpenStreetMap + + + + OpenStreetMap + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + + OpenStreetMap tiles + + + dataset + OpenStreetMap tiles + OpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafés, railway stations, and much more, all over the world. + + + + + + Base map and data from OpenStreetMap and OpenStreetMap Foundation (CC-BY-SA). © https://www.openstreetmap.org and contributors. + Open Data Commons Open Database License (ODbL) + Creative Commons Attribution-ShareAlike (CC-BY-SA) + + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + + + + + wms + + + + + + + + + 1 + 1 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + WholeRaster + Estimated + 0.02 + 0.98 + 2 + + + + + + resamplingFilter + + 0 + + + + 3.84850000000000003 + 43.57310000000000372 + 4.02449999999999974 + 43.62810000000000343 + + + 3.84850000000000003 + 43.57310000000000372 + 4.02450000000000152 + 43.62809999999999633 + + raster_8be18a44_dcc1_4134_8efb_dd46d1d75c86 + ./media/raster.asc + raster + + + + raster + + + GEOGCRS["WGS 84 (CRS84)",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic longitude (Lon)",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic latitude (Lat)",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Not known."],AREA["World."],BBOX[-90,-180,90,180]],ID["OGC","CRS84"]] + +proj=longlat +datum=WGS84 +no_defs + 63159 + 520003159 + OGC:CRS84 + WGS 84 (CRS84) + longlat + EPSG:7030 + true + + + + + + + dataset + + + + + + + + + + + + + + + + + + GEOGCRS["WGS 84 (CRS84)",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic longitude (Lon)",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic latitude (Lat)",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Not known."],AREA["World."],BBOX[-90,-180,90,180]],ID["OGC","CRS84"]] + +proj=longlat +datum=WGS84 +no_defs + 63159 + 520003159 + OGC:CRS84 + WGS 84 (CRS84) + longlat + EPSG:7030 + true + + + + + + + + + + + + + gdal + + + + + + + + + 1 + 1 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MinMax + WholeRaster + Estimated + 0.02 + 0.98 + 2 + + + 50 + 125 + StretchToMinimumMaximum + + + + + + + + + + + resamplingFilter + + 0 + + + + 3.88567309248191517 + 43.6228987861304347 + 3.88983643756151087 + 43.62557768612489895 + + + 3.88567309248191517 + 43.6228987861304347 + 3.88983643756151087 + 43.62557768612489895 + + single_wms_points_group_73b4f94f_28b3_4a4b_8c9e_c19da01c5b6e + service='lizmapdb' sslmode=disable key='id' estimatedmetadata=true srid=4326 type=Point checkPrimaryKeyUnicity='1' table="tests_projects"."single_wms_points_group" (geom) + single_wms_points_group + + + + single_wms_points_group + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + + + dataset + + + + + + + + + + + + + + + + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + + + + + + + + + postgres + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + generatedlayout + + + + + + + + + + + + + + + "title" + + + + + 3.839991945080798 + 43.57356896293617865 + 3.93644277275809706 + 43.63754756174982674 + + + 3.839991945080798 + 43.57356896293617865 + 3.93644277275809706 + 43.63754756174982674 + + single_wms_polygons_28f4c31d_c16b_4df9_8c82_3dcb391f5cd1 + service='lizmapdb' sslmode=disable key='id' estimatedmetadata=true srid=4326 type=Polygon checkPrimaryKeyUnicity='1' table="tests_projects"."single_wms_polygons" (geom) + single_wms_polygons + + + + single_wms_polygons + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + + + dataset + + + + + + + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + postgres + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + generatedlayout + + + + + + + + + + + 3.88960514061264506 + 43.62725193799943213 + 3.93493934259046396 + 43.64164857911855222 + + + 3.88960514061264506 + 43.62725193799943213 + 3.93493934259046396 + 43.64164857911855222 + + single_wms_polygons_group_as_layer_69c1b7fa_928b_4b09_bb96_a3ea16b781a8 + service='lizmapdb' sslmode=disable key='id' estimatedmetadata=true srid=4326 type=Polygon checkPrimaryKeyUnicity='1' table="tests_projects"."single_wms_polygons_group_as_layer" (geom) + single_wms_polygons_group_as_layer + + + + single_wms_polygons_group_as_layer + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + + + dataset + + + + + + + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + postgres + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + generatedlayout + + + + + + + + + + + + + + + + + + + 0 + + + 255 + 255 + 255 + 255 + 0 + 255 + 255 + + + false + + + + + + EPSG:7030 + + + m2 + meters + + + 5 + 2.5 + false + false + false + 1 + 0 + false + false + true + 0 + 255,0,0,255 + + + false + + + true + 2 + + false + + 1 + + + + lizmap_repository + lizmap_user + lizmap_user_groups + + + intranet + + + + + + + + + + + + + + None + false + false + + + + + + 1 + + 422771.12550000002374873 + 5400853.0778999999165535 + 441957.86959999997634441 + 5411821.66569999977946281 + + false + conditions unknown + 90 + + + + 1 + + 8 + group_as_layer_opacity + false + + true + group_as_layer_opacity + 0 + + false + + + + + + + + false + + + + + false + + 5000 + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Riccardo Beltrami + 2025-02-27T10:38:40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["Popular Visualisation Pseudo-Mercator",METHOD["Popular Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Web mapping and visualisation."],AREA["World between 85.06°S and 85.06°N."],BBOX[-85.06,-180,85.06,180]],ID["EPSG",3857]] + +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs + 3857 + 3857 + EPSG:3857 + WGS 84 / Pseudo-Mercator + merc + EPSG:7030 + false + + + + + + + + + + + + + + + + + + + + + + GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] + +proj=longlat +datum=WGS84 +no_defs + 3452 + 4326 + EPSG:4326 + WGS 84 + longlat + EPSG:7030 + true + + + + + + + diff --git a/tests/qgis-projects/tests/group_as_layer_opacity.qgs.cfg b/tests/qgis-projects/tests/group_as_layer_opacity.qgs.cfg new file mode 100644 index 0000000000..e32aab00b7 --- /dev/null +++ b/tests/qgis-projects/tests/group_as_layer_opacity.qgs.cfg @@ -0,0 +1,343 @@ +{ + "metadata": { + "qgis_desktop_version": 33403, + "lizmap_plugin_version_str": "4.4.6", + "lizmap_plugin_version": 40406, + "lizmap_web_client_target_version": 31000, + "lizmap_web_client_target_status": "Dev", + "instance_target_url": "http://localhost:8130/", + "instance_target_repository": "intranet" + }, + "warnings": {}, + "debug": { + "total_time": 0.659 + }, + "options": { + "projection": { + "proj4": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs", + "ref": "EPSG:3857" + }, + "bbox": [ + "422771.12550000002374873", + "5400853.0778999999165535", + "441957.86959999997634441", + "5411821.66569999977946281" + ], + "mapScales": [ + 10000, + 25000, + 50000, + 100000, + 250000, + 500000 + ], + "minScale": 1, + "maxScale": 1000000000, + "use_native_zoom_levels": false, + "hide_numeric_scale_value": false, + "initialExtent": [ + 422771.1255, + 5400853.0779, + 441957.8696, + 5411821.6657 + ], + "popupLocation": "dock", + "pointTolerance": 25, + "lineTolerance": 10, + "polygonTolerance": 5, + "automatic_permalink": true, + "tmTimeFrameSize": 10, + "tmTimeFrameType": "seconds", + "tmAnimationFrameLength": 1000, + "datavizLocation": "dock", + "theme": "dark", + "fixed_scale_overview_map": true, + "dataviz_drag_drop": [] + }, + "layers": { + "Group_a": { + "id": "Group_a", + "name": "Group_a", + "type": "group", + "title": "Group_a", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "True", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "single_wms_points_group": { + "id": "single_wms_points_group_73b4f94f_28b3_4a4b_8c9e_c19da01c5b6e", + "name": "single_wms_points_group", + "type": "layer", + "geometryType": "point", + "extent": [ + 3.885673092481915, + 43.622898786130435, + 3.889836437561511, + 43.6255776861249 + ], + "crs": "EPSG:4326", + "title": "single_wms_points_group", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "True", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "single_wms_polygons_group_as_layer": { + "id": "single_wms_polygons_group_as_layer_69c1b7fa_928b_4b09_bb96_a3ea16b781a8", + "name": "single_wms_polygons_group_as_layer", + "type": "layer", + "geometryType": "polygon", + "extent": [ + 3.889605140612645, + 43.62725193799943, + 3.934939342590464, + 43.64164857911855 + ], + "crs": "EPSG:4326", + "title": "single_wms_polygons_group_as_layer", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "True", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "Group_opacity": { + "id": "Group_opacity", + "name": "Group_opacity", + "type": "layer", + "title": "Group_opacity", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "True", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "True", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "single_wms_polygons": { + "id": "single_wms_polygons_28f4c31d_c16b_4df9_8c82_3dcb391f5cd1", + "name": "single_wms_polygons", + "type": "layer", + "geometryType": "polygon", + "extent": [ + 3.839991945080798, + 43.57356896293618, + 3.936442772758097, + 43.63754756174983 + ], + "crs": "EPSG:4326", + "title": "single_wms_polygons", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "False", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "raster": { + "id": "raster_8be18a44_dcc1_4134_8efb_dd46d1d75c86", + "name": "raster", + "type": "layer", + "extent": [ + 3.8485, + 43.573100000000004, + 4.0245, + 43.6281 + ], + "crs": "OGC:CRS84", + "title": "raster", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "False", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "baselayers": { + "id": "baselayers", + "name": "baselayers", + "type": "group", + "title": "baselayers", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "True", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + }, + "OpenStreetMap": { + "id": "_b78d3a87_9f7b_4341_8514_5620e97c2210", + "name": "OpenStreetMap", + "type": "layer", + "extent": [ + -20037508.342789244, + -20037508.342789248, + 20037508.342789244, + 20037508.342789248 + ], + "crs": "EPSG:3857", + "title": "OpenStreetMap", + "abstract": "", + "link": "", + "minScale": 1, + "maxScale": 1000000000000, + "toggled": "False", + "popup": "False", + "popupSource": "auto", + "popupTemplate": "", + "popupMaxFeatures": 10, + "popupDisplayChildren": "False", + "popup_allow_download": true, + "legend_image_option": "hide_at_startup", + "groupAsLayer": "False", + "baseLayer": "False", + "displayInLegend": "True", + "group_visibility": [], + "singleTile": "True", + "imageFormat": "image/png", + "cached": "False", + "clientCacheExpiration": 300 + } + }, + "atlas": { + "layers": [] + }, + "locateByLayer": {}, + "attributeLayers": {}, + "tooltipLayers": {}, + "editionLayers": {}, + "layouts": { + "config": { + "default_popup_print": false + }, + "list": [ + { + "layout": "test", + "enabled": true, + "formats_available": [ + "pdf" + ], + "default_format": "pdf", + "dpi_available": [ + "100" + ], + "default_dpi": "100" + } + ] + }, + "loginFilteredLayers": {}, + "timemanagerLayers": {}, + "datavizLayers": {}, + "filter_by_polygon": { + "config": { + "polygon_layer_id": "single_wms_polygons_28f4c31d_c16b_4df9_8c82_3dcb391f5cd1", + "group_field": "id", + "filter_by_user": false + }, + "layers": [] + }, + "formFilterLayers": {} +}