From 385de9db003e42d8fd7b7852b9bb75fedef8efee Mon Sep 17 00:00:00 2001 From: rldhont Date: Wed, 1 Aug 2018 11:42:15 +0200 Subject: [PATCH] [Server][Feature][needs-docs] Create WMTS service Tests --- tests/src/python/CMakeLists.txt | 1 + tests/src/python/test_qgsserver_wmts.py | 195 + .../WMTS_GetTile_CountryGroup_3857_0.png | Bin 0 -> 25799 bytes .../WMTS_GetTile_CountryGroup_4326_0.png | Bin 0 -> 19400 bytes .../WMTS_GetTile_Hello_3857_0.png | Bin 0 -> 13157 bytes .../WMTS_GetTile_Hello_4326_0.png | Bin 0 -> 12340 bytes .../WMTS_GetTile_Project_3857_0.png | Bin 0 -> 33108 bytes .../WMTS_GetTile_Project_4326_0.png | Bin 0 -> 27852 bytes .../qgis_server/wmts_getcapabilities.txt | 1373 +++++++ .../project_groups.qgs | 3259 +++++------------ 10 files changed, 2478 insertions(+), 2350 deletions(-) create mode 100644 tests/src/python/test_qgsserver_wmts.py create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_3857_0/WMTS_GetTile_CountryGroup_3857_0.png create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_4326_0/WMTS_GetTile_CountryGroup_4326_0.png create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_3857_0/WMTS_GetTile_Hello_3857_0.png create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_4326_0/WMTS_GetTile_Hello_4326_0.png create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_3857_0/WMTS_GetTile_Project_3857_0.png create mode 100644 tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_4326_0/WMTS_GetTile_Project_4326_0.png create mode 100644 tests/testdata/qgis_server/wmts_getcapabilities.txt diff --git a/tests/src/python/CMakeLists.txt b/tests/src/python/CMakeLists.txt index f198c7e4834b..c74dd3a88b03 100644 --- a/tests/src/python/CMakeLists.txt +++ b/tests/src/python/CMakeLists.txt @@ -269,6 +269,7 @@ IF (WITH_SERVER) ADD_PYTHON_TEST(PyQgsServerAccessControlWCS test_qgsserver_accesscontrol_wcs.py) ADD_PYTHON_TEST(PyQgsServerAccessControlWFSTransactional test_qgsserver_accesscontrol_wfs_transactional.py) ADD_PYTHON_TEST(PyQgsServerCacheManager test_qgsserver_cachemanager.py) + ADD_PYTHON_TEST(PyQgsServerWMTS test_qgsserver_wmts.py) ADD_PYTHON_TEST(PyQgsServerWFS test_qgsserver_wfs.py) ADD_PYTHON_TEST(PyQgsServerWFST test_qgsserver_wfst.py) ADD_PYTHON_TEST(PyQgsOfflineEditingWFS test_offline_editing_wfs.py) diff --git a/tests/src/python/test_qgsserver_wmts.py b/tests/src/python/test_qgsserver_wmts.py new file mode 100644 index 000000000000..a640c9d18b67 --- /dev/null +++ b/tests/src/python/test_qgsserver_wmts.py @@ -0,0 +1,195 @@ +# -*- coding: utf-8 -*- +"""QGIS Unit tests for QgsServer WFS. + +From build dir, run: ctest -R PyQgsServerWFS -V + + +.. note:: This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +""" +__author__ = 'René-Luc Dhont' +__date__ = '19/09/2017' +__copyright__ = 'Copyright 2017, The QGIS Project' +# This will get replaced with a git SHA1 when you do a git archive +__revision__ = '$Format:%H$' + +import os + +# Needed on Qt 5 so that the serialization of XML is consistent among all executions +os.environ['QT_HASH_SEED'] = '1' + +import re +import urllib.request +import urllib.parse +import urllib.error + +from qgis.server import QgsServerRequest + +from qgis.testing import unittest +from qgis.PyQt.QtCore import QSize + +import osgeo.gdal # NOQA + +from test_qgsserver import QgsServerTestBase + +# Strip path and content length because path may vary +RE_STRIP_UNCHECKABLE = b'MAP=[^"]+|Content-Length: \d+|timeStamp="[^"]+"' +RE_ATTRIBUTES = b'[^>\s]+=[^>\s]+' + + +class TestQgsServerWMTS(QgsServerTestBase): + + """QGIS Server WMTS Tests""" + + def wmts_request_compare(self, request, version='', extra_query_string='', reference_base_name=None): + #project = self.testdata_path + "test_project_wfs.qgs" + project = self.projectGroupsPath + assert os.path.exists(project), "Project file not found: " + project + + query_string = '?MAP=%s&SERVICE=WMTS&REQUEST=%s' % (urllib.parse.quote(project), request) + if version: + query_string += '&VERSION=%s' % version + + if extra_query_string: + query_string += '&%s' % extra_query_string + + header, body = self._execute_request(query_string) + self.assert_headers(header, body) + response = header + body + + if reference_base_name is not None: + reference_name = reference_base_name + else: + reference_name = 'wmts_' + request.lower() + + reference_name += '.txt' + + reference_path = self.testdata_path + reference_name + + self.store_reference(reference_path, response) + f = open(reference_path, 'rb') + expected = f.read() + f.close() + response = re.sub(RE_STRIP_UNCHECKABLE, b'', response) + expected = re.sub(RE_STRIP_UNCHECKABLE, b'', expected) + + self.assertXMLEqual(response, expected, msg="request %s failed.\n Query: %s" % (query_string, request)) + + def test_project_wmts(self): + """Test some WMTS request""" + for request in ('GetCapabilities',): + self.wmts_request_compare(request) + #self.wmts_request_compare(request, '1.0.0') + + def test_wmts_gettile(self): + # Testing project WMTS layer + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "QGIS Server Hello World", + "STYLE": "", + "TILEMATRIXSET": "EPSG:3857", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_Project_3857_0", 20000) + + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "QGIS Server Hello World", + "STYLE": "", + "TILEMATRIXSET": "EPSG:4326", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_Project_4326_0", 20000) + + # Testing group WMTS layer + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "CountryGroup", + "STYLE": "", + "TILEMATRIXSET": "EPSG:3857", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_CountryGroup_3857_0", 20000) + + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "CountryGroup", + "STYLE": "", + "TILEMATRIXSET": "EPSG:4326", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_CountryGroup_4326_0", 20000) + + # Testing QgsMapLayer WMTS layer + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "Hello", + "STYLE": "", + "TILEMATRIXSET": "EPSG:3857", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_Hello_3857_0", 20000) + + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": urllib.parse.quote(self.projectGroupsPath), + "SERVICE": "WMTS", + "VERSION": "1.0.0", + "REQUEST": "GetTile", + "LAYER": "Hello", + "STYLE": "", + "TILEMATRIXSET": "EPSG:4326", + "TILEMATRIX": "0", + "TILEROW": "0", + "TILECOL": "0", + "FORMAT": "image/png" + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMTS_GetTile_Hello_4326_0", 20000) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_3857_0/WMTS_GetTile_CountryGroup_3857_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_3857_0/WMTS_GetTile_CountryGroup_3857_0.png new file mode 100644 index 0000000000000000000000000000000000000000..276c41e0400a6dbbdaa480a1ce3b9bd827308dab GIT binary patch literal 25799 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_4326_0/WMTS_GetTile_CountryGroup_4326_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_CountryGroup_4326_0/WMTS_GetTile_CountryGroup_4326_0.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6486b88f6ee804b266c67857dde39e8b8db474 GIT binary patch literal 19400 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 Tm_|!~00000NkvXXu0mjfh?Tw) literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_3857_0/WMTS_GetTile_Hello_3857_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_3857_0/WMTS_GetTile_Hello_3857_0.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a737f05372ca54c0444f10e5007704b307fdf8 GIT binary patch literal 13157 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 s5Az~>|dN@&Ni&0b+*n- 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 G$o~P{kUY@< literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_4326_0/WMTS_GetTile_Hello_4326_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_Hello_4326_0/WMTS_GetTile_Hello_4326_0.png new file mode 100644 index 0000000000000000000000000000000000000000..2b54a1bf8bce84d3dd72d39155bdad0774f2e8f1 GIT binary patch literal 12340 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 A0{{R3 literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_3857_0/WMTS_GetTile_Project_3857_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_3857_0/WMTS_GetTile_Project_3857_0.png new file mode 100644 index 0000000000000000000000000000000000000000..eae982b9ecef06958116e14c26b79c4ed11a552e GIT binary patch literal 33108 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 P2#}Xn`BEuq`s05AJ2jNt literal 0 HcmV?d00001 diff --git a/tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_4326_0/WMTS_GetTile_Project_4326_0.png b/tests/testdata/control_images/qgis_server/WMTS_GetTile_Project_4326_0/WMTS_GetTile_Project_4326_0.png new file mode 100644 index 0000000000000000000000000000000000000000..843453c5c133024fb52fea9e8eaf254685e6a5cc GIT binary patch literal 27852 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 WG+UjHQ40Q^3{a3&k*Sh03Hl$%&N-6+ literal 0 HcmV?d00001 diff --git a/tests/testdata/qgis_server/wmts_getcapabilities.txt b/tests/testdata/qgis_server/wmts_getcapabilities.txt new file mode 100644 index 000000000000..4a8ae38ff319 --- /dev/null +++ b/tests/testdata/qgis_server/wmts_getcapabilities.txt @@ -0,0 +1,1373 @@ + +Content-Type: text/xml; charset=utf-8 + + + + OGC WMTS + 1.0.0 + QGIS Server test + + conditions unknown + None + + + QGIS + + Stéphane Brunner + + + + + + + + + + + + + + + + + + + + + + + + + + + + QGIS Server Hello World + QGIS Server Hello World + QGIS Server Hello World + + -174.766573 -69.957838 + 177.930819 84.307876 + + + -19454925.898459 -11055006.822989 + 19807168.136881 19143772.793601 + + + image/png + + EPSG:3857 + + + 0 + 0 + 1 + 0 + 1 + + + 1 + 0 + 2 + 0 + 2 + + + 2 + 0 + 4 + 0 + 4 + + + 3 + 0 + 8 + 0 + 8 + + + 4 + 0 + 16 + 0 + 16 + + + 5 + 0 + 32 + 0 + 32 + + + 6 + 0 + 64 + 0 + 64 + + + 7 + 0 + 128 + 0 + 128 + + + 8 + 0 + 256 + 0 + 256 + + + 9 + 0 + 512 + 0 + 512 + + + 10 + 0 + 1024 + 0 + 1024 + + + 11 + 0 + 2048 + 0 + 2048 + + + 12 + 0 + 4096 + 0 + 4096 + + + 13 + 0 + 8192 + 0 + 8192 + + + 14 + 0 + 16384 + 0 + 16384 + + + 15 + 0 + 32768 + 0 + 32768 + + + 16 + 0 + 65536 + 0 + 65536 + + + 17 + 0 + 131072 + 0 + 131072 + + + 18 + 0 + 262144 + 0 + 262144 + + + 19 + 0 + 524288 + 0 + 524288 + + + 20 + 0 + 1048576 + 0 + 1048576 + + + + + EPSG:4326 + + + 0 + 0 + 2 + 0 + 1 + + + 1 + 0 + 4 + 0 + 2 + + + 2 + 0 + 8 + 0 + 4 + + + 3 + 0 + 16 + 0 + 8 + + + 4 + 0 + 32 + 0 + 16 + + + 5 + 0 + 64 + 0 + 32 + + + 6 + 0 + 128 + 0 + 64 + + + 7 + 0 + 256 + 0 + 128 + + + 8 + 0 + 511 + 0 + 256 + + + 9 + 0 + 1022 + 0 + 511 + + + 10 + 0 + 2044 + 0 + 1022 + + + 11 + 0 + 4089 + 0 + 2044 + + + 12 + 0 + 8177 + 0 + 4089 + + + 13 + 0 + 16354 + 0 + 8177 + + + 14 + 0 + 32709 + 0 + 16354 + + + 15 + 0 + 65418 + 0 + 32709 + + + 16 + 0 + 130836 + 0 + 65418 + + + 17 + 0 + 261672 + 0 + 130836 + + + 18 + 0 + 523344 + 0 + 261672 + + + 19 + 0 + 1046687 + 0 + 523344 + + + + + + CountryGroup + CountryGroup + + -176.248495 -67.592996 + 179.412741 83.621086 + + + -19619892.68012 -10327100.342322 + 19972134.918542 18415866.312934 + + + image/png + text/plain + text/html + text/xml + application/vnd.ogc.gml + application/vnd.ogc.gml/3.1.1 + + EPSG:3857 + + + 0 + 0 + 1 + 0 + 1 + + + 1 + 0 + 2 + 0 + 2 + + + 2 + 0 + 4 + 0 + 4 + + + 3 + 0 + 8 + 0 + 8 + + + 4 + 0 + 16 + 0 + 16 + + + 5 + 0 + 32 + 0 + 32 + + + 6 + 0 + 64 + 0 + 64 + + + 7 + 0 + 128 + 0 + 128 + + + 8 + 0 + 256 + 0 + 256 + + + 9 + 0 + 512 + 0 + 512 + + + 10 + 0 + 1024 + 0 + 1024 + + + 11 + 0 + 2048 + 0 + 2048 + + + 12 + 0 + 4096 + 0 + 4096 + + + 13 + 0 + 8192 + 0 + 8192 + + + 14 + 0 + 16384 + 0 + 16384 + + + 15 + 0 + 32768 + 0 + 32768 + + + 16 + 0 + 65536 + 0 + 65536 + + + 17 + 0 + 131072 + 0 + 131072 + + + 18 + 0 + 262144 + 0 + 262144 + + + 19 + 0 + 524288 + 0 + 524288 + + + 20 + 0 + 1048576 + 0 + 1048576 + + + + + EPSG:4326 + + + 0 + 0 + 2 + 0 + 1 + + + 1 + 0 + 4 + 0 + 2 + + + 2 + 0 + 8 + 0 + 4 + + + 3 + 0 + 16 + 0 + 8 + + + 4 + 0 + 32 + 0 + 16 + + + 5 + 0 + 64 + 0 + 32 + + + 6 + 0 + 128 + 0 + 64 + + + 7 + 0 + 256 + 0 + 128 + + + 8 + 0 + 511 + 0 + 256 + + + 9 + 0 + 1022 + 0 + 511 + + + 10 + 0 + 2044 + 0 + 1022 + + + 11 + 0 + 4089 + 0 + 2044 + + + 12 + 0 + 8177 + 0 + 4089 + + + 13 + 0 + 16354 + 0 + 8177 + + + 14 + 0 + 32709 + 0 + 16354 + + + 15 + 0 + 65418 + 0 + 32709 + + + 16 + 0 + 130836 + 0 + 65418 + + + 17 + 0 + 261672 + 0 + 130836 + + + 18 + 0 + 523344 + 0 + 261672 + + + 19 + 0 + 1046687 + 0 + 523344 + + + + + + Hello + + -132.467818 -1.006739 + 101.888717 69.520496 + + + -14746250.075131 -112075.428077 + 11342200.077197 10914413.714128 + + + image/png + text/plain + text/html + text/xml + application/vnd.ogc.gml + application/vnd.ogc.gml/3.1.1 + + EPSG:3857 + + + 0 + 0 + 1 + 0 + 1 + + + 1 + 0 + 2 + 0 + 2 + + + 2 + 0 + 4 + 0 + 4 + + + 3 + 0 + 8 + 0 + 8 + + + 4 + 0 + 16 + 0 + 16 + + + 5 + 0 + 32 + 0 + 32 + + + 6 + 0 + 64 + 0 + 64 + + + 7 + 0 + 128 + 0 + 128 + + + 8 + 0 + 256 + 0 + 256 + + + 9 + 0 + 512 + 0 + 512 + + + 10 + 0 + 1024 + 0 + 1024 + + + 11 + 0 + 2048 + 0 + 2048 + + + 12 + 0 + 4096 + 0 + 4096 + + + 13 + 0 + 8192 + 0 + 8192 + + + 14 + 0 + 16384 + 0 + 16384 + + + 15 + 0 + 32768 + 0 + 32768 + + + 16 + 0 + 65536 + 0 + 65536 + + + 17 + 0 + 131072 + 0 + 131072 + + + 18 + 0 + 262144 + 0 + 262144 + + + 19 + 0 + 524288 + 0 + 524288 + + + 20 + 0 + 1048576 + 0 + 1048576 + + + + + EPSG:4326 + + + 0 + 0 + 2 + 0 + 1 + + + 1 + 0 + 4 + 0 + 2 + + + 2 + 0 + 8 + 0 + 4 + + + 3 + 0 + 16 + 0 + 8 + + + 4 + 0 + 32 + 0 + 16 + + + 5 + 0 + 64 + 0 + 32 + + + 6 + 0 + 128 + 0 + 64 + + + 7 + 0 + 256 + 0 + 128 + + + 8 + 0 + 511 + 0 + 256 + + + 9 + 0 + 1022 + 0 + 511 + + + 10 + 0 + 2044 + 0 + 1022 + + + 11 + 0 + 4089 + 0 + 2044 + + + 12 + 0 + 8177 + 0 + 4089 + + + 13 + 0 + 16354 + 0 + 8177 + + + 14 + 0 + 32709 + 0 + 16354 + + + 15 + 0 + 65418 + 0 + 32709 + + + 16 + 0 + 130836 + 0 + 65418 + + + 17 + 0 + 261672 + 0 + 130836 + + + 18 + 0 + 523344 + 0 + 261672 + + + 19 + 0 + 1046687 + 0 + 523344 + + + + + + EPSG:3857 + EPSG:3857 + + 0 + 559082264.028718 + -20037508.342789 20037508.342789 + 256 + 256 + 1 + 1 + + + 1 + 279541132.014359 + -20037508.342789 20037508.342789 + 256 + 256 + 2 + 2 + + + 2 + 139770566.007179 + -20037508.342789 20037508.342789 + 256 + 256 + 4 + 4 + + + 3 + 69885283.00359 + -20037508.342789 20037508.342789 + 256 + 256 + 8 + 8 + + + 4 + 34942641.501795 + -20037508.342789 20037508.342789 + 256 + 256 + 16 + 16 + + + 5 + 17471320.750897 + -20037508.342789 20037508.342789 + 256 + 256 + 32 + 32 + + + 6 + 8735660.375449 + -20037508.342789 20037508.342789 + 256 + 256 + 64 + 64 + + + 7 + 4367830.187724 + -20037508.342789 20037508.342789 + 256 + 256 + 128 + 128 + + + 8 + 2183915.093862 + -20037508.342789 20037508.342789 + 256 + 256 + 256 + 256 + + + 9 + 1091957.546931 + -20037508.342789 20037508.342789 + 256 + 256 + 512 + 512 + + + 10 + 545978.773466 + -20037508.342789 20037508.342789 + 256 + 256 + 1024 + 1024 + + + 11 + 272989.386733 + -20037508.342789 20037508.342789 + 256 + 256 + 2048 + 2048 + + + 12 + 136494.693366 + -20037508.342789 20037508.342789 + 256 + 256 + 4096 + 4096 + + + 13 + 68247.346683 + -20037508.342789 20037508.342789 + 256 + 256 + 8192 + 8192 + + + 14 + 34123.673342 + -20037508.342789 20037508.342789 + 256 + 256 + 16384 + 16384 + + + 15 + 17061.836671 + -20037508.342789 20037508.342789 + 256 + 256 + 32768 + 32768 + + + 16 + 8530.918335 + -20037508.342789 20037508.342789 + 256 + 256 + 65536 + 65536 + + + 17 + 4265.459168 + -20037508.342789 20037508.342789 + 256 + 256 + 131072 + 131072 + + + 18 + 2132.729584 + -20037508.342789 20037508.342789 + 256 + 256 + 262144 + 262144 + + + 19 + 1066.364792 + -20037508.342789 20037508.342789 + 256 + 256 + 524288 + 524288 + + + 20 + 533.182396 + -20037508.342789 20037508.342789 + 256 + 256 + 1048576 + 1048576 + + + + EPSG:4326 + EPSG:4326 + + 0 + 279541132.014359 + -180 90 + 256 + 256 + 2 + 1 + + + 1 + 139770566.007179 + -180 90 + 256 + 256 + 4 + 2 + + + 2 + 69885283.00359 + -180 90 + 256 + 256 + 8 + 4 + + + 3 + 34942641.501795 + -180 90 + 256 + 256 + 16 + 8 + + + 4 + 17471320.750897 + -180 90 + 256 + 256 + 32 + 16 + + + 5 + 8735660.375449 + -180 90 + 256 + 256 + 64 + 32 + + + 6 + 4367830.187724 + -180 90 + 256 + 256 + 128 + 64 + + + 7 + 2183915.093862 + -180 90 + 256 + 256 + 256 + 128 + + + 8 + 1091957.546931 + -179.972618 90 + 256 + 256 + 511 + 256 + + + 9 + 545978.773466 + -179.972618 89.986309 + 256 + 256 + 1022 + 511 + + + 10 + 272989.386733 + -179.972618 89.986309 + 256 + 256 + 2044 + 1022 + + + 11 + 136494.693366 + -180 89.986309 + 256 + 256 + 4089 + 2044 + + + 12 + 68247.346683 + -179.99463 90 + 256 + 256 + 8177 + 4089 + + + 13 + 34123.673342 + -179.99463 89.997315 + 256 + 256 + 16354 + 8177 + + + 14 + 17061.836671 + -180 89.997315 + 256 + 256 + 32709 + 16354 + + + 15 + 8530.918335 + -180 90 + 256 + 256 + 65418 + 32709 + + + 16 + 4265.459168 + -180 90 + 256 + 256 + 130836 + 65418 + + + 17 + 2132.729584 + -180 90 + 256 + 256 + 261672 + 130836 + + + 18 + 1066.364792 + -180 90 + 256 + 256 + 523344 + 261672 + + + 19 + 533.182396 + -179.999961 90 + 256 + 256 + 1046687 + 523344 + + + + diff --git a/tests/testdata/qgis_server_accesscontrol/project_groups.qgs b/tests/testdata/qgis_server_accesscontrol/project_groups.qgs index bd1f6ee625de..ef083697518d 100644 --- a/tests/testdata/qgis_server_accesscontrol/project_groups.qgs +++ b/tests/testdata/qgis_server_accesscontrol/project_groups.qgs @@ -1,67 +1,51 @@ - + QGIS Server Hello World - - - + + + - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - 3857 - 3857 - EPSG:3857 - WGS 84 / Pseudo-Mercator + +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs + 100086 + 0 + USER:100086 + * Generated CRS (+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs) merc - WGS84 + false - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - + - + @@ -75,132 +59,108 @@ country20131022151106556 Country_copy20161127151800736 country20170328164317226 - Country_07a7a712_8bf3_4cb0_abde_58338f73a4b2 - Country_Labels_67649087_4e95_4483_9c32_a9e14b8360db - Country_Diagrams_208edc6e_7828_426b_a7d8_c2383f10761d - + - - - - - - - - - - - + + + + + + + + meters - -19299402.19027414172887802 - -18237547.54576336964964867 - 19536700.87085317820310593 - 39423933.74873916804790497 + -30425236.72921397164463997 + -10846058.0813884325325489 + 29667752.81264735385775566 + 14979028.33329574391245842 0 - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - 3857 - 3857 - EPSG:3857 - WGS 84 / Pseudo-Mercator + +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs + 100086 + 0 + USER:100086 + * Generated CRS (+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs) merc - WGS84 + false 0 - - - - + -19619892.68012013286352158 -10327100.34232237376272678 19972134.91854240000247955 18415866.31293442100286484 - Country_07a7a712_8bf3_4cb0_abde_58338f73a4b2 + Country_copy20161127151800736 dbname='./helloworld.db' table="country" (geom) sql= - Country copier + Country_Labels +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs @@ -232,7 +192,7 @@ - false + true @@ -243,56 +203,54 @@ - - - - + + + - - + + - - + + - + - - - - + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - + + + @@ -305,10 +263,13 @@ + + + @@ -318,29 +279,35 @@ - - + + + + + - + - + + + - + - + + @@ -351,12 +318,16 @@ - + + + + + @@ -364,6 +335,7 @@ + @@ -380,11 +352,16 @@ + + + + + @@ -397,6 +374,8 @@ + + @@ -406,11 +385,16 @@ + + + + + @@ -419,323 +403,123 @@ + + + - - - + + + + + + + + 0 0 0 - name - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - 0 - tablayout + + . + + + + + + + + + + + + . + + 0 + + + 0 + generatedlayout - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 0 - name - - - - - - - - - - - 0 - tablayout - - - - - - + + + + + + + name + + 2 + - + - + @@ -749,13 +533,13 @@ - + @@ -769,9 +553,9 @@ @@ -782,40 +566,44 @@ - - - - + + + + - - - + + + - + + + + + 0 0 1 - - + + - + - + @@ -836,38 +624,58 @@ - - + + - - + + - - + + - - + + - - + + + ../../../../../.. 0 - + 0 generatedlayout - + @@ -877,22 +685,22 @@ - "name" + name - + - -19619892.68012013286352158 - -10327100.34232237376272678 - 19972134.91854240000247955 - 18415866.31293442100286484 + -14746250.07513097859919071 + -112075.42807669920148328 + 11342200.07719692215323448 + 10914413.7141284141689539 - Country_Diagrams_208edc6e_7828_426b_a7d8_c2383f10761d - dbname='./helloworld.db' table="country" (geom) sql= + Hello_Project_SubsetString_copy20160223113949592 + dbname='./helloworld.db' table="hello" (geom) sql= - Country_Diagrams copier + Hello_Filter_SubsetString +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs @@ -935,16 +743,36 @@ - - + + - + - + - + + + + + + + + + + + + + + + + + @@ -956,9 +784,9 @@ @@ -968,74 +796,84 @@ - - - + + 0 0 1 - - - - - + + + + - + - + - - + + - - - - + + + + + + + + + + + - - + + + - - + + + - - + + + - + - - . + ../../../../../.. 0 @@ -1050,7 +888,7 @@ Enter the name of the function in the "Python Init function" field. An example follows: """ -from qgis.PyQt.QtWidgets import QWidget +from PyQt4.QtGui import QWidget def my_form_open(dialog, layer, feature): geom = feature.geometry() @@ -1058,6 +896,16 @@ def my_form_open(dialog, layer, feature): ]]> 0 generatedlayout + + + + + + + + + + @@ -1066,22 +914,22 @@ def my_form_open(dialog, layer, feature): - name + "pkuid" - + - -19619892.68012013286352158 - -10327100.34232237376272678 - 19972134.91854240000247955 - 18415866.31293442100286484 + -2465695.66895584994927049 + 80258.53580146089370828 + 5037064.00943838991224766 + 3762589.19456820981577039 - Country_Labels_67649087_4e95_4483_9c32_a9e14b8360db - dbname='./helloworld.db' table="country" (geom) sql= + Hello_SubsetString_copy20160222085231770 + dbname='./helloworld.db' table="hello" (geom) sql="pkuid" in ( 7, 8 ) - Country_Labels copier + Hello_Project_SubsetString +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs @@ -1124,345 +972,36 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - - - - - - - - - - - - - . - - 0 - - - 0 - generatedlayout - - - - - - - - - - name - - 2 - - - + + - + - + - + - + - + - + @@ -1474,9 +1013,9 @@ def my_form_open(dialog, layer, feature): @@ -1485,46 +1024,25 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - + + 0 0 1 - - + + - + - + @@ -1536,7 +1054,14 @@ def my_form_open(dialog, layer, feature): - + + + + + + + - - + + + - - + + + - - + + + - - + + + - - - + + ../../../../../.. @@ -1587,7 +1112,7 @@ Enter the name of the function in the "Python Init function" field. An example follows: """ -from qgis.PyQt.QtWidgets import QWidget +from PyQt4.QtGui import QWidget def my_form_open(dialog, layer, feature): geom = feature.geometry() @@ -1596,7 +1121,14 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - + + + + + + + + @@ -1606,22 +1138,22 @@ def my_form_open(dialog, layer, feature): - name + "pkuid" - + - -19619892.68012013286352158 - -10327100.34232237376272678 - 19972134.91854240000247955 - 18415866.31293442100286484 + -14746250.07513097859919071 + -112075.42807669920148328 + 11342200.07719692215323448 + 10914413.7141284141689539 - Country_copy20161127151800736 - dbname='./helloworld.db' table="country" (geom) sql= + Hello_copy20150804164427541 + dbname='./helloworld.db' table="hello" (geom) sql= - Country_Labels + Hello_SubsetString +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs @@ -1664,345 +1196,36 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - - - - - - - - - - - - - . - - 0 - - - 0 - generatedlayout - - - - - - - - - - name - - 2 - - - + + - + - + - + - + - + - + @@ -2014,9 +1237,9 @@ def my_form_open(dialog, layer, feature): @@ -2025,46 +1248,25 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - + + 0 0 1 - - + + - + - + @@ -2076,7 +1278,14 @@ def my_form_open(dialog, layer, feature): - + + + + + + + - - + + + - - + + + - - + + + - - + + + - - - + + ../../../../../.. @@ -2127,7 +1336,7 @@ Enter the name of the function in the "Python Init function" field. An example follows: """ -from qgis.PyQt.QtWidgets import QWidget +from PyQt4.QtGui import QWidget def my_form_open(dialog, layer, feature): geom = feature.geometry() @@ -2136,7 +1345,14 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - + + + + + + + + @@ -2146,22 +1362,22 @@ def my_form_open(dialog, layer, feature): - name + "pkuid" - + - -14746250.07513097859919071 - -112075.42807669920148328 - 11342200.07719692215323448 - 10914413.7141284141689539 + -19619892.68012013286352158 + -10327100.34232237376272678 + 19972134.91854240000247955 + 18415866.31293442100286484 - Hello_Project_SubsetString_copy20160223113949592 - dbname='./helloworld.db' table="hello" (geom) sql= + country20131022151106556 + dbname='./helloworld.db' table="country" (geom) sql= - Hello_Filter_SubsetString + Country +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs @@ -2204,699 +1420,22 @@ def my_form_open(dialog, layer, feature): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../.. - - 0 - - - 0 - generatedlayout - - - - - - - - - - - - - - - - - - - "pkuid" - - - - - -2465695.66895584994927049 - 80258.53580146089370828 - 5037064.00943838991224766 - 3762589.19456820981577039 - - Hello_SubsetString_copy20160222085231770 - dbname='./helloworld.db' table="hello" (geom) sql="pkuid" in ( 7, 8 ) - - - - Hello_Project_SubsetString - - - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - 3857 - 3857 - EPSG:3857 - WGS 84 / Pseudo-Mercator - merc - WGS84 - false - - - - - - - - - - - - - - - - 0 - 0 - - - - - false - - - - - spatialite - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../.. - - 0 - - - 0 - generatedlayout - - - - - - - - - - - - - - - - - - - "pkuid" - - - - - -14746250.07513097859919071 - -112075.42807669920148328 - 11342200.07719692215323448 - 10914413.7141284141689539 - - Hello_copy20150804164427541 - dbname='./helloworld.db' table="hello" (geom) sql= - - - - Hello_SubsetString - - - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - 3857 - 3857 - EPSG:3857 - WGS 84 / Pseudo-Mercator - merc - WGS84 - false - - - - - - - - - - - - - - - - 0 - 0 - - - - - false - - - - - spatialite - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../.. - - 0 - - - 0 - generatedlayout - - - - - - - - - - - - - - - - - - - "pkuid" - - - - - -19619892.68012013286352158 - -10327100.34232237376272678 - 19972134.91854240000247955 - 18415866.31293442100286484 - - country20131022151106556 - dbname='./helloworld.db' table="country" (geom) sql= - - - - Country - - - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - 3857 - 3857 - EPSG:3857 - WGS 84 / Pseudo-Mercator - merc - WGS84 - false - - - - - - - - - - - - - - - - 0 - 0 - - - - - false - - - - - spatialite - - - - - - - + + - + - - + + - - + + - - + + @@ -2908,7 +1447,7 @@ def my_form_open(dialog, layer, feature): - + @@ -2921,7 +1460,7 @@ def my_form_open(dialog, layer, feature): - + @@ -3086,24 +1625,24 @@ def my_form_open(dialog, layer, feature): - + - + - + - - + + - + 0 tablayout @@ -3116,19 +1655,19 @@ def my_form_open(dialog, layer, feature): - + - - + + - - + + - - + + @@ -3140,7 +1679,7 @@ def my_form_open(dialog, layer, feature): - + @@ -3149,7 +1688,7 @@ def my_form_open(dialog, layer, feature): - + @@ -3161,7 +1700,7 @@ def my_form_open(dialog, layer, feature): - + @@ -3174,7 +1713,7 @@ def my_form_open(dialog, layer, feature): - + @@ -3339,24 +1878,24 @@ def my_form_open(dialog, layer, feature): - + - + - + - - + + - + 0 tablayout @@ -3370,10 +1909,10 @@ def my_form_open(dialog, layer, feature): - + - + @@ -3387,13 +1926,13 @@ def my_form_open(dialog, layer, feature): - + @@ -3407,9 +1946,9 @@ def my_form_open(dialog, layer, feature): @@ -3420,20 +1959,20 @@ def my_form_open(dialog, layer, feature): - - - - + + + + - - - + + + @@ -3442,18 +1981,18 @@ def my_form_open(dialog, layer, feature): 0 0 1 - - + + - + - + @@ -3474,27 +2013,27 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + ../../../../../.. @@ -3505,7 +2044,7 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - + @@ -3518,7 +2057,7 @@ def my_form_open(dialog, layer, feature): "name" - + -19619892.68012013286352158 -10327100.34232237376272678 @@ -3573,14 +2112,14 @@ def my_form_open(dialog, layer, feature): - - + + - + - + @@ -3594,9 +2133,9 @@ def my_form_open(dialog, layer, feature): @@ -3613,19 +2152,19 @@ def my_form_open(dialog, layer, feature): 0 0 1 - - + + - - + + - + @@ -3646,34 +2185,34 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - - . + 0 @@ -3707,7 +2246,7 @@ def my_form_open(dialog, layer, feature): name - + -29.99999999999666755 29.99999999999666755 @@ -3763,11 +2302,11 @@ def my_form_open(dialog, layer, feature): - - + + - + None @@ -3784,12 +2323,12 @@ def my_form_open(dialog, layer, feature): - + 0 - + -14746250.07513097859919071 -112075.42807669920148328 @@ -3844,14 +2383,14 @@ def my_form_open(dialog, layer, feature): - - + + - + - + @@ -3865,13 +2404,13 @@ def my_form_open(dialog, layer, feature): - + @@ -3885,9 +2424,9 @@ def my_form_open(dialog, layer, feature): @@ -3900,18 +2439,18 @@ def my_form_open(dialog, layer, feature): 0 0 1 - - + + - + - + @@ -3939,31 +2478,31 @@ def my_form_open(dialog, layer, feature): - - - + + + - - - + + + - - - + + + - - - + + + - + ../../../../../.. @@ -3974,12 +2513,12 @@ def my_form_open(dialog, layer, feature): 0 generatedlayout - - - + + + - - + + @@ -3994,7 +2533,7 @@ def my_form_open(dialog, layer, feature): COALESCE( "pkuid", '<NULL>' ) - + 1000 2000 @@ -4049,14 +2588,14 @@ def my_form_open(dialog, layer, feature): - - + + - + - + @@ -4077,9 +2616,9 @@ def my_form_open(dialog, layer, feature): @@ -4092,18 +2631,18 @@ def my_form_open(dialog, layer, feature): 0 0 1 - - + + - + - + @@ -4131,31 +2670,31 @@ def my_form_open(dialog, layer, feature): - - - + + + - - - + + + - - - + + + - - - + + + - + ../../../../../.. @@ -4187,14 +2726,80 @@ def my_form_open(dialog, layer, feature): - - - - - - + + true + + CountryGroup + + + hello20131022151106574 + + + + 50 + false + 0 + false + true + 30 + 16 + false + true + + + + 255 + + + true + + + 1 + + true + + 1 + 0 + 1 + 1 + 1 + + + false + + + 1 + +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs + EPSG:3857 + 3857 + + + 255 + 255 + 255 + 246 + 108 + 255 + 128 + + conditions unknown + + dem20150730091219559 + + false + true + + true + + CountryGroup + + + hello20131022151106574 + + + Hello_SubsetString_copy20160222085231770 Hello_copy20150804164427541 @@ -4202,166 +2807,120 @@ def my_form_open(dialog, layer, feature): hello20131022151106574 points20150803121107046 + + + false + + + + + + + + + + meters + m2 + + + Stéphane Brunner + Simple test app. + + D + true + 2 + -20609693.37008669599890709 -11055006.82298868149518967 20961935.60850896313786507 19143772.79360072687268257 - false - - - - - - - true - + + 2000 + 1 + + + 1 + days + 1 + 0 + 0 + 0 + - + points20150803121107046 - + points20150803121107046 - + points20150803121107046 - + - - - - - 0 - false - false - false - 50 - true - true - 16 - 30 - false - - - false - 5000 - - 0 - 1 - 1 - 1 - 1 - - - - meters - m2 - - Stéphane Brunner + + EPSG:3857 + EPSG:4326 + 5000 - - - true - 255 - - 1 - - - - QGIS Server test - - Simple test app. - true - - - - - - false - + None - advanced - - enabled - enabled - - 40 - to vertex - - 40.000000 - 40.000000 - - - to_vertex - to_vertex - + + 1 1 1 - - 1 + to vertex country20131022151106556 hello20131022151106574 + + to_vertex + to_vertex + + + 40.000000 + 40.000000 + + 40 + + enabled + enabled + + advanced - - dem20150730091219559 - - + 5 + + false false - + + + + + + + + + + + + + 5000 90 - - - 108 - 128 - 255 - 246 - 255 - 255 - 255 - - 5 - - EPSG:3857 - EPSG:4326 - - None - conditions unknown - - - 2 - D - true - + + + + QGIS + QGIS Server test WGS84 - QGIS - - days - 0 - 2000 - 0 - 1 - 0 - 1 - - 1 - - - - EPSG:3857 - 3857 - 1 - +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs - @@ -4387,12 +2946,12 @@ def my_form_open(dialog, layer, feature): - - - + + + - + @@ -4406,22 +2965,22 @@ def my_form_open(dialog, layer, feature): - - - + + + @@ -4429,51 +2988,51 @@ def my_form_open(dialog, layer, feature): - - - + + + - + - - - + + + - + - points20150803121107046 - hello20131022151106574 - Hello_copy20150804164427541 - Hello_SubsetString_copy20160222085231770 - Hello_Project_SubsetString_copy20160223113949592 - dem20150730091219559 - country20131022151106556 - Country_copy20161127151800736 - country20170328164317226 + points20150803121107046 + hello20131022151106574 + Hello_copy20150804164427541 + Hello_SubsetString_copy20160222085231770 + Hello_Project_SubsetString_copy20160223113949592 + dem20150730091219559 + country20131022151106556 + Country_copy20161127151800736 + country20170328164317226 - + - + @@ -4491,9 +3050,9 @@ def my_form_open(dialog, layer, feature): @@ -4501,7 +3060,7 @@ def my_form_open(dialog, layer, feature): - + @@ -4522,9 +3081,9 @@ def my_form_open(dialog, layer, feature): @@ -4532,49 +3091,49 @@ def my_form_open(dialog, layer, feature): - + - - - + + + - + - - - + + + - + - + - - - + + + - + @@ -4588,22 +3147,22 @@ def my_form_open(dialog, layer, feature): - - - + + + @@ -4611,21 +3170,21 @@ def my_form_open(dialog, layer, feature): - - - + + + - - - - + + + - + - - - + + + - + - points20150803121107046 - hello20131022151106574 - Hello_copy20150804164427541 - Hello_SubsetString_copy20160222085231770 - Hello_Project_SubsetString_copy20160223113949592 - dem20150730091219559 - country20131022151106556 - Country_copy20161127151800736 - country20170328164317226 + points20150803121107046 + hello20131022151106574 + Hello_copy20150804164427541 + Hello_SubsetString_copy20160222085231770 + Hello_Project_SubsetString_copy20160223113949592 + dem20150730091219559 + country20131022151106556 + Country_copy20161127151800736 + country20170328164317226 - + - + @@ -4704,9 +3263,9 @@ def my_form_open(dialog, layer, feature): @@ -4714,7 +3273,7 @@ def my_form_open(dialog, layer, feature): - + @@ -4735,9 +3294,9 @@ def my_form_open(dialog, layer, feature): @@ -4745,42 +3304,42 @@ def my_form_open(dialog, layer, feature): - + - - - + + + - + - - - + + + - + - +