自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 gdal读取ftp服务器中的影像

gdal读取ftp服务器中的影像

2022-12-20 14:43:25 261 1

原创 LASTools、PDAL、CGAL点云读取效率

在本文之前,让我们先悼念一位大师:Martin Isenburg,德国人,是rapidlasso的所有者,也是LASTools、LASzip的创造者,于2021年9月9日在家中自杀,天才总是孤独的,也是具有社会担当的,给我们留下宝贵的财富,愿大师在另一世界再无痛苦。本文测试的是读取las以及压缩后laz文件的效率问题,主要测试LASTools、PDAL以及CGAL,PCL没有读取las文件的接口,这里就不进行测试了。测试数据分别是包含60万、2千...

2021-11-22 18:05:06 1141

原创 多视图几何笔记(三)矩阵估计

在多视几何中,我们要面对以下这些问题:(1)2D单应 给定中点集和同在中的对应的点集,计算把每个点映射到对应点的射影变换。实际中,和是在两幅图像中的点。(2)3D到2D的摄像机投影 给定3D空间的点集以及在一幅图像上对应的点集,求把映射到的3D到2D的射影映射。这种3D到2D的投影是有射影摄像机来实现的映射。(3)基本矩阵的计算 给定一幅图像上的点集和另一幅图像上的点集,计算与这些对应一致的基本矩阵F。(4)三焦点张量计算 给定跨三幅图像的点对应的集合,计算三焦点张量。以上的问...

2021-11-02 21:25:22 509

原创 LAS点云的读写以及投影信息的读写(LASlib)

本文使用使用LASlib库完成点云及投影信息的读写。具体安装方式可自行网上搜索,推荐使用vcpkg安装,非常方便。对于库的使用下面直接上代码:头文件:#include <LASlib/lasreader.hpp>#include <LASlib/laswriter.hpp>1、las文件的读先是LASreadOpener对象构造,设置文件名,然后进行点云的打开。 LASreadOpener lasreadopener; lasreadope

2021-10-27 11:16:04 4484 1

原创 多视图几何笔记(二)射影变换

射影映射是射影平面到它自身的一种满足下列条件的可逆映射h:三点共线当且仅当也共线。 射影映射组成一个群,因为射影映射的逆以及两个射影映射的复合也是射影映射。射影映射也称为保线变换,或射影变换或单应(homography)。其中H为3x3的非奇异矩阵。射影变换:一个平面射影变换是关于3维齐次向量的一种线性变换,并可以用一个非奇异3x3矩阵表示:简洁的表示为 上式中矩阵H乘以任意一个非零尺度因...

2021-10-24 20:46:58 5119 2

原创 多视图几何笔记(一)射影平面

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、射影平面1、点和直线(1)直线的齐次表示直线方程ax+by+c=0,用a,b,c表示不同的直线,因此可以使用向量表示直线。直线和向量不是一一对应的,可以用非零常数k表示(ka)x+(kb)y+kc=0与ax+by+c=0相同,所以和表示同一直线。这两个相差一个全局缩放因子的向量是等价的,这种等价关系下的向量等价类被称为齐次向量。(2)点的齐次表示在欧式几何中,点...

2021-10-21 21:40:52 1066

原创 shp矢量数据打包压缩

