4 votos

Problema de rendimiento al cargar la capa PostGIS con pyQGIS

Tengo una pregunta sobre la carga de una capa PostGIS en el proyecto desde mi plugin QGIS. El código es así:

uri1 = qgis.core.QgsDataSourceURI() 
uri1.setConnection(str(host), str(port), str(database), str(user), str(password) )
uri1.setDataSource(str(schema), "layer", "geom")
qgis.utils.iface.addVectorLayer(uri1.uri(),"layer", "postgres")

En realidad funciona bien, pero el rendimiento me está causando muchos problemas. Tarda hasta 10 minutos, ya que hay unos 100.000.000 de entradas en la tabla.

Cuando cargo la capa manualmente usando el botón PostGIS en QGIS, hay una casilla de verificación en la configuración que dice: "Geschätzte Tabellenmetadaten nutzen". En español esto sería: "Usar metadatos de tabla estimados". Cuando se marca, la capa se carga en tiempo real.

Mi pregunta es: ¿Existe una forma de cargar una capa de PostGIS en QGIS utilizando los metadatos de la tabla estimada, y así aumentar el rendimiento de forma significativa?

2voto

GilliM Puntos 69

¿Puede intentar

uri1.setUseEstimatedMetadata(True)

antes de establecer la conexión?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X