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

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

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

revision 738 by jonathan, Fri Apr 25 09:13:36 2003 UTC revision 758 by jonathan, Tue Apr 29 09:01:12 2003 UTC
# Line 7  Line 7 
7    
8  __version__ = "$Revision$"  __version__ = "$Revision$"
9    
10    from Thuban import _
11    
12  from types import StringTypes  from types import StringTypes
13    
14  import Projection  import Projection
# Line 17  class Projection(BaseProjection): Line 19  class Projection(BaseProjection):
19    
20      """A proj4 projection object that remembers the parameters"""      """A proj4 projection object that remembers the parameters"""
21    
22      def __init__(self, params, name = "Unknown"):      def __init__(self, params, name = None):
23            """Initialize the Projection with a list of
24            'parameter=value' strings and an optional name. If 'name' is
25            None, the name will be set to 'Unknown' in the local language.
26            """
27    
28          BaseProjection.__init__(self, params)          BaseProjection.__init__(self, params)
29    
30            if name is None:
31                self.name = _("Unknown")
32            elif isinstance(name, StringTypes):
33                self.name = name
34    
35          self.params = params          self.params = params
         self.name = name  
36    
37      def ForwardBBox(self, bbox):      def ForwardBBox(self, bbox):
38          """Return the bounding box of the corners of the bounding box bbox          """Return the bounding box of the corners of the bounding box bbox
# Line 37  class Projection(BaseProjection): Line 49  class Projection(BaseProjection):
49          xs.append(x); ys.append(y)          xs.append(x); ys.append(y)
50          x, y = self.Forward(urx, lly)          x, y = self.Forward(urx, lly)
51          xs.append(x); ys.append(y)          xs.append(x); ys.append(y)
52            
53          return min(xs), min(ys), max(xs), max(ys)          return min(xs), min(ys), max(xs), max(ys)
54    
55      def GetName(self):      def GetName(self):
56          """Return the name of the projection."""          """Return the name of the projection."""
57          return self.name          return self.name
58    
     def SetName(self, name):  
         """Set the name of the projection."""  
         if isinstance(name, StringTypes):  
             self.name = name  
   
59      def GetParameter(self, param):      def GetParameter(self, param):
60          """Return the projection value for the given parameter.          """Return the projection value for the given parameter.
61    
# Line 98  class ProjFile: Line 106  class ProjFile:
106              self.__projs.append(proj)              self.__projs.append(proj)
107    
108      def Remove(self, proj):      def Remove(self, proj):
109          """Remove the objection proj from the projection file.          """Remove the object proj from the projection file.
110    
111          Raises a ValueError is proj is not found.          Raises a ValueError is proj is not found.
112          """          """
113    
114          self.__projs.remove(proj)          self.__projs.remove(proj)
115    
116        def Replace(self, oldproj, newproj):
117            """Replace the object 'oldproj' with 'newproj'.
118            
119            Raises ValueError if oldproj is not in the file.
120            """
121    
122            #
123            # see if the projection already exists.
124            # this only works if Projection doesn't override __eq__
125            #
126            self.__projs[self.__projs.index(oldproj)] = newproj
127    
128      def GetFilename(self):      def GetFilename(self):
129          """Return the filename where the ProjFile was read or will be          """Return the filename where the ProjFile was read or will be
130          written to.          written to.

Legend:
Removed from v.738  
changed lines
  Added in v.758

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26