From ccc601b31fe51608f512187f54268fc219799ed2 Mon Sep 17 00:00:00 2001 From: Marco Hugentobler Date: Fri, 2 Jul 2021 09:45:34 +0200 Subject: [PATCH] Fix painter scaling and add unit test --- .../layertree/qgslayertreemodellegendnode.cpp | 13 +- .../test_qgsserver_wms_getlegendgraphic.py | 13 + ...tLegendGraphic_Legend_Placeholder_Icon.png | Bin 0 -> 8897 bytes .../test_project_legend_placeholder_image.qgs | 3257 +++++++++++++++++ 4 files changed, 3279 insertions(+), 4 deletions(-) create mode 100644 tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Legend_Placeholder_Icon/WMS_GetLegendGraphic_Legend_Placeholder_Icon.png create mode 100644 tests/testdata/qgis_server/test_project_legend_placeholder_image.qgs diff --git a/src/core/layertree/qgslayertreemodellegendnode.cpp b/src/core/layertree/qgslayertreemodellegendnode.cpp index 88dfc937ee5..4ca8aebf9ca 100644 --- a/src/core/layertree/qgslayertreemodellegendnode.cpp +++ b/src/core/layertree/qgslayertreemodellegendnode.cpp @@ -946,18 +946,23 @@ QSizeF QgsImageLegendNode::drawSymbol( const QgsLegendSettings &settings, ItemCo { Q_UNUSED( itemHeight ) - if ( ctx && ctx->painter ) + if ( ctx && ctx->painter && ctx->context ) { - QImage scaledImg = mImage.scaled( settings.wmsLegendSize().toSize(), Qt::KeepAspectRatio, Qt::FastTransformation ); + QgsScopedRenderContextScaleToPixels scopedScaleToPixels( *( ctx->context ) ); + double scaleFactor = ctx->context->scaleFactor(); + double imgWidth = settings.wmsLegendSize().width() * scaleFactor; + double imgHeight = settings.wmsLegendSize().height() * scaleFactor; + + QImage scaledImg = mImage.scaled( QSizeF( imgWidth, imgHeight ).toSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation ); switch ( settings.symbolAlignment() ) { case Qt::AlignLeft: default: - ctx->painter->drawImage( QPointF( ctx->columnLeft, ctx->top ), scaledImg ); + ctx->painter->drawImage( QPointF( ctx->columnLeft * scaleFactor, ctx->top * scaleFactor ), scaledImg ); break; case Qt::AlignRight: - ctx->painter->drawImage( QPointF( ctx->columnRight - settings.wmsLegendSize().width(), ctx->top ), scaledImg ); + ctx->painter->drawImage( QPointF( ctx->columnRight * scaleFactor - imgWidth, ctx->top * scaleFactor ), scaledImg ); break; } } diff --git a/tests/src/python/test_qgsserver_wms_getlegendgraphic.py b/tests/src/python/test_qgsserver_wms_getlegendgraphic.py index 54cd59c796e..24450f32cbc 100644 --- a/tests/src/python/test_qgsserver_wms_getlegendgraphic.py +++ b/tests/src/python/test_qgsserver_wms_getlegendgraphic.py @@ -1045,6 +1045,19 @@ class TestQgsServerWMSGetLegendGraphic(TestQgsServerWMSTestBase): self.assertEqual(node['scaleMaxDenom'], 1000) self.assertEqual(node['scaleMinDenom'], 10000) + def testLegendPlaceholderIcon(self): + qs = "?" + "&".join(["%s=%s" % i for i in list({ + "MAP": self.testdata_path + 'test_project_legend_placeholder_image.qgs', + "SERVICE": "WMS", + "VERSION": "1.3", + "REQUEST": "GetLegendGraphic", + "LAYER": "landsat", + "FORMAT": "image/png", + }.items())]) + + r, h = self._result(self._execute_request(qs)) + self._img_diff_error(r, h, "WMS_GetLegendGraphic_Legend_Placeholder_Icon") + if __name__ == '__main__': unittest.main() diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Legend_Placeholder_Icon/WMS_GetLegendGraphic_Legend_Placeholder_Icon.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Legend_Placeholder_Icon/WMS_GetLegendGraphic_Legend_Placeholder_Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c799039210374c19d36844abfe7c3050a6943c48 GIT binary patch literal 8897 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 LN2L;C8} + + + QGIS Test Project + + + + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + testlayer20150528120452665 + testlayer_c0988fd7_97ca_451d_adbc_37ad6d10583a + testlayer_0b835118_a5d5_4255_b5dd_f42253c0a4a0 + testlayer_2b89ed65_ef2f_4897_af15_9b32d4c4e040 + testlayer_èé_cf86cf11_222f_4b62_929c_12cfc82b9774 + testlayer_èé_2_a5f61891_b949_43e3_ad30_84013fc922de + landsat_a7d15b35_ca83_4b23_a9fb_af3fbdd60d15 + + + + + + + + + + + + + + + + degrees + + 17.92123882869385909 + 30.1492204088525888 + 18.0486921925404431 + 30.25992437587047235 + + 0 + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Beschriftungen_bd4c1b29_b8ad_49b9_a322_c2680ab442c5 + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + 1 + 0 + + + + + 781662.375 + 3339523.125 + 793062.375 + 3350923.125 + + + 17.92427343259496908 + 30.15185621759111001 + 18.04565758863933667 + 30.25728856713195114 + + landsat_a7d15b35_ca83_4b23_a9fb_af3fbdd60d15 + ../landsat.tif + + + + landsat + + + PROJCRS["WGS 84 / UTM zone 33N",BASEGEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 33N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",15,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["unknown"],AREA["World - N hemisphere - 12°E to 18°E - by country"],BBOX[0,12,84,18]],ID["EPSG",32633]] + +proj=utm +zone=33 +datum=WGS84 +units=m +no_defs + 3117 + 32633 + EPSG:32633 + WGS 84 / UTM zone 33N + utm + EPSG:7030 + false + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + gdal + + + + + + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + MinMax + WholeRaster + Estimated + 0.02 + 0.98 + 2 + + + 122 + 130 + StretchToMinimumMaximum + + + + + + + + + + + resamplingFilter + + 0 + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer20150528120452665 + ./testlayer.shp + A test vector layer + A test vector layer with unicode òà + + + + testlayer èé + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + ogr + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + . + + 0 + generatedlayout + + + + + + "name" + [% 'Name: ' || "name" %] + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer_0b835118_a5d5_4255_b5dd_f42253c0a4a0 + ./testlayer.shp + + + + testlayer3 + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + ogr + + + + + + + + + + 0 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + + + 0 + generatedlayout + + + + + + + + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer_2b89ed65_ef2f_4897_af15_9b32d4c4e040 + ./testlayer.shp + + + + testlayer2 + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + ogr + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + + + 0 + generatedlayout + + + + + + + + + + + + + + id + + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer_c0988fd7_97ca_451d_adbc_37ad6d10583a + ./testlayer.shp + layer_with_short_name + A Layer with a short name + A Layer with an abstract + + + + testlayer + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + ogr + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + + + 0 + generatedlayout + + + + + + + + + + + + + + id + + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer_èé_2_a5f61891_b949_43e3_ad30_84013fc922de + ./testlayer.shp + A test vector layer + A test vector layer with unicode òà + + + + exclude_attribute + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + ogr + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + . + + 0 + generatedlayout + + + + + + + + + + + + + + name + [% 'Name: ' || "name" %] + + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + + 8.20345930703634352 + 44.90139483904469131 + 8.20354699399348775 + 44.90148252600183554 + + testlayer_èé_cf86cf11_222f_4b62_929c_12cfc82b9774 + ./testlayer.shp + A test vector layer + A test vector layer with unicode òà + + + + fields_alias + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + + + + + + + + + ogr + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + 0 + . + + 0 + generatedlayout + + + + + + + + + + + + + + name + [% 'Name: ' || "name" %] + + + + + + + + + + + + + + 255 + + + + + 1 + true + + + + 2 + 0 + 2 + off + + + + + + current_layer + + + 255 + 255 + 255 + 255 + 0 + 255 + 255 + + + + testlayer_0b835118_a5d5_4255_b5dd_f42253c0a4a0 + + + + false + + + + + + WGS84 + + + m2 + meters + + + 50 + 5 + 16 + 30 + 2.5 + true + false + false + 0 + 0 + false + false + true + 0 + 255,0,0,255 + + + false + + + true + 2 + D + + + + + + 3452 + +proj=longlat +datum=WGS84 +no_defs + EPSG:4326 + 1 + + + + 0 + + + + + + + + + testlayer20150528120452665 + + + 8 + + + + testlayer20150528120452665 + + + testlayer20150528120452665 + + + testlayer20150528120452665 + + + + None + true + elpaso@itopen.it + QGIS dev team + Alessandro Pasotti + + + + 8.20315414376310059 + 44.901236559338642 + 8.204164917965862 + 44.90159838674664172 + + conditions unknown + 90 + + + + + 4 + false + + + false + Some UTF8 text èòù + true + QGIS TestProject + + false + + + + + + + + + + + + QGIS Test Project + + + + + + + + + + + + + 2000-01-01T00:00:00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],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["unknown"],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 + + + + + + + + + +