当前位置: 首页 > news >正文

QGIS二次开发环境搭建(qgis-3.28.6+qt5.15)

演示QGis C++ API的使用,包括如下功能:

  •  加载各种格式数据
    •  shapefile
    •  gpx
    •  gpkg
    •  geojson
    •  gml
    •  kml
    •  dxf
    •  coverage目录
    •  csv
    •  spalialite数据库
    •  memory,
    •  wfs
    •  raster栅格,
    •  wms(在线高德,离线高德)
  •  地图符号化
    •  矢量点符号化
      •  单一符号(Single symbol)
        •  简单标记(Simple marker)
        •  SVG标记(SVG marker)
        •  图片(Raster Image marker)
        •  动画标记(Animated marker)
        •  椭圆形标记(Ellipse marker)
        •  填充标记(Filled marker)
        •  字符标记(Font marker)
        •  几何生成器(Geometry generator)
        •  掩膜(Mask marker)
        •  矢量字段标记(Vector field marker)
      •  分类(Categorized)
      •  分级(Graduated)
      •  基于规则(Rule-based)
      •  点分布(Point displacement)
      •  点聚合(Point cluster)
      •  热力图(Heatmap)
    •  矢量线符号化
      •  简单线(Simple line)
      •  栅格线(Raster Line)
      •  箭头(Arrow)
      •  几何生成器(Geometry generator)
      •  短划线(Hashed Line)
      •  插值线(Interpolated Line)
      •  爆炸线(Lineburst)
      •  标记线(Marker line)
    •  矢量面符号化
      •  单一符号(Single symbol)
        •  仅渲染中心点(Centroid fill)
        •  几何生成器(Geometry generator)
        •  渐变填充(Gradient fill)
        •  使用线符号填充(Line pattern fill)
        •  使用点符号填充(Point pattern fill)
        •  随机标记填充(Random Marker Fill)
        •  栅格数据填充(Raster image fill)
        •  SVG填充(SVG fill)
        •  形状炸裂填充(Shapeburst fill)
        •  简单填充(Simple fill)
        •  箭头渲染边界(Outline: Arrow)
        •  短划线渲染边界(Outline: Hashed Line)
        •  插值线渲染边界(Outline: Interpolated Line)
        •  爆炸线渲染边界(Outline: Lineburst)
        •  标记符号渲染边界(Outline: Marker line)
        •  栅格线渲染边界(Outline: Raster Line)
        •  简单线渲染边界(Outline: Simple line)
      •  反转面要素(Inverted polygons)
      •  2.5 D
    •  栅格数据符号化
      •  Multiband color:多波段彩色
      •  Paletted/Unique values:唯一值着色
      •  Singleband gray:单波段灰度
      •  Singleband pseudocolor:单波段伪彩色
      •  Hillshade:山体阴影
      •  Contours:轮廓
  •  地图标注,地图注释
  •  地图图表
    •  饼图(Pie Diagram)
    •  文本图(Text Diagram)
    •  直方图(Histogram)
    •  分段条形图(StackedBar Diagram)
  •  矢量数据操作:数据显示,数据选择,数据查询,空间索引,距离面积计算以及将图层写入文件
  •  MapCanvas使用
    •  地图Canvas的使用:背景色,中心点,角度的修改
    •  地图工具(Map Pan,Map Zoom)的使用
    •  RubberBand画线画多边形
    •  VertexMarker的使用
    •  图层树的使用,在图层叶子节点右键菜单的实现
  •  内置算法的使用
    •  随机生成点
    •  按照参照面裁剪
    •  Buffer缓冲区

QT += core gui xml svg widgets# 项目名称和版本
TEMPLATE = app
TARGET = ll_qgis_uav_realtime
VERSION = 0.1# 语言和标准
CONFIG += c++17# 包含当前目录
INCLUDEPATH += .# 包含头文件搜索路径
INCLUDEPATH += ../ll_qgis_base_lib/# 自动生成 UI 和 MOC 文件
FORMS += mainwindow.ui \paramdockwidget.uiHEADERS += mainwindow.h \../../inc/ld_geometry.h \../../inc/ld_symbol_property.h \../../inc/ldcommon.h \paramdockwidget.hSOURCES += main.cpp \mainwindow.cpp \paramdockwidget.cpp# 根据平台设置库路径
unix: LIBS += -L../ll_qgis_base_lib/ -lll_qgis_base_lib \-L../qgis/ -lqgis_app -lqgis_core -lqgis_gui -lqgis_analysis
win32: LIBS += -L$$PWD/lib/ -lll_qgis_base_lib# LIBS +=              -L../qgis/ -lqgis_app -lqgis_core -lqgis_gui -lqgis_analysis# 运行时输出目录
DESTDIR = $$PWD/../../bin# 其他配置
CONFIG += console
CONFIG -= app_bundleOSGeo4W_Path = C:/QGIS28
INCLUDEPATH += \$${OSGeo4W_Path}/include \$${OSGeo4W_Path}/apps/qgis/includeLIBS += \$${OSGeo4W_Path}/apps/qgis/lib/qgis_app.lib \$${OSGeo4W_Path}/apps/qgis/lib/qgis_core.lib \$${OSGeo4W_Path}/apps/qgis/lib/qgis_gui.lib \$${OSGeo4W_Path}/apps/qgis/lib/qgis_analysis.lib
# 注意:这个 .pro 文件假设 Qt 库和 qgis 库位于相对路径 ../ll_qgis_base_lib/ 和 ../qgis/。
# 如果实际路径不同,请相应地调整 INCLUDEPATH 和 LIBS 中的路径。

 

http://www.dtcms.com/a/285465.html

相关文章:

  • Telink BLE 低电压检测
  • AI IDE冲击下JetBrains作死,IDEA埋订阅陷阱
  • Redis中字符串类型的实现原理
  • 数据通信与计算机网络——模拟传输
  • websocket案例 599足球比分
  • 计算机网络知名端口分配全表(0-1023)
  • 网络原理——UDP
  • 【论文精读】基于共识的分布式量子分解算法用于考虑最优传输线切换的安全约束机组组合
  • 游戏盾在非游戏行业的应用:跨界守护网络安全的新利器
  • 初探 Web 环境下的 LLM 安全:攻击原理与风险边界
  • Mock 单元测试
  • 如何上传github(解决git的时候输入正确的账号密码,但提示认证失败)
  • 撤销和重做!支持数据驱动的事务机制啦(使用OpenGL+QT开发三维CAD)
  • LatentSync: 一键自动生成对嘴型的视频
  • 医疗人工智能的心电图分析:创新技术与临床应用
  • 【playwright篇】教程(十六)[macOS+playwright相关问题]
  • 【Linux 中断机制:工作队列与中断线程化详解】
  • 5 种可行的方法:如何将 Redmi 联系人备份到 Mac
  • RustDesk 自建中继服务器教程(Mac mini)
  • 深入了解消息队列:从基础到选型
  • 云计算虚拟化层I/O性能优化:SR-IOV与DPDK技术的整合应用
  • 电脑视频常用几种接口
  • 工业互联网六大安全挑战的密码“解法”
  • Sentinel dashboard 添加context-path后无法信息无法上传问题
  • 差分隐私机器学习:通过添加噪声让模型更安全,也更智能
  • 【甲烷数据集】Sentinel-5P 卫星获取的全球甲烷数据集-TROPOMI L2 CH₄
  • 共享模式、社群与开源链动2+1模式AI智能名片S2B2C商城小程序的协同发展研究
  • wx小程序设置沉浸式导航文字高度问题
  • 手撕Spring底层系列之:Bean的生命周期
  • html复习