Estoy teniendo un paso en la utilización de pyqgis desde dentro de la QGIS consola de python para cargar una capa de SQL Server y de la pantalla. Yo siento que soy parte del camino, pero estoy teniendo un problema real de conseguir la capa a la pantalla.
Me he cargado la capa, aparece en las capas muelle, pero no aparece nada en la ventana del mapa (incluso después de seleccionar el zoom a la capa de medida y comprobación de los estilos). Lo que también es raro es que si puedo abrir los atributos hay datos de allí y me puede salvar la capa como un shapefile, vuelve a abrir y aparece bien. Hay algo que me falta? Aquí está mi código:
from PyQt4.QtCore import QFileInfo,QSettings
from qgis.core import QgsRasterLayer, QgsCoordinateReferenceSystem
from qgis.gui import *
from PyQt4.QtCore import *
s = QSettings()
oldValidation = str(s.value( "/Projections/defaultBehaviour", "useGlobal" ))
s.setValue( "/Projections/defaultBehaviour", "useGlobal" )
uri = "MSSQL:server=My_Server;database=My_Database;tables=dbo.My_View;trusted_connection=yes"
vlayer = QgsVectorLayer(uri, "my_table", "ogr")
vlayer.setCrs( QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId) )
s.setValue( "/Projections/defaultBehaviour", oldValidation )
QgsMapLayerRegistry.instance().addMapLayer(vlayer)