/[thuban]/trunk/thuban/Thuban/Model/layer.py
ViewVC logotype

Diff of /trunk/thuban/Thuban/Model/layer.py

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

revision 1117 by bh, Fri May 30 18:31:19 2003 UTC revision 1158 by jonathan, Thu Jun 12 12:40:11 2003 UTC
# Line 11  __version__ = "$Revision$" Line 11  __version__ = "$Revision$"
11  from math import log, ceil  from math import log, ceil
12    
13  from Thuban import _  from Thuban import _
   
14  import shapelib, shptree  import shapelib, shptree
15    
 import gdal  
 from gdalconst import GA_ReadOnly  
   
16  from messages import LAYER_PROJECTION_CHANGED, LAYER_VISIBILITY_CHANGED, \  from messages import LAYER_PROJECTION_CHANGED, LAYER_VISIBILITY_CHANGED, \
17       LAYER_CHANGED       LAYER_CHANGED, LAYER_SHAPESTORE_REPLACED
   
 from color import Color  
18    
19  import classification  import classification
20    
21    from color import Color
22  from base import TitledObject, Modifiable  from base import TitledObject, Modifiable
23    
24    import resource
25    
26    
27  class Shape:  class Shape:
28    
# Line 212  class Layer(BaseLayer): Line 209  class Layer(BaseLayer):
209                  and (not table.HasColumn(fieldname)                  and (not table.HasColumn(fieldname)
210                       or table.Column(fieldname).type != fieldtype)):                       or table.Column(fieldname).type != fieldtype)):
211                  self.SetClassification(None)                  self.SetClassification(None)
212          self.changed(LAYER_CHANGED, self)          self.changed(LAYER_SHAPESTORE_REPLACED, self)
213    
214      def ShapeStore(self):      def ShapeStore(self):
215          return self.store          return self.store
# Line 385  class Layer(BaseLayer): Line 382  class Layer(BaseLayer):
382          return (_("Layer '%s'") % self.Title(), items)          return (_("Layer '%s'") % self.Title(), items)
383    
384    
385    if resource.has_gdal_support():
386        import gdal
387        from gdalconst import GA_ReadOnly
388    
389  class RasterLayer(BaseLayer):  class RasterLayer(BaseLayer):
390    
391      def __init__(self, title, filename, projection = None, visible = True):      def __init__(self, title, filename, projection = None, visible = True):
# Line 410  class RasterLayer(BaseLayer): Line 411  class RasterLayer(BaseLayer):
411    
412          self.bbox = -1          self.bbox = -1
413    
414          #          if resource.has_gdal_support():
415          # temporarily open the file so that GDAL can test if it's valid.              #
416          #              # temporarily open the file so that GDAL can test if it's valid.
417          dataset = gdal.Open(self.filename, GA_ReadOnly)              #
418                dataset = gdal.Open(self.filename, GA_ReadOnly)
419    
420          if dataset is None:              if dataset is None:
421              raise IOError()                  raise IOError()
422    
423          self.UnsetModified()          self.UnsetModified()
424    
# Line 425  class RasterLayer(BaseLayer): Line 427  class RasterLayer(BaseLayer):
427    
428          If the layer has no shapes, return None.          If the layer has no shapes, return None.
429          """          """
430            if not resource.has_gdal_support():
431                return None
432    
433          if self.bbox == -1:          if self.bbox == -1:
434              dataset = gdal.Open(self.filename, GA_ReadOnly)              dataset = gdal.Open(self.filename, GA_ReadOnly)
435              if dataset is None:              if dataset is None:

Legend:
Removed from v.1117  
changed lines
  Added in v.1158

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26