def get_styles(self):
     s = Style()
     r = Rule()
     symbolizer = RasterSymbolizer()
     r.symbols.append(symbolizer)
     s.rules.append(r)
     return [(self.style_name, s)]
    def get_band_style(self, band_num):
        s = Style()
        r = Rule()
        symbolizer = RasterSymbolizer()

        band = self.raster.bands[band_num - 1]
        colorizer = RasterColorizer()

        colorizer.default_mode = mapnik.COLORIZER_LINEAR

        colorizer.add_stop(band.min, mapnik.COLORIZER_LINEAR,
                           mapnik.Color('#000'))
        colorizer.add_stop(band.max, mapnik.COLORIZER_DISCRETE,
                           mapnik.Color(self.band_colors[band_num - 1]))

        symbolizer.colorizer = colorizer

        s.comp_op = mapnik.CompositeOp.plus

        r.symbols.append(symbolizer)
        s.rules.append(r)
        return self.get_band_style_name(band_num), s
map_output = 'france'
m = Map(300, 300, proj4)

m.background = Color('steelblue')

t = TextSymbolizer(Expression('[CODE_DEPT]'), 'DejaVu Sans Book', 8,
                   Color('black'))

f = Expression(
    "[CODE_DEPT]<>'75' and [CODE_DEPT]<>'92' and [CODE_DEPT]<>'93' and [CODE_DEPT]<>'94'"
)
t.allow_overlap = 1
t.label_placement = label_placement.POINT_PLACEMENT
s1 = Style()
r1 = Rule()
r1.symbols.append(t)
r1.filter = f
s1.rules.append(r1)
m.append_style('Text', s1)

s = Style()
r = Rule()
r.symbols.append(PolygonSymbolizer(Color('#f2eff9')))
r.symbols.append(LineSymbolizer(Color('rgb(50%,50%,50%)'), 0.1))
s.rules.append(r)
m.append_style('My Style', s)

lyr = Layer('france', proj4)
import os