Esempio n. 1
0
    def testAppendPolygon(self):
        map = createMap(self.testdatadir)
        map.open(mode="a")

        parks, group = map.getLayerAndGroupByName("00_Parks")
        parks.open("a")

        # Add a new park
        park = (((16.1837837893217511,58.5911206585042237),(16.1834987729198474,58.5916966585245973),(16.1834275188193715,58.5918046585284173),(16.1833562647188955,58.5918586585303274),(16.1843538221255585,58.5919486585335108),(16.1843894491757965,58.5911746585061337),(16.1844963303265104,58.5911206585042237),(16.1837837893217511,58.5911206585042237)),)
        newpark = CellElementArea(park, objtype=13)

        newbbox = newpark.bboxrec.union(parks.bboxrec)
        newbbox = newbbox.buffer(parks.scale)
        
#        parks.setBBoxRec(newbbox)

        actual = Set([ce for ce in parks.getCellElements()])
        expected = actual.copy()
        
        newpark.discretizeGeometry(parks.getCell(1))
        parks.addCellElement(newpark)
        expected.add(newpark)

        actual = Set([ce for ce in parks.getCellElements()])

        # Test if the new parks exists in the layer object
        self.assertEqual(actual, expected)
        
        # Test if the new street was written to file
        parks.close()
        del parks
        del map

        map = createMap(self.testdatadir)
        map.open(mode="a")

        parks, group = map.getLayerAndGroupByName("00_Parks")
        parks.open("r")

#        actual = Set([ce.serialize(cell) for ce in parks.getCellElements()])
#        expected = Set([ce.serialize(cell) for ce in expected])
        actual = Set([ce for ce in parks.getCellElements()])