Skip to content

Commit a5553b7

Browse files
author
Sandro Santilli
committedNov 1, 2012
TopoViewer: only use queries for layers when really needed
1 parent c3ca2f2 commit a5553b7

File tree

1 file changed

+15
-12
lines changed
  • python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview

1 file changed

+15
-12
lines changed
 

‎python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,45 +94,48 @@ def run(item, action, mainwindow):
9494
try:
9595
group = legend.addGroup(u'%s topology' % toponame)
9696

97+
provider = db.dbplugin().providerName()
98+
uri = db.uri();
99+
97100
# node
98-
layer = db.toSqlLayer(u'SELECT * FROM %s.node' % quoteId(toponame),
99-
'geom', 'node_id', u'%s.nodes' % toponame)
101+
uri.setDataSource(toponame, 'node', 'geom', '', 'node_id')
102+
layer = QgsVectorLayer(uri.uri(), u'%s.nodes' % toponame, provider)
100103
layer.loadNamedStyle(os.path.join(template_dir, 'node.qml'))
101104
registry.addMapLayer(layer)
102105
legend.moveLayer(layer, group)
103106

104107
# edge
105-
layer = db.toSqlLayer(u'SELECT * FROM %s.edge_data' % quoteId(toponame),
106-
'geom', 'edge_id', u'%s.edges' % toponame)
108+
uri.setDataSource(toponame, 'edge_data', 'geom', '', 'edge_id')
109+
layer = QgsVectorLayer(uri.uri(), u'%s.edges' % toponame, provider)
107110
layer.loadNamedStyle(os.path.join(template_dir, 'edge_style.qml'))
108111
registry.addMapLayer(layer)
109112
legend.moveLayer(layer, group)
110113

111114
# face_left
112-
layer = db.toSqlLayer(u'SELECT * FROM %s.edge_data' % quoteId(toponame),
113-
'geom', 'edge_id', u'%s.face_left' % toponame)
115+
uri.setDataSource(toponame, 'edge_data', 'geom', '', 'edge_id')
116+
layer = QgsVectorLayer(uri.uri(), u'%s.face_left' % toponame, provider)
114117
layer.loadNamedStyle(os.path.join(template_dir, 'face_left.qml'))
115118
registry.addMapLayer(layer)
116119
legend.moveLayer(layer, group)
117120

118121
# face_right
119-
layer = db.toSqlLayer(u'SELECT * FROM %s.edge_data' % quoteId(toponame),
120-
'geom', 'edge_id', u'%s.face_right' % toponame)
122+
uri.setDataSource(toponame, 'edge_data', 'geom', '', 'edge_id')
123+
layer = QgsVectorLayer(uri.uri(), u'%s.face_right' % toponame, provider)
121124
layer.loadNamedStyle(os.path.join(template_dir, 'face_right.qml'))
122125
registry.addMapLayer(layer)
123126
legend.moveLayer(layer, group)
124127

125128
# next_left
126-
layer = db.toSqlLayer(u'SELECT * FROM %s.edge_data' % quoteId(toponame),
127-
'geom', 'edge_id', u'%s.next_left' % toponame)
129+
uri.setDataSource(toponame, 'edge_data', 'geom', '', 'edge_id')
130+
layer = QgsVectorLayer(uri.uri(), u'%s.next_left' % toponame, provider)
128131
layer.loadNamedStyle(os.path.join(template_dir, 'next_left.qml'))
129132
registry.addMapLayer(layer)
130133
legend.setLayerVisible(layer, False)
131134
legend.moveLayer(layer, group)
132135

133136
# next_right
134-
layer = db.toSqlLayer(u'SELECT * FROM %s.edge_data' % toponame,
135-
'geom', 'edge_id', u'%s.next_right' % toponame)
137+
uri.setDataSource(toponame, 'edge_data', 'geom', '', 'edge_id')
138+
layer = QgsVectorLayer(uri.uri(), u'%s.next_right' % toponame, provider)
136139
layer.loadNamedStyle(os.path.join(template_dir, 'next_right.qml'))
137140
registry.addMapLayer(layer)
138141
legend.setLayerVisible(layer, False)

0 commit comments

Comments
 (0)
Please sign in to comment.