Esempio n. 1
0
 def testInterpolateOpacityByZoom(self):
     self.assertEqual(
         QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({
             'base':
             1,
             'stops': [[0, 0.1], [150, 0.15], [250, 0.2]]
         }).expressionString(),
         "CASE WHEN @zoom_level < 0 THEN set_color_part(@symbol_color, 'alpha', 0.1 * 255) WHEN @zoom_level >= 0 AND @zoom_level < 150 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@zoom_level, 0, 150, 0.1 * 255, 0.15 * 255))  WHEN @zoom_level >= 150 AND @zoom_level < 250 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@zoom_level, 150, 250, 0.15 * 255, 0.2 * 255)) WHEN @zoom_level >= 250 THEN set_color_part(@symbol_color, 'alpha', 0.2) END"
     )
     self.assertEqual(
         QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({
             'base':
             1,
             'stops': [[0, 0.1], [150, 0.15]]
         }).expressionString(),
         "set_color_part(@symbol_color, 'alpha', scale_linear(@zoom_level, 0, 150, 25.5, 38.25))"
     )
     self.assertEqual(
         QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({
             'base':
             2,
             'stops': [[0, 0.1], [150, 0.15]]
         }).expressionString(),
         "set_color_part(@symbol_color, 'alpha', 25.5 + 0 * (2^(@zoom_level-0)-1)/(2^(150-0)-1))"
     )
Esempio n. 2
0
 def testInterpolateOpacityByZoom(self):
     self.assertEqual(QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({'base': 1,
                                                                               'stops': [[0, 0.1],
                                                                                         [150, 0.15],
                                                                                         [250, 0.2]]
                                                                               }, 255).expressionString(),
                      "CASE WHEN @vector_tile_zoom < 0 THEN set_color_part(@symbol_color, 'alpha', 25.5) WHEN @vector_tile_zoom >= 0 AND @vector_tile_zoom < 150 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@vector_tile_zoom,0,150,25.5,38.25)) WHEN @vector_tile_zoom >= 150 AND @vector_tile_zoom < 250 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@vector_tile_zoom,150,250,38.25,51)) WHEN @vector_tile_zoom >= 250 THEN set_color_part(@symbol_color, 'alpha', 51) END")
     self.assertEqual(QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({'base': 1,
                                                                               'stops': [[0, 0.1],
                                                                                         [150, 0.15],
                                                                                         [250, 0.2]]
                                                                               }, 100).expressionString(),
                      "CASE WHEN @vector_tile_zoom < 0 THEN set_color_part(@symbol_color, 'alpha', 10) WHEN @vector_tile_zoom >= 0 AND @vector_tile_zoom < 150 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@vector_tile_zoom,0,150,10,15)) WHEN @vector_tile_zoom >= 150 AND @vector_tile_zoom < 250 THEN set_color_part(@symbol_color, 'alpha', scale_linear(@vector_tile_zoom,150,250,15,20)) WHEN @vector_tile_zoom >= 250 THEN set_color_part(@symbol_color, 'alpha', 20) END")
     self.assertEqual(QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({'base': 1,
                                                                               'stops': [[0, 0.1],
                                                                                         [150, 0.15]]
                                                                               }, 255).expressionString(),
                      "set_color_part(@symbol_color, 'alpha', scale_linear(@vector_tile_zoom,0,150,25.5,38.25))")
     self.assertEqual(QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({'base': 2,
                                                                               'stops': [[0, 0.1],
                                                                                         [150, 0.15]]
                                                                               }, 255).expressionString(),
                      "set_color_part(@symbol_color, 'alpha', scale_exp(@vector_tile_zoom,0,150,25.5,38.25,2))")
     self.assertEqual(QgsMapBoxGlStyleConverter.parseInterpolateOpacityByZoom({'base': 2,
                                                                               'stops': [[0, 0.1],
                                                                                         [150, 0.1]]
                                                                               }, 255).expressionString(),
                      "set_color_part(@symbol_color, 'alpha', 25.5)")