From 964bccfd35509b81e5f5b49ed3bcf467013c2f00 Mon Sep 17 00:00:00 2001 From: Julien Cabieces Date: Wed, 15 Dec 2021 18:00:29 +0100 Subject: [PATCH] Fixes #44426 : when masking, set dpi for new allocated image --- src/core/maprenderer/qgsmaprendererjob.cpp | 2 + src/core/raster/qgsrasterlayerrenderer.cpp | 7 +- tests/src/python/test_selective_masking.py | 23 + .../different_dpi_target.png | Bin 0 -> 55046 bytes tests/testdata/selective_masking.qgs | 3292 ++++++++++------- 5 files changed, 1964 insertions(+), 1360 deletions(-) create mode 100644 tests/testdata/control_images/selective_masking/different_dpi_target/different_dpi_target.png diff --git a/src/core/maprenderer/qgsmaprendererjob.cpp b/src/core/maprenderer/qgsmaprendererjob.cpp index 6b798f038cca..ab675d3a3600 100644 --- a/src/core/maprenderer/qgsmaprendererjob.cpp +++ b/src/core/maprenderer/qgsmaprendererjob.cpp @@ -374,6 +374,8 @@ QImage *QgsMapRendererJob::allocateImage( QString layerId ) QImage *image = new QImage( mSettings.deviceOutputSize(), mSettings.outputImageFormat() ); image->setDevicePixelRatio( static_cast( mSettings.devicePixelRatio() ) ); + image->setDotsPerMeterX( 1000 * mSettings.outputDpi() / 25.4 ); + image->setDotsPerMeterY( 1000 * mSettings.outputDpi() / 25.4 ); if ( image->isNull() ) { mErrors.append( Error( layerId, tr( "Insufficient memory for image %1x%2" ).arg( mSettings.outputSize().width() ).arg( mSettings.outputSize().height() ) ) ); diff --git a/src/core/raster/qgsrasterlayerrenderer.cpp b/src/core/raster/qgsrasterlayerrenderer.cpp index 39d67ad47a91..98b20cd5be54 100644 --- a/src/core/raster/qgsrasterlayerrenderer.cpp +++ b/src/core/raster/qgsrasterlayerrenderer.cpp @@ -203,10 +203,11 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRender mRasterViewPort->mHeight = static_cast( std::abs( mRasterViewPort->mBottomRightPoint.y() - mRasterViewPort->mTopLeftPoint.y() ) ); + const double dpi = 25.4 * rendererContext.scaleFactor(); if ( mProviderCapabilities & QgsRasterDataProvider::DpiDependentData && rendererContext.dpiTarget() >= 0.0 ) { - const double dpiScaleFactor = rendererContext.dpiTarget() / rendererContext.painter()->device()->logicalDpiX(); + const double dpiScaleFactor = rendererContext.dpiTarget() / dpi; mRasterViewPort->mWidth *= dpiScaleFactor; mRasterViewPort->mHeight *= dpiScaleFactor; } @@ -240,8 +241,7 @@ QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRender // TODO R->mLastViewPort = *mRasterViewPort; // TODO: is it necessary? Probably WMS only? - layer->dataProvider()->setDpi( 25.4 * rendererContext.scaleFactor() ); - + layer->dataProvider()->setDpi( dpi ); // copy the whole raster pipe! mPipe = new QgsRasterPipe( *layer->pipe() ); @@ -372,4 +372,3 @@ bool QgsRasterLayerRenderer::forceRasterRender() const // preview of intermediate raster rendering results requires a temporary output image return renderContext()->testFlag( Qgis::RenderContextFlag::RenderPartialOutput ); } - diff --git a/tests/src/python/test_selective_masking.py b/tests/src/python/test_selective_masking.py index 9cf562670ebb..2e9d4a6c6c77 100644 --- a/tests/src/python/test_selective_masking.py +++ b/tests/src/python/test_selective_masking.py @@ -124,6 +124,8 @@ def setUp(self): # polygon layer with a rule based labeling self.polys_layer2 = QgsProject.instance().mapLayersByName('polys2')[0] + self.raster_layer = QgsProject.instance().mapLayersByName('raster_layer')[0] + # try to fix the font for where labels are defined # in order to have more stable image comparison tests for layer in [self.polys_layer, self.lines_with_labels, self.polys_layer2]: @@ -755,6 +757,27 @@ def test_layout_exports(self): self.report += self.checker.report() self.assertTrue(res) + def test_different_dpi_target(self): + """Test with raster layer and a target dpi""" + + # modify labeling settings + label_settings = self.polys_layer.labeling().settings() + fmt = label_settings.format() + # enable a mask + fmt.mask().setEnabled(True) + fmt.mask().setSize(4.0) + # and mask other symbol layers underneath + fmt.mask().setMaskedSymbolLayers([ + # the black part of roads + QgsSymbolLayerReference(self.lines_layer.id(), QgsSymbolLayerId("", 0))]) + + label_settings.setFormat(fmt) + self.polys_layer.labeling().setSettings(label_settings) + + self.map_settings.setLayers([self.lines_layer, self.polys_layer, self.raster_layer]) + self.map_settings.setDpiTarget(300) + self.check_renderings(self.map_settings, "different_dpi_target") + if __name__ == '__main__': start_app() diff --git a/tests/testdata/control_images/selective_masking/different_dpi_target/different_dpi_target.png b/tests/testdata/control_images/selective_masking/different_dpi_target/different_dpi_target.png new file mode 100644 index 0000000000000000000000000000000000000000..93f97163ee2ac2a3ae1a88026d65ae8869671d85 GIT binary patch literal 55046 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�OmKsa!n#S^TnbbxfF_# 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 literal 0 HcmV?d00001 diff --git a/tests/testdata/selective_masking.qgs b/tests/testdata/selective_masking.qgs index b99b4955a213..2feec9265632 100644 --- a/tests/testdata/selective_masking.qgs +++ b/tests/testdata/selective_masking.qgs @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -19,24 +19,43 @@ - - - + + + + + - - + + + - - + + + - - + + + + + + + - - + + + - - + + + lines_ef106202_b4e1_49c4_a3d0_b65eb8bbb6d6 @@ -45,16 +64,17 @@ polys_838fcb2e_39b2_43e9_8c93_08395c053d89 lines_202ba6f8_21e4_4458_8ebf_c2ff9898a9a1 lines_190b33d5_aa3c_407d_8fb9_375651a6d83a + raster_layer_3a3513ba_d151_47ac_8f32_81acefd9b13e - + - - - - - - + + + + + + @@ -62,15 +82,15 @@ degrees - -122.462125075082227 - 4.99590595158433715 - -48.33097241763677232 - 53.24278440322343897 + -156.605339254933142 + 21.52141156297253133 + -82.47418659748768732 + 69.76829001461163671 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -86,40 +106,44 @@ - + - + - + - + - + - + + + + - - + Annotations_7e548daf_5f31_4431_a6e4_5097d85036c6 @@ -167,15 +191,22 @@ 1 0 + - + -117.62319839219053108 23.20820580488508966 -82.32264950769274492 46.18290982947509349 + + -117.62319839219053108 + 23.20820580488508966 + -82.32264950769274492 + 46.18290982947509349 + lines_190b33d5_aa3c_407d_8fb9_375651a6d83a ./lines.shp @@ -184,7 +215,7 @@ lines_with_labels - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -228,7 +259,7 @@ - + @@ -246,131 +277,156 @@ + 1 1 1 0 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -381,194 +437,254 @@ - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -576,12 +692,12 @@ - + @@ -589,7 +705,7 @@ - + @@ -622,40 +738,40 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + - + - @@ -691,21 +807,28 @@ def my_form_open(dialog, layer, feature): - - + + + Name - + -117.62319839219053108 23.20820580488508966 -82.32264950769274492 46.18290982947509349 + + -117.62319839219053108 + 23.20820580488508966 + -82.32264950769274492 + 46.18290982947509349 + lines_202ba6f8_21e4_4458_8ebf_c2ff9898a9a1 ./lines.shp @@ -714,7 +837,7 @@ def my_form_open(dialog, layer, feature): lines2 - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -758,7 +881,7 @@ def my_form_open(dialog, layer, feature): - + @@ -776,173 +899,190 @@ def my_form_open(dialog, layer, feature): + 1 1 1 0 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -954,76 +1094,90 @@ def my_form_open(dialog, layer, feature): - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1031,12 +1185,12 @@ def my_form_open(dialog, layer, feature): - + @@ -1044,7 +1198,7 @@ def my_form_open(dialog, layer, feature): - + @@ -1063,30 +1217,30 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - + - @@ -1122,21 +1276,28 @@ def my_form_open(dialog, layer, feature): - - + + + Name - + -117.62319839219053108 23.20820580488508966 -82.32264950769274492 46.18290982947509349 + + -117.62319839219053108 + 23.20820580488508966 + -82.32264950769274492 + 46.18290982947509349 + lines_ef106202_b4e1_49c4_a3d0_b65eb8bbb6d6 ./lines.shp @@ -1145,7 +1306,7 @@ def my_form_open(dialog, layer, feature): lines - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -1189,7 +1350,7 @@ def my_form_open(dialog, layer, feature): - + @@ -1207,131 +1368,156 @@ def my_form_open(dialog, layer, feature): + 1 1 1 0 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1341,76 +1527,90 @@ def my_form_open(dialog, layer, feature): - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1418,12 +1618,12 @@ def my_form_open(dialog, layer, feature): - + @@ -1431,7 +1631,7 @@ def my_form_open(dialog, layer, feature): - + @@ -1450,30 +1650,30 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - + - @@ -1509,21 +1709,28 @@ def my_form_open(dialog, layer, feature): - - + + + Name - + -118.88888888888877204 22.80020703933767834 -83.33333333333315807 46.87198067632875365 + + -118.88888888888877204 + 22.80020703933767834 + -83.33333333333315807 + 46.87198067632875365 + points_7f6b06bb_eb6d_486a_af0e_a5f4d56d2188 ./points.shp @@ -1532,7 +1739,7 @@ def my_form_open(dialog, layer, feature): points - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -1576,7 +1783,7 @@ def my_form_open(dialog, layer, feature): - + @@ -1594,189 +1801,190 @@ def my_form_open(dialog, layer, feature): + 1 1 1 0 - + - + - - - + + + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -1787,126 +1995,185 @@ def my_form_open(dialog, layer, feature): - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1914,12 +2181,12 @@ def my_form_open(dialog, layer, feature): - + @@ -1927,7 +2194,7 @@ def my_form_open(dialog, layer, feature): - + @@ -1974,50 +2241,50 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - + - @@ -2057,25 +2324,32 @@ def my_form_open(dialog, layer, feature): - - - - - - + + + + + + + Class - + -118.92286230599032137 24.50786971868489061 -83.79001199101509201 46.72617265077044379 + + -118.92286230599032137 + 24.50786971868489061 + -83.79001199101509201 + 46.72617265077044379 + polys_838fcb2e_39b2_43e9_8c93_08395c053d89 ./polys.shp @@ -2084,7 +2358,7 @@ def my_form_open(dialog, layer, feature): polys2 - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -2128,7 +2402,7 @@ def my_form_open(dialog, layer, feature): - + @@ -2146,58 +2420,59 @@ def my_form_open(dialog, layer, feature): + 1 1 1 0 - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + @@ -2210,216 +2485,308 @@ def my_form_open(dialog, layer, feature): - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - @@ -2427,76 +2794,90 @@ def my_form_open(dialog, layer, feature): - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2504,12 +2885,12 @@ def my_form_open(dialog, layer, feature): - + @@ -2517,7 +2898,7 @@ def my_form_open(dialog, layer, feature): - + @@ -2536,30 +2917,30 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - + - @@ -2595,21 +2976,28 @@ def my_form_open(dialog, layer, feature): - - + + + Name - + -118.92286230599032137 24.50786971868489061 -83.79001199101509201 46.72617265077044379 + + -118.92286230599032137 + 24.50786971868489061 + -83.79001199101509201 + 46.72617265077044379 + polys_fd5b513a_c3b6_4551_9799_1695824d83f0 ./polys.shp @@ -2618,7 +3006,7 @@ def my_form_open(dialog, layer, feature): polys - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -2662,7 +3050,7 @@ def my_form_open(dialog, layer, feature): - + @@ -2680,58 +3068,59 @@ def my_form_open(dialog, layer, feature): + 1 1 1 0 - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + @@ -2742,183 +3131,243 @@ def my_form_open(dialog, layer, feature): - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - + 0 0 1 - + - + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2926,12 +3375,12 @@ def my_form_open(dialog, layer, feature): - + @@ -2939,7 +3388,7 @@ def my_form_open(dialog, layer, feature): - + @@ -2958,30 +3407,30 @@ def my_form_open(dialog, layer, feature): - - + + - - + + - - + + - - + + - + - + - @@ -3017,14 +3466,144 @@ def my_form_open(dialog, layer, feature): - - + + + Name + + + -124.09128184172698184 + 10.07973075499999993 + -74.74135956027302541 + 56.20799638900000161 + + + -124.09128184172698184 + 10.07973075499999993 + -74.74135956027302541 + 56.20799638900000161 + + raster_layer_3a3513ba_d151_47ac_8f32_81acefd9b13e + ./raster_layer.tiff + + + + raster_layer + + + 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["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 + + + + + + + + + + + + + + + + + 0 + 0 + + + + + false + + + + + gdal + + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + MinMax + WholeRaster + Estimated + 0.02 + 0.98 + 2 + + + 255 + 255 + NoEnhancement + + + 96 + 255 + NoEnhancement + + + 17 + 255 + NoEnhancement + + + + + + resamplingFilter + + 0 + @@ -3033,6 +3612,7 @@ def my_form_open(dialog, layer, feature): + @@ -3086,9 +3666,9 @@ def my_form_open(dialog, layer, feature): @@ -3109,9 +3689,9 @@ def my_form_open(dialog, layer, feature): - + - 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]] + 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["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]] +proj=longlat +datum=WGS84 +no_defs 3452 4326 @@ -3123,18 +3703,18 @@ def my_form_open(dialog, layer, feature): - +