• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python core.QgsSymbolLayerV2Utils类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中qgis.core.QgsSymbolLayerV2Utils的典型用法代码示例。如果您正苦于以下问题:Python QgsSymbolLayerV2Utils类的具体用法?Python QgsSymbolLayerV2Utils怎么用?Python QgsSymbolLayerV2Utils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了QgsSymbolLayerV2Utils类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _getSymbolWidth

 def _getSymbolWidth(self, context, width, unit):
     scale = 1.0
     if unit == QgsSymbolV2.MapUnit:
         scale = QgsSymbolLayerV2Utils.lineWidthScaleFactor(
             context, QgsSymbolV2.MM) / QgsSymbolLayerV2Utils.lineWidthScaleFactor(context, QgsSymbolV2.MapUnit)
     width = max(width + 2 * self._buffer * scale, self._minWidth * scale)
     return width
开发者ID:lparchaeology,项目名称:ArkPlan,代码行数:7,代码来源:feature_highlight_item.py


示例2: testMapUnitScaleFactor

    def testMapUnitScaleFactor(self):
        # test QgsSymbolLayerV2Utils::mapUnitScaleFactor() using QgsMapUnitScale

        ms = QgsMapSettings()
        ms.setExtent(QgsRectangle(0, 0, 100, 100))
        ms.setOutputSize(QSize(100, 50))
        ms.setOutputDpi(300)
        r = QgsRenderContext.fromMapSettings(ms)

        # renderer scale should be about 1:291937841

        c = QgsMapUnitScale()
        sf = QgsSymbolLayerV2Utils.mapUnitScaleFactor(r, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(sf, 1.0, places=5)
        sf = QgsSymbolLayerV2Utils.mapUnitScaleFactor(r, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(sf, 23.622047, places=5)
        sf = QgsSymbolLayerV2Utils.mapUnitScaleFactor(r, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(sf, 2.0, places=5)
开发者ID:Antoviscomi,项目名称:QGIS,代码行数:18,代码来源:test_qgsmapunitscale.py


示例3: set_alpha

def set_alpha(values, feature, parent):
    """
        Sets the alpha component of a color
        
        <p><h4>Syntax</h4>
        set_alpha(<i>color</i>, <i>alpha</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br>
        <i>  alpha</i> &rarr; an alpha value between 0 and 255<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             set_alpha('255,255,255,255', 125) &rarr; '255,255,255,125'</p>
    """
    try:
        color = QgsSymbolLayerV2Utils.decodeColor(values[0])
        color.setAlpha(values[1])
        return QgsSymbolLayerV2Utils.encodeColor(color)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:21,代码来源:functions.py


示例4: set_hsv_value

def set_hsv_value(values, feature, parent):
    """
        Sets the value of a color
        
        <p><h4>Syntax</h4>
        set_hsv_value(<i>color</i>, <i>value</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br>
        <i>  value</i> &rarr; a integer between 0 and 100<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             set_hsv_value('0,255,0,255', 50) &rarr; '0,128,0,255'</p>
    """
    try:
        color = QgsSymbolLayerV2Utils.decodeColor(values[0])
        color.setHsvF(color.hueF(), color.saturationF(), values[1] / 100.0, color.alphaF())
        return QgsSymbolLayerV2Utils.encodeColor(color)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:21,代码来源:functions.py


示例5: set_hue

def set_hue(values, feature, parent):
    """
        Sets the hue component of a color
        
        <p><h4>Syntax</h4>
        set_hue(<i>color</i>, <i>hue</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br>
        <i>  hue</i> &rarr; a integer between 0 and 360<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             set_hue('0,255,0,255', 0) &rarr; '255,0,0,255'</p>
    """
    try:
        color = QgsSymbolLayerV2Utils.decodeColor(values[0])
        color.setHslF(values[1] / 360.0, color.saturationF(), color.lightnessF(), color.alphaF())
        return QgsSymbolLayerV2Utils.encodeColor(color)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:21,代码来源:functions.py


示例6: toDomElement

 def toDomElement(self, domDocument):
     """
     Returns a QDomElement with the object instance settings
     """
     spColumnElement = domDocument.createElement("SpatialField")
     spColumnElement.setAttribute("name",self._spatialField)
     spColumnElement.setAttribute("labelField",self._labelField)
     spColumnElement.setAttribute("itemid",self._itemId)
     spColumnElement.setAttribute("srid",self._srid)
     spColumnElement.setAttribute("geomType",self._geomType)
     spColumnElement.setAttribute("zoom",self._zoom_level)
     symbolElement = domDocument.createElement("Symbol")
     
     #Append symbol properties element
     if not self._symbol is None:
         prop = self._symbol.properties()
         QgsSymbolLayerV2Utils.saveProperties(prop,domDocument,symbolElement)
         symbolElement.setAttribute("layerType",self._layerType)
     
     spColumnElement.appendChild(symbolElement)
     
     return spColumnElement
开发者ID:Guillon88,项目名称:stdm,代码行数:22,代码来源:composer_spcolumn_styler.py


示例7: testConvertToPainterUnits

    def testConvertToPainterUnits(self):
        # test QgsSymbolLayerV2Utils::convertToPainterUnits() using QgsMapUnitScale

        ms = QgsMapSettings()
        ms.setExtent(QgsRectangle(0, 0, 100, 100))
        ms.setOutputSize(QSize(100, 50))
        ms.setOutputDpi(300)
        r = QgsRenderContext.fromMapSettings(ms)

        # renderer scale should be about 1:291937841

        # start with no min/max scale
        c = QgsMapUnitScale()

        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(size, 1.0, places=5)
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(size, 23.622047, places=5)
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(size, 2.0, places=5)

        # minimum size greater than the calculated size, so size should be limited to minSizeMM
        c.minSizeMM = 5
        c.minSizeMMEnabled = True
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(size, 59.0551181, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(size, 23.622047, places=5)
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(size, 2.0, places=5)
        c.minSizeMMEnabled = False

        # maximum size less than the calculated size, so size should be limited to maxSizeMM
        c.maxSizeMM = 0.1
        c.maxSizeMMEnabled = True
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(size, 1.0, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(size, 23.622047, places=5)
        size = QgsSymbolLayerV2Utils.convertToPainterUnits(r, 2, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(size, 2.0, places=5)
开发者ID:Antoviscomi,项目名称:QGIS,代码行数:43,代码来源:test_qgsmapunitscale.py


示例8: testPixelSizeScaleFactor

    def testPixelSizeScaleFactor(self):
        # test QgsSymbolLayerV2Utils::pixelSizeScaleFactor() using QgsMapUnitScale

        ms = QgsMapSettings()
        ms.setExtent(QgsRectangle(0, 0, 100, 100))
        ms.setOutputSize(QSize(100, 50))
        ms.setOutputDpi(300)
        r = QgsRenderContext.fromMapSettings(ms)

        # renderer scale should be about 1:291937841

        # start with no min/max scale
        c = QgsMapUnitScale()

        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(sf, 0.5, places=5)
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(sf, 11.8110236, places=5)
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(sf, 1.0, places=5)

        # minimum scale greater than the renderer scale, so should be limited to minScale
        c.minScale = 1 / 150000000.0
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(sf, 3.8925045, places=5)
        # only conversion from mapunits should be affected
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(sf, 11.811023, places=5)
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(sf, 1.0, places=5)
        c.minScale = 0

        # maximum scale less than the renderer scale, so should be limited to maxScale
        c.maxScale = 1 / 350000000.0
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MapUnit, c)
        self.assertAlmostEqual(sf, 0.5, places=5)
        # only conversion from mapunits should be affected
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.MM, c)
        self.assertAlmostEqual(sf, 11.8110236, places=5)
        sf = QgsSymbolLayerV2Utils.pixelSizeScaleFactor(r, QgsSymbolV2.Pixel, c)
        self.assertAlmostEqual(sf, 1.0, places=5)
开发者ID:Antoviscomi,项目名称:QGIS,代码行数:41,代码来源:test_qgsmapunitscale.py


示例9: testEncodeDecode

    def testEncodeDecode(self):
        # test encoding and decoding QgsMapUnitScale

        s = QgsMapUnitScale()
        s.minScale = 50
        s.maxScale = 100
        s.minSizeMMEnabled = True
        s.minSizeMM = 3
        s.maxSizeMMEnabled = False
        s.maxSizeMM = 99

        encode = QgsSymbolLayerV2Utils.encodeMapUnitScale(s)
        r = QgsSymbolLayerV2Utils.decodeMapUnitScale(encode)
        self.assertEqual(s, r)

        # check old style encoding
        encode = '9,78.3'
        r = QgsSymbolLayerV2Utils.decodeMapUnitScale(encode)
        self.assertEqual(r.minScale, 9)
        self.assertEqual(r.maxScale, 78.3)
        self.assertFalse(r.minSizeMMEnabled)
        self.assertEqual(r.minSizeMM, 0)
        self.assertFalse(r.maxSizeMMEnabled)
        self.assertEqual(r.maxSizeMM, 0)
开发者ID:Antoviscomi,项目名称:QGIS,代码行数:24,代码来源:test_qgsmapunitscale.py


示例10: create

    def create(dom_document):
        """
        Create an instance of the 'SpatialFieldsConfiguration' object from a DOM document.
        Returns None if the dom_document is invalid.
        """
        from stdm.ui.composer import SpatialFieldMapping
        
        dataSourceElem = dom_document.documentElement().firstChildElement("DataSource")
        
        if dataSourceElem == None:
            return None
        
        spatialFieldsConfigElement = dataSourceElem.firstChildElement("SpatialFields") 
        spFieldsConfig = SpatialFieldsConfiguration()
        
        #Get spatial field mappings
        spatialFieldMappingList = spatialFieldsConfigElement.elementsByTagName("SpatialField")
        numItems = spatialFieldMappingList.length()
        
        for i in range(numItems):
            spatialFieldMappingElement = spatialFieldMappingList.item(i).toElement()
            labelField = spatialFieldMappingElement.attribute("labelField")
            spatialField = spatialFieldMappingElement.attribute("name")
            itemId = spatialFieldMappingElement.attribute("itemid") 
            srid = int(spatialFieldMappingElement.attribute("srid"))
            geomType = spatialFieldMappingElement.attribute("geomType") 
            zoom = float(spatialFieldMappingElement.attribute("zoom"))
            zoom_type = spatialFieldMappingElement.attribute('zoomType', 'RELATIVE')
            
            #Create spatial field mapping
            spFieldMapping = SpatialFieldMapping(spatialField,labelField) 
            spFieldMapping.setItemId(itemId)
            spFieldMapping.setSRID(srid)
            spFieldMapping.setGeometryType(geomType)
            spFieldMapping.setZoomLevel(zoom)
            spFieldMapping.zoom_type = zoom_type

            symbolElement = spatialFieldMappingElement.firstChildElement("Symbol")
            if not symbolElement is None:
                layerType = symbolElement.attribute("layerType")
                layerProps = QgsSymbolLayerV2Utils.parseProperties(symbolElement)
                symbolLayer =  QgsSymbolLayerV2Registry.instance().createSymbolLayer(layerType,layerProps)
                spFieldMapping.setSymbolLayer(symbolLayer)
            
            spFieldsConfig.addSpatialFieldMapping(spFieldMapping)
            
        return spFieldsConfig
开发者ID:gltn,项目名称:stdm,代码行数:47,代码来源:spatial_fields_config.py


示例11: blue

def blue(values, feature, parent):
    """
        Returns the blue component of a color
        
        <p><h4>Syntax</h4>
        blue(<i>color</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             blue('0,0,255') &rarr; 255</p>
    """
    try:
        return QgsSymbolLayerV2Utils.decodeColor(values[0]).blue()
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:18,代码来源:functions.py


示例12: alpha

def alpha(values, feature, parent):
    """
        Returns the alpha component of a color
        
        <p><h4>Syntax</h4>
        alpha(<i>color</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             alpha('255,255,255,125') &rarr; 125</p>
    """
    try:
        return QgsSymbolLayerV2Utils.decodeColor(values[0]).alpha()
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:18,代码来源:functions.py


示例13: hsv_value

def hsv_value(values, feature, parent):
    """
        Returns the hsv value component of a color, an integer between 0-100
        
        <p><h4>Syntax</h4>
        hsv_value(<i>color</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             hsv_value('125,255,125') &rarr; 100</p>
    """
    try:
        # Value ranges from 0 - 100
        return int(QgsSymbolLayerV2Utils.decodeColor(values[0]).valueF() * 100)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:19,代码来源:functions.py


示例14: lightness

def lightness(values, feature, parent):
    """
        Returns the lightness of a color, an integer between 0-100
        
        <p><h4>Syntax</h4>
        lightness(<i>color</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             lightness('125,255,125') &rarr; 74</p>
    """
    try:
        # Lightness ranges from 0 - 100
        return int(QgsSymbolLayerV2Utils.decodeColor(values[0]).lightnessF() * 100)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:19,代码来源:functions.py


示例15: saturation

def saturation(values, feature, parent):
    """
        Returns the saturation of a color, an integer between 0-100
        
        <p><h4>Syntax</h4>
        saturation(<i>color</i>)</p>

        <p><h4>Arguments</h4>
        <i>  color</i> &rarr; a color<br></p>
        
        <p><h4>Example</h4>
        <!-- Show example of function.-->
             saturation('125,255,125') &rarr; 50</p>
    """
    try:
        # Saturation ranges from 0 - 100
        return int(QgsSymbolLayerV2Utils.decodeColor(values[0]).saturationF() * 100)
    except:
        return None
开发者ID:nyalldawson,项目名称:qgsexpressionsplus,代码行数:19,代码来源:functions.py


示例16: testQgsGraduatedSymbolRendererV2_1

    def testQgsGraduatedSymbolRendererV2_1(self):
        """Test QgsGraduatedSymbolRendererV2: Basic get/set functions """

        # Create a renderer
        renderer=QgsGraduatedSymbolRendererV2()

        symbol=createMarkerSymbol()
        renderer.setSourceSymbol(symbol.clone())
        self.assertEqual(symbol.dump(),renderer.sourceSymbol().dump(),"Get/set renderer source symbol")

        attr='"value"*"value"'
        renderer.setClassAttribute(attr)
        self.assertEqual(attr,renderer.classAttribute(),"Get/set renderer class attribute")

        for m in (
            QgsGraduatedSymbolRendererV2.Custom,
            QgsGraduatedSymbolRendererV2.EqualInterval,
            QgsGraduatedSymbolRendererV2.Quantile,
            QgsGraduatedSymbolRendererV2.Jenks,
            QgsGraduatedSymbolRendererV2.Pretty,
            QgsGraduatedSymbolRendererV2.StdDev,
        ):
            renderer.setMode(m)
            self.assertEqual(m,renderer.mode(),"Get/set renderer mode")

        format=createLabelFormat()
        renderer.setLabelFormat(format)
        self.assertEqual(
            dumpLabelFormat(format),
            dumpLabelFormat(renderer.labelFormat()),
            "Get/set renderer label format")

        ramp=createColorRamp()
        renderer.setSourceColorRamp(ramp)
        self.assertEqual(
            dumpColorRamp(ramp),
            dumpColorRamp(renderer.sourceColorRamp()),
            "Get/set renderer color ramp")

        renderer.setInvertedColorRamp(True)
        self.assertTrue(renderer.invertedColorRamp(),
                        "Get/set renderer inverted color ramp")
        renderer.setInvertedColorRamp(False)
        self.assertFalse(renderer.invertedColorRamp(),
                         "Get/set renderer inverted color ramp")

        value='"value"*2'
        exp=QgsSymbolLayerV2Utils.fieldOrExpressionToExpression(value)
        valuestr=QgsSymbolLayerV2Utils.fieldOrExpressionFromExpression(exp)
        renderer.setRotationField(value)
        self.assertEqual(valuestr,renderer.rotationField(),
                         "Get/set renderer rotation field")

        value='"value"*3'
        exp=QgsSymbolLayerV2Utils.fieldOrExpressionToExpression(value)
        valuestr=QgsSymbolLayerV2Utils.fieldOrExpressionFromExpression(exp)
        renderer.setSizeScaleField(value)
        self.assertEqual(valuestr,renderer.sizeScaleField(),
                         "Get/set renderer size scale field")


        renderer.setSourceColorRamp(ramp)
        self.assertEqual(
            dumpColorRamp(ramp),
            dumpColorRamp(renderer.sourceColorRamp()),
            "Get/set renderer color ramp")

        for sm in (
            QgsSymbolV2.ScaleArea,
            QgsSymbolV2.ScaleDiameter,
        ):
            renderer.setScaleMethod(sm)
            self.assertEqual(str(sm),str(renderer.scaleMethod()),
                             "Get/set renderer scale method")
开发者ID:Ariki,项目名称:QGIS,代码行数:74,代码来源:test_qgsgraduatedsymbolrendererv2.py


示例17: testQgsGraduatedSymbolRendererV2_1

    def testQgsGraduatedSymbolRendererV2_1(self):
        """Test QgsGraduatedSymbolRendererV2: Basic get/set functions """

        # Create a renderer
        renderer = QgsGraduatedSymbolRendererV2()

        symbol = createMarkerSymbol()
        renderer.setSourceSymbol(symbol.clone())
        self.assertEqual(symbol.dump(), renderer.sourceSymbol().dump(), "Get/set renderer source symbol")

        attr = '"value"*"value"'
        renderer.setClassAttribute(attr)
        self.assertEqual(attr, renderer.classAttribute(), "Get/set renderer class attribute")

        for m in (
            QgsGraduatedSymbolRendererV2.Custom,
            QgsGraduatedSymbolRendererV2.EqualInterval,
            QgsGraduatedSymbolRendererV2.Quantile,
            QgsGraduatedSymbolRendererV2.Jenks,
            QgsGraduatedSymbolRendererV2.Pretty,
            QgsGraduatedSymbolRendererV2.StdDev,
        ):
            renderer.setMode(m)
            self.assertEqual(m, renderer.mode(), "Get/set renderer mode")

        format = createLabelFormat()
        renderer.setLabelFormat(format)
        self.assertEqual(
            dumpLabelFormat(format),
            dumpLabelFormat(renderer.labelFormat()),
            "Get/set renderer label format")

        ramp = createColorRamp()
        renderer.setSourceColorRamp(ramp)
        self.assertEqual(
            dumpColorRamp(ramp),
            dumpColorRamp(renderer.sourceColorRamp()),
            "Get/set renderer color ramp")

        renderer.setInvertedColorRamp(True)
        self.assertTrue(renderer.invertedColorRamp(),
                        "Get/set renderer inverted color ramp")
        renderer.setInvertedColorRamp(False)
        self.assertFalse(renderer.invertedColorRamp(),
                         "Get/set renderer inverted color ramp")

        value = '"value"*2'
        exp = QgsSymbolLayerV2Utils.fieldOrExpressionToExpression(value)
        valuestr = QgsSymbolLayerV2Utils.fieldOrExpressionFromExpression(exp)
        renderer.setRotationField(value)
        self.assertEqual(valuestr, renderer.rotationField(),
                         "Get/set renderer rotation field")

        value = '"value"*3'
        exp = QgsSymbolLayerV2Utils.fieldOrExpressionToExpression(value)
        valuestr = QgsSymbolLayerV2Utils.fieldOrExpressionFromExpression(exp)
        renderer.setSizeScaleField(value)
        self.assertEqual(valuestr, renderer.sizeScaleField(),
                         "Get/set renderer size scale field")

        renderer.setSourceColorRamp(ramp)
        self.assertEqual(
            dumpColorRamp(ramp),
            dumpColorRamp(renderer.sourceColorRamp()),
            "Get/set renderer color ramp")

        for sm in (
            QgsSymbolV2.ScaleArea,
            QgsSymbolV2.ScaleDiameter,
        ):
            renderer.setScaleMethod(sm)
            self.assertEqual(str(sm), str(renderer.scaleMethod()),
                             "Get/set renderer scale method")
        # test for classificatio with varying size
        renderer.setGraduatedMethod(QgsGraduatedSymbolRendererV2.GraduatedSize)
        renderer.setSourceColorRamp(None)
        renderer.addClassLowerUpper(0, 2)
        renderer.addClassLowerUpper(2, 4)
        renderer.addClassLowerUpper(4, 6)
        renderer.setSymbolSizes(2, 13)
        self.assertEqual(renderer.maxSymbolSize(), 13)
        self.assertEqual(renderer.minSymbolSize(), 2)
        refSizes = [2, (13 + 2) * .5, 13]
        ctx = QgsRenderContext()
        for idx, symbol in enumerate(renderer.symbols2(ctx)):
            self.assertEqual(symbol.size(), refSizes[idx])
开发者ID:Geoneer,项目名称:QGIS,代码行数:86,代码来源:test_qgsgraduatedsymbolrendererv2.py


示例18: testConvertToMapUnits

    def testConvertToMapUnits(self):
        # test QgsSymbolLayerV2Utils::convertToMapUnits() using QgsMapUnitScale

        ms = QgsMapSettings()
        ms.setExtent(QgsRectangle(0, 0, 100, 100))
        ms.setOutputSize(QSize(100, 50))
        ms.setOutputDpi(300)
        r = QgsRenderContext.fromMapSettings(ms)

        # renderer scale should be about 1:291937841

        # start with no min/max scale
        c = QgsMapUnitScale()

        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMapUnits, c)
        self.assertEqual(size, 2.0)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMillimeters, c)
        self.assertAlmostEqual(size, 47.244094, places=5)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderPixels, c)
        self.assertAlmostEqual(size, 4.0, places=5)

        # minimum size greater than the calculated size, so size should be limited to minSizeMM
        c.minSizeMM = 5
        c.minSizeMMEnabled = True
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMapUnits, c)
        self.assertAlmostEqual(size, 118.1102362, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMillimeters, c)
        self.assertAlmostEqual(size, 47.244094, places=5)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderPixels, c)
        self.assertAlmostEqual(size, 4.0, places=5)
        c.minSizeMMEnabled = False

        # maximum size less than the calculated size, so size should be limited to maxSizeMM
        c.maxSizeMM = 0.05
        c.maxSizeMMEnabled = True
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMapUnits, c)
        self.assertAlmostEqual(size, 1.1811023622047245, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMillimeters, c)
        self.assertAlmostEqual(size, 47.244094, places=5)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderPixels, c)
        self.assertAlmostEqual(size, 4.0, places=5)
        c.maxSizeMMEnabled = False

        # test with minimum scale set
        c.minScale = 1 / 150000000.0
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMapUnits, c)
        self.assertAlmostEqual(size, 15.57001821, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMillimeters, c)
        self.assertAlmostEqual(size, 47.244094, places=5)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderPixels, c)
        self.assertAlmostEqual(size, 4.0, places=5)
        c.minScale = 0

        # test with maximum scale set
        c.maxScale = 1 / 1550000000.0
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMapUnits, c)
        self.assertAlmostEqual(size, 1.50677595625, places=5)
        # only conversion from mapunits should be affected
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderMillimeters, c)
        self.assertAlmostEqual(size, 47.244094, places=5)
        size = QgsSymbolLayerV2Utils.convertToMapUnits(r, 2, QgsUnitTypes.RenderPixels, c)
        self.assertAlmostEqual(size, 4.0, places=5)
        c.maxScale = 0
开发者ID:NyakudyaA,项目名称:QGIS,代码行数:66,代码来源:test_qgsmapunitscale.py



注:本文中的qgis.core.QgsSymbolLayerV2Utils类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python core.QgsSymbolV2类代码示例发布时间:2022-05-26
下一篇:
Python core.QgsSymbolLayerUtils类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap