美文网首页
2020-11-03 qgis环境搭建与地图显示

2020-11-03 qgis环境搭建与地图显示

作者: MrSwilder | 来源:发表于2020-11-03 23:00 被阅读0次

一、环境搭建

参考大神文章(http://caiyi.tech/)花一下午时间搭建了二次开发环境,现在就环境搭建的过程和中间遇到的问题做个记录

1.1、下载osgeo4w(https://www.qgis.org/en/site/forusers/download.html)

我下载的是网络版64位:


image.png

1.2.打开安装包,选择高级安装,一直下一步,我的放在了d盘;

image.png

1.3.下载仓库选择武大的(http://gwmodel.whu.edu.cn/mirrors/osgeo4w

image.png

1.4.下载的包

Qgis相关的选择:


image.png

qt选择


image.png

然后等待完成,只要选择了武大的镜像,下载速度还是很快的

1.5、新建一个c++空项目,右键属性配置

image.png
包含目录内容: image.png
库目录: image.png
链接器->附加依赖项
Qt5Core.lib
Qt5Gui.lib
Qt5Widgets.lib
qgis_core.lib
qgis_gui.lib
qgis_app.lib
image.png
image.png

调试环境配置:

PATH=D:\OSGeo4W64\bin;D:\OSGeo4W64\apps\qgis-ltr\bin;D:\OSGeo4W64\apps\Qt5\bin
image.png

在生成的release目录下,新建qt.conf文件,目的是运行时用到的插件会在这个文件夹下寻找,找不到会报错,里面内容:

[Paths]
Plugins=D://OSGeo4W/apps/Qt5/plugins
image.png

二、显示一个shp

2.1、新建main.cpp,内容如下

#define _USE_MATH_DEFINES
#include <cmath>

#include <qgsapplication.h>
#include <qgsproviderregistry.h>
#include <qgsmapcanvas.h>
#include <qgsvectorlayer.h>
#include <qgsproject.h>

int main(int argc, char *argv[]) {
    // 创建 QgsApplication 实例
    QgsApplication app(argc, argv, true);

    // 设置并检查数据插件目录
    QgsProviderRegistry::instance("D:/OSGeo4W64/apps/qgis-ltr/plugins");

    // 控制台打印已载入的插件目录
    qDebug() << "QGIS data providers loaded:" << QgsProviderRegistry::instance()->providerList() << endl;

    // 设置 GDAL 数据目录环境变量
    qputenv("GDAL_DATA", "D:/OSGeo4W64/share/gdal");

    // 创建 QgsCanvas 画布实例
    QgsMapCanvas c;

    // 从磁盘 .shp 文件创建矢量图层
    QgsVectorLayer* pVectorLayer = new QgsVectorLayer(u8"F:/草原类型图/青海省草原类型图_xa80.shp", u8"市级行政区");

    // 确认图层是否创建成功
    qDebug() << "Is layer valid:" << pVectorLayer->isValid();

    // 将图层添加到画布上
    c.setLayers(QList<QgsMapLayer*>() << pVectorLayer);

    // 设置画布窗体标题并显示画布
    // 画布本身是 QWidget 的子类,因此可以承担 QWidget 的所有操作
    c.setWindowTitle(u8"QGIS 二次开发:画布");
    c.show();

    // 缩放到图层的空间范围
    c.zoomToFullExtent();

    // 启动 QgsApplication 实例
    return app.exec();
}
结果: image.png

三、遇到的问题

搭建环境用了一下午时间,遇到了一些问题,幸亏有qq群的大佬帮忙才能解决,还有一些是自己解决的,特此记录
1.按照大神的教程安装了qgis桌面程序和开发包,在apps->qt5->include下面只有一个文件夹,需要按照我1.4中的步骤安装qt


image.png

相关文章

网友评论

      本文标题:2020-11-03 qgis环境搭建与地图显示

      本文链接:https://www.haomeiwen.com/subject/spxwvktx.html