/[thuban]/branches/WIP-pyshapelib-bramz/test/test_layer.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/test/test_layer.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1681 by bh, Thu Aug 28 14:37:36 2003 UTC revision 1987 by bh, Fri Nov 28 11:37:35 2003 UTC
# Line 79  class TestLayer(unittest.TestCase, suppo Line 79  class TestLayer(unittest.TestCase, suppo
79          self.assertEquals(layer.GetProjection(), None)          self.assertEquals(layer.GetProjection(), None)
80    
81          # set/get projection          # set/get projection
82          proj = Projection(["proj=utm", "zone=26"])          proj = Projection(["proj=utm", "zone=26", "ellps=clrk66"])
83    
84          layer.SetProjection(proj)          layer.SetProjection(proj)
85          self.failUnless(layer.GetProjection() is proj)          self.failUnless(layer.GetProjection() is proj)
# Line 165  class TestLayer(unittest.TestCase, suppo Line 165  class TestLayer(unittest.TestCase, suppo
165          self.assertEquals([s.ShapeID() for s in shapes],          self.assertEquals([s.ShapeID() for s in shapes],
166                            [0, 1, 2, 3, 4, 5, 27, 28, 29, 30, 31])                            [0, 1, 2, 3, 4, 5, 27, 28, 29, 30, 31])
167    
168      def test_point_layer_with_projection(self):      def test_arc_layer_with_projection(self):
169          """Test Layer with point shapes and a projection"""          """Test Layer with point shapes and a projection"""
170          # We use mock data here so that we have precise control over the          # We use mock data here so that we have precise control over the
171          # values          # values
172          table = MemoryTable([("FOO", FIELDTYPE_STRING)], [("bla",)])          table = MemoryTable([("FOO", FIELDTYPE_STRING)], [("bla",)])
173          store = mockgeo.SimpleShapeStore(SHAPETYPE_POINT, [[[(10,10)]]], table)          store = mockgeo.SimpleShapeStore(SHAPETYPE_ARC,
174                                  [[[(9884828.7209840547, 5607720.9774499247),
175                                     (11298336.04640449, 9287823.2044059951)]]],
176                                             table)
177          layer = self.layer = Layer("Test Layer", store)          layer = self.layer = Layer("Test Layer", store)
178    
179          # Rotation by 45 degrees counter clockwise. This detects a bug          proj = Projection(["proj=lcc", "lon_0=0", "lat_1=20n", "lat_2=60n",
180          # in the ShapesInRegion method which transforms the bounding box                             "ellps=clrk66"])
         # by only transforming two opposite corners because they have  
         # the same x or y coordinates after application of the  
         # projection or its inverse.  
         proj = mockgeo.AffineProjection((1, 1, -1, 1, 0, 0))  
181          layer.SetProjection(proj)          layer.SetProjection(proj)
182    
183          self.assertEquals(layer.BoundingBox(), (10, 10, 10, 10))          self.assertFloatSeqEqual(layer.BoundingBox(),
184          self.assertEquals(layer.LatLongBoundingBox(), (10.0, 0.0, 10.0, 0.0))                                   (9884828.7209840547, 5607720.9774499247,
185          shapes = layer.ShapesInRegion((0, 0, 20, 20))                                    11298336.04640449, 9287823.2044059951))
186            self.assertFloatSeqEqual(layer.LatLongBoundingBox(),
187                                     (90.0, -8.90043373, 120, 11.1616263))
188            shapes = layer.ShapesInRegion((100, -10, 150, +10))
189          self.assertEquals([s.ShapeID() for s in shapes], [0])          self.assertEquals([s.ShapeID() for s in shapes], [0])
190            self.assertFloatSeqEqual(layer.ShapesBoundingBox([0]),
191                                     (90.0, -8.90043373, 120, 11.1616263))
192    
193      def test_empty_layer(self):      def test_empty_layer(self):
194          """Test Layer with empty shape file"""          """Test Layer with empty shape file"""
# Line 197  class TestLayer(unittest.TestCase, suppo Line 201  class TestLayer(unittest.TestCase, suppo
201          dbffilename = self.temp_file_name("layer_empty.dbf")          dbffilename = self.temp_file_name("layer_empty.dbf")
202          dbf = dbflib.create(dbffilename)          dbf = dbflib.create(dbffilename)
203          dbf.add_field("NAME", dbflib.FTString, 20, 0)          dbf.add_field("NAME", dbflib.FTString, 20, 0)
204            dbf.close()
205    
206          # Now try to open it.          # Now try to open it.
207          layer = self.layer = Layer("Empty Layer",          layer = self.layer = Layer("Empty Layer",

Legend:
Removed from v.1681  
changed lines
  Added in v.1987

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26