/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/layer.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Model/layer.py

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

revision 1558 by bh, Thu Aug 7 17:31:54 2003 UTC revision 1599 by bh, Mon Aug 18 12:45:28 2003 UTC
# Line 8  Line 8 
8    
9  __version__ = "$Revision$"  __version__ = "$Revision$"
10    
11    import os
12  import warnings  import warnings
13    
14  from Thuban import _  from Thuban import _
# Line 253  class Layer(BaseLayer): Line 254  class Layer(BaseLayer):
254          """Return the shape with index index"""          """Return the shape with index index"""
255          return self.store.Shape(index)          return self.store.Shape(index)
256    
257      def ShapesInRegion(self, box):      def ShapesInRegion(self, bbox):
258          """Return the ids of the shapes that overlap the box.          """Return an iterable over the shapes that overlap the bounding box.
259    
260          Box is a tuple (left, bottom, right, top) in unprojected coordinates.          The bbox parameter should be the bounding box as a tuple in the
261            form (minx, miny, maxx, maxy) in unprojected coordinates.
262          """          """
         left, bottom, right, top = box  
   
263          if self.projection is not None:          if self.projection is not None:
264              left,  bottom = self.projection.Forward(left, bottom)              left, bottom, right, top = bbox
265              right, top    = self.projection.Forward(right, top)              xs = []; ys = []
266                for x, y in [(left, bottom), (left, top), (right, top),
267                             (right, bottom)]:
268                    x, y = self.projection.Forward(x, y)
269                    xs.append(x)
270                    ys.append(y)
271                bbox = (min(xs), min(ys), max(xs), max(ys))
272    
273          return self.store.ShapesInRegion((left, bottom, right, top))          return self.store.ShapesInRegion(bbox)
274    
275      def GetClassificationColumn(self):      def GetClassificationColumn(self):
276          return self.classification_column          return self.classification_column
# Line 365  class RasterLayer(BaseLayer): Line 371  class RasterLayer(BaseLayer):
371          BaseLayer.__init__(self, title, visible = visible)          BaseLayer.__init__(self, title, visible = visible)
372    
373          self.projection = projection          self.projection = projection
374          self.filename = filename          self.filename = os.path.abspath(filename)
375    
376          self.bbox = -1          self.bbox = -1
377    

Legend:
Removed from v.1558  
changed lines
  Added in v.1599

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26