文章目录
前言
- 介绍栅格图层数据渲染之轮廓渲染
- 说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps
轮廓
- 以“3420C_2010_327_RGB_LATLNG.tif”数据为例,在QGis中加载默认显示为多波段彩色如下图
QGis设置为轮廓
- 在图层属性的“Symbology”选项卡中选择“Render type”为“Contours”
- 设置对应的属性,如下图
- 属性设置完成后,图层渲染效果如下图
二次开发代码实现轮廓
- 类
QgsRasterContourRenderer
是对应的渲染器,详情见文档,类图如下
- 构造函数需要传入dataProvider
- 调用类的setters修改对应的属性
- 完整测试代码如下
void MainWindow::rasterContoursSlot()
{
//添加测试图层
QgsRasterLayer *layer = addTestRaster("maps/raster/3420C_2010_327_RGB_LATLNG.tif");
QgsRasterContourRenderer *renderer = new QgsRasterContourRenderer(layer->dataProvider());
renderer->setInputBand(1);
renderer->setContourInterval(100.00);
//这里可以设置QgsLineSymbol
// renderer->setContourSymbol()
renderer->setContourIndexInterval(500.00);
//这里可以设置QgsLineSymbol
// renderer->setContourIndexSymbol()
renderer->setDownscale(4.00);
layer->setRenderer(renderer);
}
- 效果如下图
总结
- 介绍了栅格图层轮廓的用法