文章列表:GIS笔记

VC++开发GIS系统(166)选择线之判断两条直线是否相交算法
前文已经完成了输入线和重绘线的工作,下面的工作是——选择线。既然是选择一条折线,那么就先从最基本的算法开始实现,本文实现的是判断两条直接是否相交。 函数声明 在_malaBase.h中添加下面的...

VC++开发GIS系统(165)补充知识MFC中ComboBox顺序问题
在文章《VC++开发GIS系统(41)补充知识MFC中ComboBox(下拉选择框)的使用方法》中我介绍过关于ComboBox的使用的方法,但是在我后来的使用中遇到了一个问题:ComboBox的...

VC++开发GIS系统(164)重绘线之更新重绘函数
在文章《VC++开发GIS系统(94)窗口的重绘(四)》中已经实现了点文件的重绘,本文的将继续完善displayAllGraphs函数,来实现线文件的重绘。 更新函数实现 找到malagisVi...

VC++开发GIS系统(163)重绘线之绘制一条折线
前文《VC++开发GIS系统(162)重绘线之查找可视范围所有的线》已经可以获取当前可视范围下所有的直线了,下面的工作就是重新绘制这条线了。在文章《VC++开发GIS系统(152)输入线之画直线...

VC++开发GIS系统(162)重绘线之查找可视范围所有的线
继续前文重绘线工作,在重绘窗口的时候,判断可视范围下的所有图形可以在一定程度上提高程序的运行速度。 在文章《VC++开发GIS系统(92)窗口的重绘(二)》中讲解了获取可视范围下所有点的函数,本...

VC++开发GIS系统(161)判断两个矩形是否相交
本文介绍一个算法,用于判断两个短是否相交。其实有很多方法来实现这个功能,本文只介绍其中一种。 算法思想 两个矩形相交的条件:两个矩形的重心距离在X和Y轴上都小于两个矩形长或宽的一半之和。 算...

VC++开发GIS系统(160)重绘线之获取一个图形的外接矩形
经过前文的的努力,已经实现了输入线的相关操作,并且已经可以成功画线了,如如图: 现在既然已经画出图,并且已经保存文件了,但是并没有响应重绘的功能,窗口最大化图形又就消失了,下面的工作用于实现线...

VC++开发GIS系统(159)输入线之菜单响应
前文已经实现了输入线的相关功能,下面的工作就是在Ribbon菜单中响应这个功能了。 添加Ribbon图标 如图所示,本文实现的是输入线的功能。添加方法参考:VC++开发GIS系统(12)Rib...

VC++开发GIS系统(158)输入线之类实现
前文《VC++开发GIS系统(150)输入线之类设计》已经设计了输入线的类,经过前文的工作,本文将实现这个类。 类的实现 /* * 输入线 */ CmalaLinesInput::CmalaLi...

VC++开发GIS系统(157)输入线之保存线函数
前文《VC++开发GIS系统(151)输入线之设置线属性对话框》和《VC++开发GIS系统(152)输入线之画直线的函数》中已经实现了画线和获取线的属性了,并且在已经实现了新建线文件的功能。本文...

VC++开发GIS系统(156)输入线之获取线的最大ID
在文章《VC++开发GIS系统(87)保存一个点到文件的函数》中介绍了获取点最大ID的函数,本文将实现一个类似的函数,用来获取当前线文件中最大ID。 函数定义 long getMaxID(CSt...

VC++开发GIS系统(155)输入线之读取文件中所有的线
上文《VC++开发GIS系统(154)输入线之线文件读写类》新建了一个用于线文件读写的类,本文实现的函数是从线文件中读取所有的点,并保存在临时变量mLine中。 #### 函数定义 void r...

VC++开发GIS系统(154)输入线之线文件读写类
上文《VC++开发GIS系统(153)输入线之创建存储线文件的类》已经实现了存储线文件的类,本文则要创建一个线文件读写类CLineIO,专门用来处理线文件IO操作。 类定义 /* * 线文件操作...

VC++开发GIS系统(153)输入线之创建存储线文件的类
在文章《VC++开发GIS系统(86)创建存储点文件的类》我们创建一个结构体用于临时存放从文件读取的点文件;同样,在本文中我们要创建一个新的类用于存放一个线文件。 存储线文件类 在_malaIO...

VC++开发GIS系统(152)输入线之画直线的函数
在文章《VC++开发GIS系统(46)自定义一个CDC绘图类》中我们自定义了一个绘图的类用于图形的绘制工作。今天的工作是设计一个函数用于绘制一条直线。 函数定义 在_malaBase.h的mal...