文章列表:GIS笔记
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。这个函数是存储一个区文件所必须的函数。 函数定...
VC++开发GIS系统(211)输入区之读取区文件中所有的区
上文《VC++开发GIS系统(210)输入区之区文件读写类》新建了一个用于区文件读写或者说是操作的类,本文要实现从区文件中读取所有的区,并保存在私有变量 mPoly 中。 #### 函数定义 p...
VC++开发GIS系统(210)输入区之区文件读写类
上文《VC++开发GIS系统(209)输入区之存储区文件结构体》已经实现了存储区文件的类,本文则要创建一个区文件读写类 CPolyIO ,专门用来处理区文件IO操作。 类定义 /* * 区文件操...
VC++开发GIS系统(209)输入区之存储区文件结构体
在文章《VC++开发GIS系统(86)创建存储点文件的类》和《VC++开发GIS系统(153)输入线之创建存储线文件的类》我们创建一个结构体用于临时存放从文件读取的点文件和线文件;同样,在本文中...
VC++开发GIS系统(208)输入区之绘制区的函数(多边形与椭圆)
前文《VC++开发GIS系统(206)输入区之绘制多边形区的函数》和《VC++开发GIS系统(207)输入区之绘制椭圆区的函数》分别设计了绘制多边形区和椭圆区的函数。这里封装一下,用于实现自动输...
VC++开发GIS系统(207)输入区之绘制椭圆区的函数
在文章《VC++开发GIS系统(46)自定义一个CDC绘图类》中我们自定义了一个绘图的类用于图形的绘制工作。今天的工作是设计一个函数用于绘制一个椭圆区。 绘制椭圆区函数定义 在_malaBase...