File: mapdef_stats.py

package info (click to toggle)
mapnik 0.5.1-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 19,136 kB
  • ctags: 14,550
  • sloc: cpp: 68,887; python: 24,895; xml: 1,534; makefile: 503; sh: 79
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