自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 QGIS无法载入插件“tianditu-tools” AttributeError: module ‘yaml‘ has no attribute ‘FullLoader‘ 解决方法

正常安装tianditu-tools会出现上面的界面,如果在安装后提示无法载入插件“tianditu-tools” AttributeError: module 'yaml' has no attribute 'FullLoader',说明需要重新安装yaml.只需要在QGIS对应的PYTHON环境中重新安装该库。

2023-08-16 14:00:40 622 6

原创 Qt+ECharts 数据大屏

Qt+EChart 数据大屏

2022-09-25 22:43:35 919 3

原创 Qt+ECharts 饼状图

Qt+echarts

2022-09-23 23:09:41 435

原创 Qt+ECharts 双轴柱状图

Qt+ECharts 双轴柱状图

2022-09-23 22:26:42 373

原创 Qt+ECharts 表盘图

Qt+ECharts

2022-09-23 20:10:43 382 1

原创 QCustomPlot画带数值标签的柱状图

简介:QCustomPlot是Qt常用于画统计图的工具库,最近本人在使用该库画柱状图时发现一个问题——QCustomPlot没有直接加柱子数据标签”的函数,需要自己写此功能。,根据该博文,本文给出了详细的代码并进行了改进。

2022-09-06 16:18:16 920 5

原创 Libtorch之一元线性拟合(C++/Qt)

简介 一元线性回归是机器学习算法中最简单、直观的算法,对于学习深度学习,虽然简单但必学,是学习深度学习的 “hello word”,本节通过Libtorch来实现这个算法,所参考的Pytorch例子为书上的案例。至于一些基本的理论知识在博客中不会提到。一是因为网上有许多大佬的帖子或博客写的很好。二是本人目的想通过C++实现深度学习(目前主要是复现pytorch案例),兴趣于此。所以基本上都是直接给代码。希望能给大家带来一点参考的价值。1.神经网络的创建:class LinearR...

2021-11-25 23:25:42 1317 2

原创 Libtorch之神经网络线性拟合(C++/Qt)

