文章列表:GIS笔记

VC++开发GIS系统(226)复制区之类的设计及实现
本文介绍GIS系统中复制一个区要素所对应类的设计及实现。首先通过下面的动态图展示复制区的过程。 其实思想和前文《VC++开发GIS系统(225)移动区之菜单响应》类似,只是在鼠标左键松开的时候...

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

VC++开发GIS系统(224)移动区之类的设计及实现
本文介绍GIS系统中移动一个区所对应类的设计及实现。先看移动区的效果: 移动区类的定义 在_malaPolygon.h中定义移动区的类,代码如下: /* * 移动区 */ class mala...

VC++开发GIS系统(223)移动区之更新区参数
本文介绍GIS系统中更新区参数的函数设计及实现。 函数声明 在_malaIO.h中的 CPolyIO 类中定义更新区的函数。 public: long polyUpdate(vector&l...

VC++开发GIS系统(222)移动区之保存所有区
本文内容介绍GIS系统中保存所有区的函数设计及实现。 函数声明 在_malaIO.h中的 CPolyIO 声明保存所有区的函数,代码如下: public: void savePolys(CS...

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

VC++开发GIS系统(220)选择区之类的定义及实现
前文介绍了GIS中的2个常用的算法:判断矩形是否与多边形相交、判断直线是否与多边形相交,本文利用这2个算法实现选择区。 类的定义 在_malaPolygon.h中定义下面的类 /* * 选择区 ...

VC++开发GIS系统(219)判断矩形是否与多边形相交
本文介绍一个GIS中另外一个常用的算法:判断矩形是否与多边形相交。 算法思路 上文已经实现了判断直线是否与多边形相交,矩形可以依次遍历4条边,依次调用上文的 isLinePolyIntersec...

VC++开发GIS系统(218)判断直线是否与多边形相交
本文介绍一个GIS中常用的算法:判断直线是否与多边形相交。 函数定义 在_malaBase.h中的 malaLogic 类中定义以下函数 bool isLinePolyIntersect(mal...

VC++开发GIS系统(217)重绘区功能实现
前文《VC++开发GIS系统(216)重绘区之获取可视范围的所有区》实现了重绘区的一个重要函数 getAllPolys,用于获取可视范围内的所有区,接下来的工作是实现重绘区的功能。 在文章《VC...

VC++开发GIS系统(216)重绘区之获取可视范围的所有区
之前的文章已经实现了 输入区 的相应功能,但现在只完成了绘图并保存的过程,如图示: 但现在的问题是当窗口发生重绘时,图形就消失了,所以这里有必要实现区的重绘功能。为了更高的绘图性能,这里设计在...

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

VC++开发GIS系统(214)输入区之类实现
前文《VC++开发GIS系统(204)输入区之类设计》设计了输入区的类,一系列的准备工作,本文对这个类做一个实现。 类的实现 在_malaPolygon.cpp中实现 CmalaLinesInp...

VC++开发GIS系统(213)输入区之保存区函数
通过文章《VC++开发GIS系统(205)输入区之设置区属性对话框》和《VC++开发GIS系统(208)输入区之绘制区的函数(多边形与椭圆)》中已经实现了设置区的属性并且根据相关属性绘制不同种类...

VC++开发GIS系统(212)输入区之获取区的最大ID
在文章《VC++开发GIS系统(87)保存一个点到文件的函数》中介绍了获取点最大ID的函数,本文将实现一个类似的函数,用来获取当前区文件中最大ID。这个函数是存储一个区文件所必须的函数。 函数定...