diff --git a/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py b/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py index 17fb0008869..7777394bbe4 100644 --- a/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py +++ b/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py @@ -122,8 +122,10 @@ def run(item, action, mainwindow): face_extent = layer.extent() # face geometry - sql = u'SELECT face_id, topology.ST_GetFaceGeometry(%s, face_id) as geom ' \ - 'FROM %s.face WHERE face_id > 0' % (quoteStr(toponame), quoteId(toponame)) + sql = u'SELECT face_id, topology.ST_GetFaceGeometry(%s,' \ + 'face_id)::geometry(polygon, %s) as geom ' \ + 'FROM %s.face WHERE face_id > 0' % \ + (quoteStr(toponame), quoteId(toponame), toposrid) uri.setDataSource('', u'(%s\n)' % sql, 'geom', '', 'face_id') uri.setSrid(toposrid) uri.setWkbType(QGis.WKBPolygon) @@ -136,8 +138,11 @@ def run(item, action, mainwindow): legend.setLayerExpanded(layer, False) # face_seed - sql = u'SELECT face_id, ST_PointOnSurface(topology.ST_GetFaceGeometry(%s, face_id)) as geom ' \ - 'FROM %s.face WHERE face_id > 0' % (quoteStr(toponame), quoteId(toponame)) + sql = u'SELECT face_id, ST_PointOnSurface(' \ + 'topology.ST_GetFaceGeometry(%s,' \ + 'face_id))::geometry(point, %s) as geom ' \ + 'FROM %s.face WHERE face_id > 0' % \ + (quoteStr(toponame), quoteId(toponame), toposrid) uri.setDataSource('', u'(%s)' % sql, 'geom', '', 'face_id') uri.setSrid(toposrid) uri.setWkbType(QGis.WKBPoint)