diff --git a/gluon/dal/adapters/postgres.py b/gluon/dal/adapters/postgres.py index 7e8c32fd..6694ae0b 100644 --- a/gluon/dal/adapters/postgres.py +++ b/gluon/dal/adapters/postgres.py @@ -278,6 +278,12 @@ class PostgreSQLAdapter(BaseAdapter): """ return 'ST_Simplify(%s,%s)' %(self.expand(first), self.expand(second, 'double')) + def ST_SIMPLIFYPRESERVETOPOLOGY(self, first, second): + """ + http://postgis.org/docs/ST_SimplifyPreserveTopology.html + """ + return 'ST_SimplifyPreserveTopology(%s,%s)' %(self.expand(first), self.expand(second, 'double')) + def ST_TOUCHES(self, first, second): """ http://postgis.org/docs/ST_Touches.html diff --git a/gluon/dal/objects.py b/gluon/dal/objects.py index 9c22449a..7c4cb03f 100644 --- a/gluon/dal/objects.py +++ b/gluon/dal/objects.py @@ -1304,6 +1304,10 @@ class Expression(object): db = self.db return Expression(db, db._adapter.ST_SIMPLIFY, self, value, self.type) + def st_simplifypreservetopology(self, value): + db = self.db + return Expression(db, db._adapter.ST_SIMPLIFYPRESERVETOPOLOGY, self, value, self.type) + # GIS queries def st_contains(self, value):