sawine@3
|
1 |
import ConfigParser
|
sawine@3
|
2 |
from caugrid import Grid
|
sawine@3
|
3 |
|
sawine@3
|
4 |
meta_section = "meta"
|
sawine@3
|
5 |
data_section = "cells"
|
sawine@3
|
6 |
|
sawine@3
|
7 |
def dumpGrid(grid, filename):
|
sawine@3
|
8 |
config = ConfigParser.RawConfigParser()
|
sawine@3
|
9 |
|
sawine@3
|
10 |
config.add_section(meta_section)
|
sawine@3
|
11 |
config.set(meta_section, 'min x', grid.minx)
|
sawine@3
|
12 |
config.set(meta_section, 'max x', grid.maxx)
|
sawine@3
|
13 |
config.set(meta_section, 'min y', grid.miny)
|
sawine@3
|
14 |
config.set(meta_section, 'max y', grid.maxy)
|
sawine@3
|
15 |
config.set(meta_section, 'cell no', len(grid))
|
sawine@3
|
16 |
|
sawine@3
|
17 |
config.add_section(data_section)
|
sawine@3
|
18 |
config.set(data_section, "cells", ";".join([str(pos) for pos in grid.cells.iterkeys()]))
|
sawine@3
|
19 |
|
sawine@3
|
20 |
with open(filename, 'wb') as configfile:
|
sawine@3
|
21 |
config.write(configfile)
|
sawine@3
|
22 |
|
sawine@3
|
23 |
def loadGrid(filename):
|
sawine@3
|
24 |
config = ConfigParser.RawConfigParser()
|
sawine@3
|
25 |
config.read(filename)
|
sawine@3
|
26 |
|
sawine@3
|
27 |
grid = Grid()
|
sawine@3
|
28 |
grid.minx = config.getint(meta_section, "min x")
|
sawine@3
|
29 |
grid.maxx = config.getint(meta_section, "max x")
|
sawine@3
|
30 |
grid.miny = config.getint(meta_section, "min y")
|
sawine@3
|
31 |
grid.maxy = config.getint(meta_section, "max y")
|
sawine@3
|
32 |
|
sawine@3
|
33 |
cells = config.get(data_section, "cells")
|
sawine@3
|
34 |
for cell in cells.split(";"):
|
sawine@3
|
35 |
cell = [int(cell.strip("(),")) for cell in cell.split()]
|
sawine@3
|
36 |
grid.cells[(cell[0], cell[1])] = 1
|
sawine@3
|
37 |
return grid
|