Как создать QgsVectorLayer в qgis in centos (возможно, отсутствует пакет плагинов?)

Я следовал инструкциям здесь:

https://gis.stackexchange.com/questions/37111/how-to-install-qgis-on-centos-6

Если я бегу:

QgsVectorLayer * vpoly = new QgsVectorLayer("Polygon", "pointbuffer", "memory");
QgsVectorDataProvider * provider = vpoly->dataProvider();

Тогда провайдер является указателем NULL

Кроме того, если я сделаю:

QString myPluginsDir = "/usr/lib64/qgis";
QgsProviderRegistry * preg = QgsProviderRegistry::instance(myPluginsDir);
QString pluglist=preg->pluginList();
printf("plugins: %s\n",pluglist.toStdString().c_str());

Затем он печатает:

plugins: No data provider plugins are available. No vector layers can be loaded

Кроме того, когда я пытаюсь загрузить QgsVectorLayer со следующим:

QgsVectorLayer * mypLayer = new QgsVectorLayer(myLayerPath, myLayerBaseName,    myProviderName);
if (mypLayer->isValid()){
qDebug("Layer is valid");
} else {
qDebug("Layer is NOT valid");
return;
}

Тогда это говорит, что слой НЕ действителен.

Все это прекрасно работает в Ubuntu, но я не могу заставить его работать в сентосах. Я думаю, что, возможно, не хватает всех плагинов. Что мне не хватает?

Пожалуйста помоги.

0

Решение

Я понял проблему.

Это не было связано с кодом, который я разместил. К счастью, это будет полезно для других, которые получают подобную ошибку.

Мой код был основан на QGIS_-Code-examples (2_basic_main_window)

Я не изменил переменную myPluginsDir. Будьте уверены, что вы измените его, потому что по умолчанию это будет неправильно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]