/[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 1768 by bh, Thu Oct 2 15:15:04 2003 UTC revision 1983 by bh, Thu Nov 27 15:57:23 2003 UTC
# 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                                  [[[(9884848.1401601825, 5607709.9111020016),
175                                     (11298371.027199602, 9287809.2948032897)]]],
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"])
         # in the ShapesInRegion method which transforms the bounding box  
         # 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))  
180          layer.SetProjection(proj)          layer.SetProjection(proj)
181    
182          self.assertEquals(layer.BoundingBox(), (10, 10, 10, 10))          self.assertFloatSeqEqual(layer.BoundingBox(),
183          self.assertEquals(layer.LatLongBoundingBox(), (10.0, 0.0, 10.0, 0.0))                                   (9884848.1401601825, 5607709.9111020016,
184          shapes = layer.ShapesInRegion((0, 0, 20, 20))                                    11298371.027199602, 9287809.2948032897))
185            self.assertFloatSeqEqual(layer.LatLongBoundingBox(),
186                                     (90.0, -8.899852, 120, 11.16092))
187            shapes = layer.ShapesInRegion((100, -10, 150, +10))
188          self.assertEquals([s.ShapeID() for s in shapes], [0])          self.assertEquals([s.ShapeID() for s in shapes], [0])
189            self.assertFloatSeqEqual(layer.ShapesBoundingBox([0]),
190                                     (90.0, -8.899852, 120, 11.16092))
191    
192      def test_empty_layer(self):      def test_empty_layer(self):
193          """Test Layer with empty shape file"""          """Test Layer with empty shape file"""

Legend:
Removed from v.1768  
changed lines
  Added in v.1983

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26