简介 对于深度学习,一般使用PYTHON接口的Pytorch或其他库,但由于本人一直使用C++语言,所以打算通过C++接口的Libtorch来搭建神经网络。下面是通过对比网上的一个Pytorch简单的线性网络例子实现的一个拟合代码。1.神经网络的创建:class myNet :public torch::nn::Module {public: myNet(int64_t n_feature, int64_t n_hidden, int64_t n_output) {...

2021-11-23 22:47:28 2476

原创 VS设置调试环境并实现多个环境变量同时可用

简介库编译后需要配置到VS的开发环境中,有时为了不增加系统环境变量(避免环境太多冲突),所以需要在VS中加入库的开发环境,以此避免把库的DLL文件拷贝到当前目前的麻烦。步骤:项目属性 -> 调试 -> 环境,然后把环境加入,如下:PATH=D:\libTorch\libtorch\lib;%PATH%点击“确定”,完成。...

2021-11-18 11:35:12 2516 6

原创 Qt 判断字符串是否为数字

在网上收了一下关于Qt判断字符串是否为数字的结果,都比较复杂,好多人都自己写函数,其实Qt有一个函数toDouble可以实现这个功能,如下:QString str = "1234.56";bool ok;double val = str.toDouble(&ok); // ok为true说明str为数字,为false说明str为非数字...

2021-11-08 20:52:33 6857

原创 GDAL之投影信息变量自动消失的解决方法

1.问题简介使用GDAL获取栅格影像投影信息时,通常使用的函数为:poDataset->GetProjectionRef()或者GDALGetProjectionRef(poDataset)它们的返回值均为 const char * 类型,今天在使用其获取投影后返回值是有内容,当经过中间运行其他函数后,该返回值时而有内容,时而没有,打印出来会现在下面情况(qDebug() << "proj:" << myProj << endl;):

2021-11-08 18:43:40 544

原创 Linux (Centos7) 系统下配置GDAL3.X+Qt (一种快速方便配置GDAL3.X的方法)

最近在Centos7系统下处理NC格式数据,所以需要配置GDAL库。GDAL编译需要一些库的支持,比如proj6、SQLite3与hdf5等。本来想通过下图方式编译各种库来配置GDAL,但是因为各种库的版本与编译环境等问题,一直出现问题,所以就没有按以下方式逐个进行编译各种库,下面介绍我编译的方式,相对来说方便简单,作为配置GDAL参考。1.升级GCC/G++Centos7自带的GCC(G++)为4.8版本的,该版本的编译器不支持GDAL所需的C++11,所以需要升级。yum -y in.

2021-11-03 00:34:21 1039

原创 Qt学习笔记

一、Qt加载SVG图标将Qt目录下plugin中的imageformats文件夹复制到EXE所在的目录下。

2020-11-26 09:37:49 621

原创 基于Python(Arcpy)对遥感影像(TIF)的Mann-Kendall算法突变检测实现

主体函数:#coding=utf-8import timestart = time.clock()import arcpyimport mathimport matplotlib.pyplot as plt# 对每年的栅格数据求一个平均数值def mean_year(workspace,zonal_mask): arcpy.env.workspace = workspa...

2020-10-29 21:28:54 605

原创 基于Python(Arcpy)批量对遥感影像MK与SEN检验,结果为两张TIF图(MK与SEN)

def mkSen_cal(source_folder,outpt_folder): arcpy.CheckOutExtension("spatial") arcpy.env.workspace = source_folder print "源数据的路径为:"+str(arcpy.env.workspace) arcpy.overwriteOutput = Tru...

2020-10-29 21:24:15 1753 4

原创 Qgis二次开发,获取图层原路径

QgsRasterLayer* l = qobject_cast<QgsRasterLayer *>(layer);//获取图层 QString fileQmd = l->metadataUri(); fileQmd.chop(3); QString fileName = fileQmd + "tif";//这里以栅格TIF为例,可以换成其他格式

2020-10-12 21:35:27 1059

原创 NC气象文件转TIF影像小工具开发(PyQt5 开发)

NC格式的文件是我们经常用的气象数据,一般处理时可以使用MATLAB代码,但因为本人比较喜欢C++与Python,所以打算使用这两种语言中的一个来写一个NC转换TIF小工具,原来一直使用Qt(C++)写程序,一直没用过PyQt,这次就用这个工具练练手,因为这个工具写成后是直接可以使用,所以这这次就不上代码了,上可执行程序,如果有需要源码与可执行程序的博友可以直接下载使用(包括源码、程序软件、使用说明与测试数据)。下面是测试结果:测试一:测试二:...

2020-08-05 21:39:27 958 19

原创 PyQt5打包发布后出现闪退或缺少模块的解决方法(附加问题Cannot find existing PyQt5 plugin directories与This application failed )

(附加问题Cannot find existing PyQt5 plugin directories与This application failed to start becaise no Qt platform plugin could be initized的解决方案 ),因为不想再写一篇博客,就简单说一下,偷个懒,希望能帮到大家。首先先上我的问题:在没打包发布前是没有任何问题的,打包成为EXE文件后,就出现这个情况了。从上面的提示可以看出程序是有一个模块找不到,可能各位出现了同样的情况,但缺少

2020-07-30 22:06:41 4062 1

原创 ARCGIS对不同值域的格栅影像用同一图例出图

例如对下面三张影像出图:结果图为:上面的结果影像图中是一个图例共用。步骤:(1) 选取值域范围取大的一个栅格影像作为标准,然后对其进行符号系统设置,设置为“已分类”,同时分配好色带颜色,确定后导出这个栅格影像为一个图层。(a) (b)(2) 将刚才保存的图层文件导入到某他要设置色带的影像中。(3)上一步点击“确定”后,色带就统一了。然后进行布局加界面中,随便选择一个图层影像导入图例(此时的所有图层的图例都一样了),就可以开启自己的出图模式了。...

2020-07-08 11:30:04 10924 17

原创 arcgis制作土地利用转移矩阵

1.首先下载土地利用的影像,在这里我用的是资源环境数据云平台的数据,分别为1980年与2015年的土地利用栅格影像,然后打开影像。2.下载影像后进行重分类影像,因为影像原分类是二级分类,我这里需要的是一级分类就行了,具体详细的分类可以在下载时察看,在这里就不过多介绍了。分类操作如下:3.上一步完成后土地利用分类就完成了,然后裁剪出自己的研究区,如果是对整个中国研究的话就不用裁剪了,裁剪步骤如下:4.对上面裁剪出来的研究区进行栅格转面,操作步骤如下:5.得到转化后的矢量面状数据

2020-07-08 11:29:54 18763 59

原创 C++单链表学习笔记(二)

上篇博客《C++单链表学习笔记》写了关于只含首元节点不含有头节点的单链表,在这篇博客中是关于含有头节点的单链表。直接以代码的形式呈现。如下:一、链表函数//#include <QCoreApplication>#include <iostream>using namespace std;// 节点typedef struct Node{ int id; struct Node *next;}Student;// 创建链表St...

2020-05-17 20:35:33 156

原创 Qt Creator与Qt+VS2015调用Python代码的实现

下面来介绍分别用Qt Creator与Qt+VS2015调用Python代码,首先电脑中要安装Python IDE与Qt。我电脑中安装的是Python37,VS2015+Qt5.8、Qt Creator5.8.0,不管是哪个版本实现步骤都是一样的,均可参照。一、设置Python系统环境 这俩个路径最好是放在顶端,防止电脑中安装多个版本找不到对应的系统环境,具体...

2020-05-04 22:56:54 963 1

原创 QAxBase: Error calling IDispatch member Open: Exception thrown by server

用Qt调用EXCEL文件时会通过下面两个函数中的其中的一个来实现1. mWorkBooks->querySubObject("Open(const QString &)",fileName)2.mWorkBooks->dynamicCall("Open(const QString &)", fileName)上面两个函数都可以打开EXCEL文件,其中参数 ...

2020-05-04 00:38:46 8474 1

原创 QGIS二次开发,拖放打开文件(Qt基本控件也适用)

为了将自己写的程序平时更好用更人性化,其中拖放打开文件是软件一个不可少的功能,有了这个功能免去了打开按钮再找文件对应路径的麻烦,虽然本文中介绍的是QGIS二次开发内容中的一部分,但是用的是Qt功能,所以也适用Qt中控件打开某种格式的文件,下面就介绍如何写这个功能。 拖放功能事件的完成是由两个响应事件完成,分别为 QDragEnterEvent与QDropEvent。这...

2020-04-27 15:52:55 1677 6

原创 Qt的窗口拉伸QDockWidget,一个窗口变大,另一个窗口变小

平常使用 QDockWidget 时,都是使用QtDesigner直接拖入后使用,使用时也没有什么不对劲的。今天用代码写了一个QDockWidget后发现窗口这间不能拉伸,也不能移动停靠位置,如下图不能按箭头方向拉伸控制各窗口大小。 后来发现是因为我使用布局的原因 ,我将窗口2与窗口3使用垂直布局,然后再与窗口1使用水平布局。使用布局后的QDockWidget 是不...

2020-04-27 10:52:58 2875

原创 QGis二次开发,基本功能实现

最近在查看QGIS源码,经过几天的努力把基本功能实现了,界面如下:其中基本功能包括新建、打开项目、打开矢量文件、打开栅格文件、保存、另存为、漫游、识别、放大、缩小、全图、二次开发帮助、图层管理。因为map工具的实现方式基本都是一样,所以只实现这几个,可还对照源码实现其他功能。一、文件功能文件功能可以参照我以前的博客。二、漫游、识别、放大、缩小、全图1.工具的创建 ...

2020-04-15 15:49:13 10207 21

原创 QGis编译出现 Oops, looks like an error loading Qgis, Details Could not load qgis_app.dll.

QGIS通过CMAKE编译后用VS2015生成没问题,一旦运行就会出现下面的问题。Error loading QGISOops, looks like an error loading Qgis, Details Could not load qgis_app.dll.Window Erro: The specified procedure could not be found.H...

2020-04-09 17:38:58 3214 14

原创 QGIS-3.10.4在 Qt(5.11.2)+VS2015(x64)环境下的编译

这几天一直在搞QGIS的编译,刚开始想要编译的是QGIS3.12.1版本,对照着在网上找到的安装步骤一步一步的安装并且反复的试,很可惜都没有成功。后来怀疑是不是QGIS版本的原因,所以就换了一个低的版本QGIS-3.10.4,也是一个长期版本,再按照安装步骤进行安装仍然没有成功。看见别人的能安装成功而自己的电脑安装不成功,换电脑的想法都有了(...),不过几天的努力还是没有白费成功...

2020-04-09 17:29:23 2458 9

原创 系统环境配置后但在CMD终端中找不到对应的程序

电脑的系统环境对程序的运行是很重要,程序系统环境没有配置或都是配置错了会出现意想不到的结果,表现为找不到程序或是找错了对象,下面以PYTHON37为例子说明。一、问题1.配置好PYTHON37的环境2.在CMD终端中输入 python 命令。结果为:“ImportError: No module named site”或为“不是内部命令....”正常情况...

2020-04-08 15:37:32 2219

原创 WIN10安装CMake时出现The installer has insufficient privileges to access this directory

今天在安装CMake时,安装快完成时跳出一个窗口,上面显示The installer has insufficient privileges to access this directory......,如下面的图,大概意思是安装的权限不足无法将程序导入安装目录中,然后我就在网上查了一下也没查到CMAKE出现的这种问题,下面是解决方法。问题:这种问题就是文件权限问题,因为安装目录为 D...

2020-04-07 11:18:13 9148

原创 C++单链表学习笔记

链表是由节点与指针组成,每个节点的形都是由NEW创建出来的存放在堆中,比如:,必须要明白 new book2是创建出来了一个对象,而这个对象是放入堆中然后是由一个p1指针指向这一个地址,在链表中会有上个节点的next指针也指向这个地址,要记住p1与上个节点的next指针之间是没有联系的,只是都指向同一个地方而已,如果一个改变是不会对另一个指针产生影响的链表的动态创建://...

2020-03-31 13:46:28 189

原创 基于Python(Arcpy)对遥感影像(TIF)的Mann-Kendall算法显著性检验实现

1.主体函数代码:# coding:utf-8import arcpyimport timeimport Muti_2pageimport mathstart = time.clock()def MK_cal(source_folder,outpt_folder): arcpy.CheckOutExtension("spatial") arcpy.env.wor...

2020-03-26 21:12:52 607

原创 基于Python(Arcpy)批量对遥感影像(HDF)求年平均值,结果为TIF图

主体函数:# coding=utf-8import timestart = time.clock()import arcpyimport osfrom arcpy.sa import *# 掩膜提取研究区def areaByMask(workSpace_hdf,workSpace_tif,mask_path,researchArea_path): arcpy.env.w...

2020-03-26 21:12:19 823

原创 如何查看安装后的GDAL版本号

随着GDAL版本的不断更新,从原来的1.x到现在的3.x。在学习GDAL的过程中我们参考的学习资料有些是对应旧版本的GDAL,新旧版本的有些地方是不一样的,比如2.x与3.x打开矢量数据的API与gdalwarp.cpp内的一些函数发生了变化,所以在学习的过程中遇到新旧版本问题时就需要进入源码查看,若非自己编译的GDAL就需要下载对应的源码版本,下面是查看安装后G...

2020-03-22 19:20:20 7468

原创 QT读取文件夹内的特定格式的文件

本文介绍的是在文件夹内读取TIF文件,将文件的绝对路径保存到一个列表中,具体的函数代码如下:QList<QString > qt_fileList::getFileList(QString dir){ QDir dirFile(dir); QList<QString > files_abs_path; QList<QFileInfo > files...

2020-02-16 20:22:32 601

原创 QGis二次开发,子父窗口同步与不同步加载影像

今天写了两个窗口来来加载影像,一个是父窗口的Canvas另一个是子窗口的Canvas,我写子窗口是为了写几何校正的所以用到了一个Canvas来显示影像与校正的成果,但是我发现每次要显示影像时,子窗口的Canvas显示影像就会引起父窗口的Canvas也显示同一张影像,如下:上面就是子父窗口的影像同步显示,这是因为在子窗口的影像显示时有下面一行代码,其中my_rasterLa...

2020-01-03 20:51:41 590

原创 QGis二次开发,栅格影像像元识别工具的实现(下)

代码:1.重写鼠标事件// 创建一个自己的类(*.h)class myMapCanvas : public QgsMapCanvas{ Q_OBJECTpublic: myMapCanvas(QWidget *parent); ~myMapCanvas();signals: void sendXY(QPoint point);protected: vir...

2020-01-01 22:54:07 357

原创 QGis二次开发,栅格影像像元识别工具的实现

栅格影像像元识别是GIS中普通的工具,在这篇文章中就用QGis的二次开发来说说是怎么实现的,因为难度不大,所以在这就不过多的来说。在QGis中在工具栏中,如下图: 这个工具的实现不同的人会有不同的方法,我用的是对QgsMapCanvas重写,添加一个鼠标点击事件来获取当前鼠标的坐标值,再用QgsMapToolIdentify来实现被点击像元的值。结果如下:...

2019-12-31 22:43:15 1350 1

原创 QGis二次开发,栅格图层波段的保存

对于栅格或矢量影像的读取并显示出来在前面的文章中已经写出,显示方面可以参考前面的文章。在这个文章中主要写的是把栅格影像读取出来后,若是对其进行了处理后如何把栅格波段保存成为TIF格式的文件。 如果学习过GDAL的话就很容易理解,和GDAL的保存成TIF文件差不多,下面是具体的代码与步骤,可以作为参考:1.首先是获取栅格图层 QgsRasterLayer ...

2019-12-27 17:44:13 1983

原创 GDAL基本的函数(自学笔记一)

//注册文件的格式 GDALAllRegister(); const char * pszfilename2 = "E:\\hdf2tif\\1.tif"; //获取数据集 GDALDataset *opDataset = (GDALDataset *)GDALOpen(pszfilename2,GA_ReadOnly); if (opDataset == NULL) {...

2019-12-27 14:22:00 1074 1

LIBTORCH线性拟合代码appLib.rar

使用C++深度学习库LIBTORCH实现神经网络线性拟合

2021-11-23

gdal3.1.0_NETCDF.tar.gz

LINUX(CENTOS7)系统下编译成功的GDAL3.1.0,已将NETCDF库加入配置,所以支持NC、HDF等文件格式。

2021-11-04

gdal3.1.0_noNETCDF.tar.gz

LINUX(CENTOS7)系统下编译成功的GDAL3.1.0,没有将NETCDF库加入配置,所以不支持NC文件格式。

2021-11-04

NC转TIF.rar

通过PyQt5开发的转换工具,包含了源码、程序软件、使用说明与测试数据,可以直接使用软件来处理NC文件,也可以在源码的基础上进一步完善成自己理想的功能。

2020-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除