Vairāk

Piešķirt QgsCategorizedSymbolRenderer noklusējuma rampas krāsas?


Man ir spraudnis, un es vēlos simbolizēt vektora failu ar dažām noklusējuma rampas krāsām, bet es redzu, ka graduētā simboloģijā nav tik vienkārši kā graduētā simboloģijā.

Vai vektora failam var piešķirt noklusējuma rampas krāsu?

Mans kods ir ļoti mulsinošs, jo izmēģināju tik daudz piemēru, bet nevarēju iegūt rezultātu.

kodam (krāsa, etiķete) atribūtā_sym.items (): sym = QgsSymbolV2.defaultSymbol (layer.geometryType ()) sym.setColor (QColor (krāsa)) kategorija = QgsRendererCategoryV2 (kods, simbols, etiķete) kategorijas. pievienot ( category) self.field = self.dockwidget.comboBox.currentText () renderer = QgsCategorizedSymbolRendererV2 (self.field, Categories) layer.setRendererV2 (renderer) QgsMapLayerRegistry.instance (). addMapLayer (layer)

Šis kods darbojas, bet es nevēlos vienmēr definēt sarakstu ar krāsām, jo ​​es mēģinu simboloģēt vairākus laukus. Vai tas ir veids, kā izmantot noklusējuma rampas krāsas?


Jūs varat piekļūt noklusējuma rampas krāsām šādā veidā:

defStyle = QgsStyleV2 (). defaultStyle () defaultColorRampNames = defStyle.colorRampNames () drukāt defaultColorRampNames # Drukāšanas komanda atgriež šo sarakstu: # [u'Blues ', u'BrBG', u'BuGn ', u'BuPu', u ' GnBu ', u'Greens', u'Greys ', u'Inferno', u'Magma ', u'OrRd', u'Oranges ', u'PRGn', u'PiYG ', u'Plasma', u ' PuBu ', u'PuBuGn', u'PuOr ', u'PuRd', u'Purples ', u'RdBu', u'RdGy ', u'RdPu', u'RdYlBu ', u'RdYlGn', u ' Sarkanie, u'Spectral ', u'Viridis', u'YlGn ', u'YlGnBu', u'YlOrBr ', u'YlOrRd']

Pēc tam jūs varat iestatīt rampu, norādot rampas indeksu no saraksta, kas izdrukāts iepriekšējā kodā (piemēram,0ir indekss"Blūzs"rampa):

ramp = defStyle.colorRamp (defaultColorRampNames [0]) # 0 ir "Blues" rampas indekss

Izmantojot šīs telpas, varat nedaudz rediģēt kodu šādā veidā:

defStyle = QgsStyleV2 (). defaultStyle () defaultColorRampNames = defStyle.colorRampNames () ramp = defStyle.colorRamp (defaultColorRampNames [0]) kodam, (krāsa, etiķete) atribūtā_sym.items (): sym = QgsSymbolV2.defaultSym ( geometryType ()) category = QgsRendererCategoryV2 (kods, simbols, etiķete) Categories.append (category) self.field = self.dockwidget.comboBox.currentText () renderer = QgsCategorizedSymbolRendererV2 (self.field, Categories) renderer.updateCamporRamp (amp) pirms renderētāja slāņa iestatīšanas atjauniniet krāsu rampu.setRendererV2 (renderētājs) QgsMapLayerRegistry.instance (). addMapLayer (slānis)


Skatīties video: GIS Lesson 3 2 b: Ordering Symbol Levels and Different Symbology Types (Oktobris 2021).