File: mapdef_stats.py

package info (click to toggle)
mapnik 2.0.0%2Bds1-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 35,496 kB
  • sloc: cpp: 91,793; python: 6,051; xml: 3,528; sh: 848; makefile: 70; lisp: 10
file content (29 lines) | stat: -rwxr-xr-x 925 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python

import sys
from mapnik import *
if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "usage : ./mapdef_stats.py <mapdefinition file>"
        sys.exit(0)

    m = Map(100,100)
    styles = []
    num_rules = 0
    num_sym = 0
    load_map(m,sys.argv[1])
    for l in m.layers:
        print "Layer:%s"  % l.name
        for s in l.styles:
            print "    Style:%s" % s
            styles.append(s)
            style = m.find_style(s)
            num_rules += len(style.rules)
            for r in style.rules:
                print "        Filter: %s" % r.filter
                num_sym += len(r.symbols)
                            
    print "Total number of layers      %s" % len(m.layers)
    print "Total number of styles      %s" % len(set(styles)) # unique styles
    print "Total number of rules       %s" % num_rules
    print "Total number of symbolizers %s" % num_sym