diff --git a/VERSION b/VERSION index d64c6f8c..2f09d917 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.4.1-alpha.2+timestamp.2013.01.05.18.35.40 +Version 2.4.1-alpha.2+timestamp.2013.01.05.18.45.27 diff --git a/gluon/dal.py b/gluon/dal.py index 31a2fc08..1034aeb4 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -2582,13 +2582,6 @@ class PostgreSQLAdapter(BaseAdapter): """ return 'ST_AsText(%s)' %(self.expand(first)) -# def ST_CONTAINED(self, first, second): -# """ -# non-standard function based on ST_Contains with parameters reversed -# http://postgis.org/docs/ST_Contains.html -# """ -# return 'ST_Contains(%s,%s)' % (self.expand(second, first.type), self.expand(first)) - def ST_CONTAINS(self, first, second): """ http://postgis.org/docs/ST_Contains.html @@ -8413,8 +8406,8 @@ class Expression(object): db = self.db return Expression(db, db._adapter.AS, self, alias, self.type) - # GIS functions - + # GIS expressions + def st_asgeojson(self, precision=15, options=0, version=1): return Expression(self.db, self.db._adapter.ST_ASGEOJSON, self, dict(precision=precision, options=options, @@ -8422,20 +8415,22 @@ class Expression(object): def st_astext(self): db = self.db - return Expression(db, db._adapter.ST_ASTEXT, self, type='string') + return Expression(db, db._adapter.ST_ASTEXT, self, 'string') - def st_contained(self, value): + def st_distance(self, other): db = self.db - return Query(db, db._adapter.ST_CONTAINS, value, self) + return Expression(db,db._adapter.ST_DISTANCE,self,other, 'double') + + def st_simplify(self, value): + db = self.db + return Expression(db, db._adapter.ST_SIMPLIFY, self, value, self.type) + + # GIS queries def st_contains(self, value): db = self.db return Query(db, db._adapter.ST_CONTAINS, self, value) - def st_distance(self, other): - db = self.db - return Expression(db,db._adapter.ST_DISTANCE,self,other,self.type) - def st_equals(self, value): db = self.db return Query(db, db._adapter.ST_EQUALS, self, value) @@ -8448,10 +8443,6 @@ class Expression(object): db = self.db return Query(db, db._adapter.ST_OVERLAPS, self, value) - def st_simplify(self, value): - db = self.db - return Expression(db, db._adapter.ST_SIMPLIFY, self, value) - def st_touches(self, value): db = self.db return Query(db, db._adapter.ST_TOUCHES, self, value)