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

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

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

revision 1636 by bh, Fri Aug 22 17:20:29 2003 UTC revision 1658 by bh, Tue Aug 26 10:34:48 2003 UTC
# Line 172  class PostGISTable: Line 172  class PostGISTable:
172                             % (", ".join([col.name for col in self.columns]),                             % (", ".join([col.name for col in self.columns]),
173                                self.tablename))                                self.tablename))
174    
175        def DBConnection(self):
176            """Return the dbconnection used by the table"""
177            return self.db
178    
179        def TableName(self):
180            """Return the name of the table in the database"""
181            return self.tablename
182    
183        def Title(self):
184            """Return the title of the table.
185    
186            The title is currently fixed and equal to the tablename
187            """
188            return self.tablename
189    
190      def Dependencies(self):      def Dependencies(self):
191          """Return an empty tuple because a PostGISTable depends on nothing else          """Return an empty tuple because a PostGISTable depends on nothing else
192          """          """
# Line 279  class PostGISShape: Line 294  class PostGISShape:
294    
295    
296  shapetype_map = {"POLYGON": SHAPETYPE_POLYGON,  shapetype_map = {"POLYGON": SHAPETYPE_POLYGON,
297                     "MULTIPOLYGON": SHAPETYPE_POLYGON,
298                   "MULTILINESTRING": SHAPETYPE_ARC,                   "MULTILINESTRING": SHAPETYPE_ARC,
299                   "POINT": SHAPETYPE_POINT}                   "POINT": SHAPETYPE_POINT}
300    
# Line 358  class PostGISShapeStore(PostGISTable): Line 374  class PostGISShapeStore(PostGISTable):
374          cursor.close()          cursor.close()
375          return PostGISShape(shapeid, wkt)          return PostGISShape(shapeid, wkt)
376    
377        def AllShapes(self):
378            cursor = self.db.cursor()
379            cursor.execute("SELECT gid, AsText(%s) FROM %s ORDER BY gid"
380                           % (self.geometry_column, self.tablename))
381            while 1:
382                result = cursor.fetchone()
383                if result is None:
384                    return
385                yield PostGISShape(result[0], result[1])
386    
387    
388      def ShapesInRegion(self, bbox):      def ShapesInRegion(self, bbox):
389          """Generate all shapes overlapping the region given by bbox."""          """Generate all shapes overlapping the region given by bbox."""
390          # IMPORTANT:This will work for PostGIS < 0.8          # IMPORTANT:This will work for PostGIS < 0.8
# Line 373  class PostGISShapeStore(PostGISTable): Line 400  class PostGISShapeStore(PostGISTable):
400          while 1:          while 1:
401              result = cursor.fetchone()              result = cursor.fetchone()
402              if result is None:              if result is None:
403                  raise StopIteration                  return
404              yield PostGISShape(result[0], result[1])              yield PostGISShape(result[0], result[1])

Legend:
Removed from v.1636  
changed lines
  Added in v.1658

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26