невозможно записать векторный слой в базу postgres (postgis) - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь записать созданный векторный слой в postgres через python qgis api.

  1. Я создаю геометрию (это действительно так) и назначаю ее переменным точкам "

  2. Попытка создать векторный слой, установить геометрию и слой sh в базу данных:

    uri = QgsDataSourceUri()     
    #host,port,database,user,password  
    uri.setConnection("localhost", "5432", "postgis", "postgres", "admin")      
    #schema,layer_name,geometry_column  
    uri.setDataSource("public", "my_points", "geom")      
    #uri, layer_name, data_provider  
    layer = QgsVectorLayer(uri.uri(), "my_points", "postgres")  
    pr = layer.dataProvider()  
    pr.addAttributes([QgsField("name", QVariant.String)])  
    layer.updateFields()      
    fet = QgsFeature()  
    fet.setGeometry(points)  
    fet.setAttributes(["Delta"])  
    pr.addFeatures([fet])  
    vl.updateExtents()  
    project.addMapLayer(vl)      
    

при запуске скрипта из консоли qgis python qgis останавливается и дает мне следующую трассировку стека:

QMutex::lock :  
providerMetadataFactory :
PyInit__core :
PyMethodDef_RawFastCallKeywords :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyEval_EvalCodeWithName :
PyEval_EvalCodeEx :
PyEval_EvalCode :
PyArena_Free :
PyRun_StringFlags :
PyImport_Import :
PyImport_Import :
PyMethodDef_RawFastCallKeywords :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyEval_EvalCodeWithName :
PyImport_Import :
PyImport_Import :
PyMethodDef_RawFastCallKeywords :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyEval_EvalCodeWithName :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyEval_EvalCodeWithName :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyMethodDef_RawFastCallKeywords :
PyEval_EvalFrameDefault :
PyFunction_FastCallDict :
PyMethodDef_RawFastCallDict :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::activate :
QAction::activate :
QAbstractButton::click :
QAbstractButton::mouseReleaseEvent :
QToolButton::mouseReleaseEvent :
QWidget::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QSizePolicy::QSizePolicy :
QSizePolicy::QSizePolicy :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
UserCallWinProcCheckWow :
DispatchMessageWorker :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
main :
BaseThreadInitThunk :
RtlUserThreadStart :

Я буду чрезвычайно благодарен, если кто-нибудь скажет мне, в чем дело

...