最近项目中需要对生成的shp文件进行打包压缩成zip,gdal是可以直接操作zip、tar的,好像还不支持shp格式压缩(可能我的方式不对,如果可以希望网友指点),所有我是用zlib库来解决shp数据的压缩的。因为我用的gdal是网上已经编译好的,已经包含了zlib库,所以直接使用,在配置环境的时候需要链接minizip.lib。头文件如下:extern "C"{#include "zlib.h"#include "zip.h"#include "unzip.h"}/***

2021-03-17 14:09:46 1347

原创 GDAL中文件名处理函数

在实际编码过程中会遇到文件名、路径解析等操作,GDAL给我提供一些简单常用的函数接口,我们来看看吧!int CPL_DLL CPLGetExecPath( char *pszPathBuf, int nMaxLength );const char CPL_DLL *CPLGetPath( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;const char CPL_DLL *CPLGetDirname( const cha...

2021-03-17 13:41:02 418

原创 QGIS2.18+Qt5.9+VS2015编译

Qt5.9+VS2015+QGIS2.18编译

2018-05-08 16:54:51 2567 1

原创 选中CTreeCtrl的节点,弹出对话框嵌入到客户区中

前言在Outlookbar工具栏中,有CTreeCtrl树控件,点击一个节点,弹出的对话框会嵌入到客户区中。本文的样例涉及到BCGControlBar V22.1控件库,使用的是该库的自带例子BCGPOrganizer,可以在\BCGSoft\BCGControlBarPro\Samples下找到。实现的效果修改如下1、新建一个类CMacrosView,该类继承CView,新建的类用来显示要弹出的对

2017-04-24 16:04:01 598

原创 Blender2.8常用快捷键

T:打开左侧工具栏Tab:编辑模式N:打开物体属性A:全选、取消选择B:框选,进行多选C:刷选Ctrl+鼠标左键:套选Ctrl+L:先选一个点/线,在Ctrl+L,就可以选择该物件所有的点/线。X:删除Shift+左键:进行多选Shift+D:复制Shift+A:增加物件,新建的物件会出现在准星的位置Ctrl+Alt+Q:切换四视图Ctrl+Space:调出三维坐标系H:

2017-03-21 21:58:00 10168 2

原创 Python3.6.0配置GDAL

1、下载GDAL的包,进入http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal,找到gdal栏中,下载相应版本的gdal包(如果安装32的python,就下载32位的gdal包,64位的python,就下载64位的gdal包): 2、打开“命令提示符(管理员)”,然后定位到pip的目录(…\Python\Scripts)。执行下面命令:pip instal

2017-01-14 13:35:55 8911 4

原创 GDAL——生成等值线

参考李民录的gdal源代码剖析那本书写的,由于代码主要是用C的库,下面我使用C++相应的库进行重写,有的函数用法需要稍作修改,直接上代码://生成等高线///C++int CreateContourDlg::Createontour(const char* pszSrcDEM, const char* pszDstShp, int iBandIndex, double dInterval,

2016-12-29 21:27:58 3391

原创 GDAL中的进度条

GDAL中调用进度条函数都是以回调函数指针形式调用的,这里先介绍下回调函数。函数指针函数指针指向的是函数而非对象。 声明一个指向函数的函数指针,只需要用指针替换函数名即可: void (*pfn) (string s1);注:pfn两边的括号不能去掉。使用函数指针当我们把函数名作为值使用时,会自动转换为指针。 现在有个函数声明为为:void strCompare(string s1);pfn

2016-12-21 17:12:48 1718

原创 AE中波段通道组合的实现

效果如下图所示: 不论是使用ICommand加载数据还是用自己创建IWorkspaceFactory进行加载数据,需要注意的是: 默认情况下创建的Raster是默认属性(含有3个波段的书籍)。 这里涉及到两个函数:CreateDefaultRaster():Creates a raster object with the default properties for this dataset

2016-12-14 19:26:09 689

原创 ArcEngine复制shp文件

在网上找的一些代码,都没有实现自己想要的功能,整了两天,今天把这个功能实现了,用GP工具实现。#region 复制shp文件 CopyShp /// <summary> /// 复制shp文件 /// </summary> /// <param name="sourceFilePath">要拷贝文件的路径</param>

2016-12-07 10:09:04 1390 2

翻译 GDAL学习笔记——OGRLayer C++ API

OGRLayer的对象模型图: Public Member Functions:virtual OGRGeometry * GetSpatialFilter ():该方法返回当前层空间滤波器virtual void SetSpatialFilter (OGRGeometry *):设置新的空间滤波器virtual void SetSpatialFilter (int iGeomField,

2016-11-22 20:23:10 8114 1

原创 MFC代码创建窗口

1、效果图: 2、创建基于对话框的项目创建MFC的项目的向导中,选择基于对话框,其他默认即可。会自动创建3个类:CAboutDlg、CXXXApp和CXXXDlg这3个类,删除CAboutDlg和CXXXDlg类,删除方法:删除CXXXDlg的头文件和cpp文件即可。3、添加类 通过类向导添加窗口类,继承与CWnd类添加的类CMyWnd继承CWnd类:4、在CMyWnd类的构造函数中,利用

2016-11-21 20:04:11 9403

翻译 GDAL学习笔记——GDALDataset C++ API

GDALDataset的对象模型图(OMD): 该类的头文件:#include <gdal_priv.h>下面是GDALDataset类包含的主要成员:Public Member Functions:int GetRasterXSize (void):获取栅格数据的宽int GetRasterYSize (void):获取栅格数据的高int GetRasterCount (void):获取栅

2016-11-21 19:46:56 6115

原创 GDAL学习笔记——读取和创建栅格数据集

打开栅格文件打开GDAL支持的栅格数据之前需要注册驱动,GDALAllRegister()函数将尝试注册所有已知的驱动,包含那些用GDALDriverManager::AutoLoadDrivers()函数自动加载的.so文件。 GDALAllRegister(); GDALDataset *poDataset; const char* pszFileName = "C:\\U

2016-11-14 20:08:53 12839 7

翻译 GDAL学习笔记——GDAL的数据模型

数据集(dataset)一个数据集(可用GDALDataset表示)是栅格波段以及栅格波段所包含的信息的集合。栅格尺寸(像素和线条)的概念针对所有的波段。同样也负责所有波段的地理空间参考系的转换和坐标系的定义。数据集本身也会有相关的元数据信息,以字符串的形式存储(名/值)。坐标系统数据集的坐标系统用OpenGIS的WKT文本表示,包含以下内容:坐标系统的名称地理坐标系名称基准面标识椭球体名称

2016-11-13 23:21:06 3095 2

原创 GDAL学习笔记——OGR投影(二)

解析坐标系当OGRSpatialReference对象被创建时,就可以解析该对象所包含的信息。可以使用OGRSpatialReference提供的IsProjected()和IsGeographic() 函数分别判别投影坐标系或地理坐标系是否建立,GetSemiMajor()、GetSemiMinor() 和GetInvFlattening()函数分别获取椭球体的长半轴、短半轴以及扁率的倒数。Get

2016-11-12 23:50:36 6983 6

原创 GDAL学习笔记——OGR投影(一)

在学习这部分内容之前,应该对空间参考(Spatial Reference)、大地水准面、基准面(datum)、地图投影(map projection)、地理坐标系(Geographic Coordinate System)和投影坐标系(Projeetion coordinate system)有所了解。关于坐标系的定义及内容封装在OGRSpatialReference类中,主要的两种坐标系:地理坐标系和投影坐

2016-11-11 22:20:59 3742

原创 Qt配置GDAL(Qt 5.6.1+MSVC 2013+64 bit)

开发环境:Qt 5.6.1 + MSVC 2013,64 bit 1、需要的文件Qt 5.6.1 MSVC2013 64bit (qt-opensource-windows-x86-msvc2013_64-5.6.1-1.exe)GDAL(MSVC2013 64bit )http://www.gisinternals.com/sdk.php2、配置步骤 (1) 新建Qt控制台项目

2016-11-09 22:19:14 4503 1

原创 创建滚动进度条的几种方法

方法一:不创建新的进程1、拖一个progress control控件在对话框上,将该控件的Marquee属性设为True。在添加两个Button控件。如下图所示:2、给控件添加个变量m_progress,再添加int 型的变量m_nCount.3、启动定时器:SetTimer(1,10,NULL)。void CProgressDlg ::OnBnClickedButton

2016-03-07 08:09:12 3834

原创 单击子菜单项弹出对话框

例如:点击“打开”弹出一个“打开”对话框步骤如下:1、插入一个对话框,Resource View窗口中,右击DiaLog节点,选择Insert Dialog,ID取名为IDD_OpenDlg.2、

2015-05-10 11:18:11 3432

原创 MFC基于对话框加载菜单栏的方法

(一) 创建基于对话框的MFC应用程序,如下图所示:(二)打开资源视图,右击项目-->添加-->资源,选择Menu,点击新建,如下图所示:(三)在资源视图中会有Menu文件夹。双击IDR_MENU1,打开菜单界面,可以自己添加要写的内容。(四)此时运行程序,还是没有菜单,下面有两种方法实现。第一种方法:打开类视图,在C*Dlg类中添加变量: private

2015-04-10 12:03:40 1297

gsl-2.6.7z

测试在VS2015中使用没有问题,含有32位和64位两个版本。

2019-09-03

CListCtrl控件操作以及文本文件读写

使用MFC,打开文本文件显示在CListCtrl控件上,可以对显示内容进行编辑,增加行,删除行,并且可以对修改的内容进行保存。

2018-01-26

OpenLayers Cookbook

OpenLayers 很好的入门教程,书中含有源代码,有助于学习。

2016-03-23

学习Flex4中文版代码

是学习Flex4中文版这本书的代码,可以参考代码去学习

2015-09-08

中科院考研程序设计试题

2013年中国科学院大学的考研程序设计真题,可以帮助大家复习

2015-09-08

空空如也

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

TA关注的人

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