Qgis ,gis,ArcGis 的用法大致相同,今天针对Qgis(地理信息系统)做一个简单的开发。
搭建环境就不用讲了,博客园 ,CSDN等有很多介绍的方法。
第一步配置文件
第二步要在main.cpp添加路径格式,添加Qgis单例
接下来就是我们的代码实现了:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qgsmapcanvas.h>
#include <qgsvectorlayer.h>
#include <QList>
#include <QHBoxLayout>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//创建一个画布
QgsMapCanvas *canvas= new QgsMapCanvas(this);
//设置画布大小为当前窗口大小
canvas->resize(this->size());
//添加矢量图层路径
QString path = "D:/JIETU/bbb.shp";
//创建一个矢量图层
QgsVectorLayer *layer1 = new QgsVectorLayer(path,"","ogr");
//创建一个链表来存放图层
QList<QgsMapLayer *> layers;
//将图层追加到链表中
layers.append(layer1);
//将图层画到画布上
canvas->setLayers(layers);
//设置画布缩放
canvas->zoomToFullExtent();
//添加布局
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(canvas);
}
实现效果如下图: