注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术自然科学自然科学总论Visual C++开发GIS系统(第2版)

Visual C++开发GIS系统(第2版)

Visual C++开发GIS系统(第2版)

定 价:¥75.00

作 者: 陈建春编著
出版社: 电子工业出版社
丛编项:
标 签: VC++

ISBN: 9787121003349 出版时间: 2004-09-01 包装: 平装
开本: 26cm 页数: 614 字数:  

内容简介

  本书是GIS系统开发技术和VisualC++编程技术的集合体。全面介绍和分析了MFC程序的框架结构和各种MFC辅助工具的使用方法,实例剖析了MFC中与图形和数据库应用程序设计有关的类。介绍了GIS系统的开发方法和思路,结合具体代码开发实现了矢量图形系统、数据库管理系统、矢量图形系统和数据库管理系统之间的连接、空间信息查询、图形几何关系计算、区域重叠分析、缓冲区分析、网络分析等功能,实现了一个基本GIS。本书是作者2000年出版的《VisualC++开发GIS系统——开发实例剖析》一书的基础上,总结近几年实际开发的经验和技术,进行修订并补充了很多新的内容而写成的。本书既保持了集开发思路、系统构筑、编程技术、实现代码于一体的特点,又在具体内容上进行了更新,融合了许多新的技术,更加强调了实用性。本书适用于GIS、CAD、MIS等领域的软件开发人员,以及大专院校的师生。本书的代码适用于VC++5.0,VC++6.0及其新版本。

作者简介

  陈建春,34岁,北京交通大学教师、博士长期从事GIS、MIS、CAD、DSS、通用表格系统等的研究和开发工作,开发完成了“通用多媒体GIS”、“青藏铁路调度指挥系统”、“国税纳税申报系统报表制作工具”、“新建铁路施工指挥系统”、“地质图形浏览系统”、“绣花图形编辑系统”、“空中交通管制调度指挥系统”等。先后出版过《VisualC++开发GIS系统》(第一版)、《VisualC++高级编程技术》、《MicrosoftVisualC++衅形系统开发技术基础》、《矢量图形系统开发与编程》等多部专著。翻译出版了《使和C#进行ASP程序设计》、《Windows200Serever规划与移植》等著作。

图书目录

第1章 VC 开发GIS的思路
1. 1 GIS简介
1. 1. 1 GIS的应用领域和范围
1. 1. 2 GIS与其他系统的结合
1. 1. 3 GIS的专业开发工具
1. 1. 4 GIS专业开发工具的优缺点
1. 1. 5 VC 开发GIS的优缺点及应用前景
1. 1. 6 选用GIS的开发方法
1. 2 VC 开发GIS的思路
1. 2. 1 开发相对完整的矢量图形系统
1. 2. 2 开发属性数据库管理系统
1. 2. 3 建立矢量图形系统与数据库管理系统的连接
1. 2. 4 开发各种查询检索. 空间分析. 网络分析功能
第一篇 VC 程序设计技术要点
第2章 MFC应用程序设计的开发工具
2. 1 使用MFCAppWizard
2. 1. 1 MFCAppWizard的启动
2. 1. 2 利用MFCAppWizard产生MFC应用程序的步骤
2. 2 使用ClassView
2. 2. 1 启动ClassView
2. 2. 2 编辑定位
2. 2. 3 增加类
2. 2. 4 增加类的成员
2. 3 使用ResourceView
2. 3. 1 ResourceView的调用
2. 3. 2 ResourceView工作分析
2. 4 使用FileView
2. 4. 1 打开一个程序项目
2. 4. 2
FileView相关的操作功能
2. 5 使用ClassWizard
2. 5. 1 Windows消息
2. 5. 2 消息处理函数
2. 5. 3 ClassWizard的作用和启动
2. 5. 4 ClassWizard管理消息处理函数
2. 5. 5 ClassWizard管理重载虚函数
2. 5. 6 ClassWizard管理映射变量
2. 5. 7 管理Automation和ActiveX事件
2. 5. 8 重新创建开发项目的ClassWizard工作信息
2. 6 使用DataView
2. 7 管理多个程序项目
2. 8 使用各设计工具进行编程的几点建议
第3章 MFC应用程序框架
3. 1 MFC程序基本框架类和文件组成
3. 1. 1 基本程序框架类
3. 1. 2 应用程序主要源文件组成
3. 2 MFC应用程序中各个框架类的作用
3. 3 MFC应用程序的执行步骤分析
3. 4 MFC应用程序设计结构体系剖析
3. 4. 1 标准菜单的执行分析
3. 4. 2 修改标准菜单执行功能
3. 4. 3 MFC应用程序多态性的实现
3. 4. 4 MFC应用程序中各个框架类对象的相互调用关系
第二篇 实现基本矢量图形系统
第4章 与绘图操作有关的MFC类及操作
4. 1 绘图类
4. 1. 1 绘图类简介
4. 1. 2 几个绘图类的主要差别
4. 1. 3 绘图类的使用方法
4. 2 绘图设备类
4. 2. 1 CGdiObject类
4. 2. 2 CPen类
4. 2. 3 CBmsh类
4. 2. 4 CFont类
4. 2. 5 CRgn类
4. 2. 6 CPalette和CBitmap类
4. 3 坐标映像方式
4. 3. 1 Windows映像方式及其设置方法
4. 3. 2 逻辑坐标和设备坐标的转换
4. 4 窗口和视口
4. 4. 1 窗口和视口的概念
4. 4. 2 窗口和视口有关的操作函数
4. 4. 3 窗口逻辑坐标与视口设备坐标的转换
4. 5 其他绘图类操作函数
4. 5. 1 选用绘图设备对象
4. 5. 2 主要绘图属性设置函数
第5章 实现矢量图形系统的文档和视图
5. 1 组织矢量图形系统的图形元素类
5. 1. 1 图形元素基类的组织
5. 1. 2 点类图形元素组织
5. 1. 3 线类图形元素组织
5. 1. 4 面类图形元素组织
5. 1. 5 网络类图形元素的组织
5. 1. 6 图形参数类
5. 2 组织矢量图形系统的文挡
5. 2. 1 组织面向对象的文档管理机制
5. 2. 2 利用MFC模板创建管理图形元素对象指针的对象
5. 2. 3 实现矢量图形系统的文档
5. 2. 4 实现文档的管理功能
5. 3 实现矢量图形系统的视图
5. 3. 1 建立坐标系
5. 3. 2 实现各类图形元素的绘制功能
5. 3. 3 视图类的OnDraw函数
5. 3. 4 实现视图
5. 4 各类图形元素几何属性的计算
5. 4. 1 图形元素长度的计算
5. 4. 2 图形元素面积的计算
第6章 鼠标交互绘图
6. 1 用鼠标绘图要解决的主要问题
6. 1. 1 捕捉鼠标操作消息
6. 1. 2 捕捉所有的鼠标输入
6. 1. 3 在屏幕上拖动图形
6. 1. 4 保存图形数据到文档
6. 1. 5 将图形以实际的形态重画
6. 2 交互绘制各类图形元素
6. 2. 1 加入绘图菜单
6. 2. 2 获得图形元素的惟一识别号
6. 2. 3 绘制直线
6. 2. 4 绘制圆和填充圆
6. 2. 5 绘制圆弧
6. 2. 6 交互绘制标注文本
6. 2. 7 绘制连续直线和多边形区域
6. 2. 8 绘制网络点
6. 2. 9 绘制网络连接
第7章 矢量图形系统的操作功能
7. 1 增加图形操作菜单
7. 1. 1 增加菜单资源
7. 1. 2 增加消息处理函数
7. 2 图形重画
7. 2. 1 全屏重画
7. 2. 2 局部重画
7. 3 图形放大和摆动
7. 3. 1 图形放大和摆动的计算方法
7. 3. 2 图形放大和图形摆动功能的实现
7. 4 重画上屏和重画首屏
7. 4. 1 记录屏幕状态
7. 4. 2 实现重画上屏和重画首屏功能
7. 5 显示全图
7. 5. 1 各类图形元素的边界矩形计算
7. 5. 2 实现显示全图功能
7. 6 提高矢量图形系统重画速度的基本方法
7. 6. 1 提高图形重画速度的方法
7. 6. 2 提高图形重画速度的实现方法
7. 6. 3 提高图形元素的绘制速度
第8章 图形的选中. 移动. 旋转. 删除
8. 1 鼠标点选图形元素
8. 1. 1 各种图形元素的选中区域
8. 1. 2 各种图形元素的点选判断函数
8. 1. 3 选中图形元素的特殊显示
8. 1. 4 实现点选图形元素功能
8. 1. 5 放弃选中的图形元素
8. 1. 6 图形元素的显示和选中顺序
8. 2 图形移动
8. 2. 1 各类图形元素的移动操作
8. 2. 2 实现图形移动操作功能
8. 3 图形旋转
8. 3. 1 点与点的旋转操作
8. 3. 2 各类图形元素的旋转操作
8. 3. 3 实现旋转操作功能
8. 4 图形元素的删除
8. 4. 1 删除操作的类型
8. 4. 2 从屏幕上删除图形元素的方法
8. 4. 3 各类图形元素的删除操作
8. 4. 4 实现图形元素删除操作
第9章 图形的存取功能
9. 1 利用串行化存取文档
9. 1. 1 CArchive类及CArchive对象的创建
9. 1. 2 Serialize函数
9. 1. 3 CObArray类的Serialize函数
9. 2 实现矢量图形系统的存取功能
9. 2. 1 实现各个图形元素类的串行化
9. 2. 2 MFC框架程序的文档串行化机制
9. 2. 3 实现矢量图形系统的文档存取功能
9. 2. 4 设置和取消文档修改标志
第10章 矢量图形系统的其他功能
10. 1 子图块管理
10. 1. 1 组织管理子图块
10. 1. 2 创建子图块的方法
10. 1. 3 实现子图块的绘制功能
10. 2 管理各种图形参数
10. 2. 1 管理颜色
10. 2. 2 管理图层
10. 3 定制线型
10. 3. 1 线型的描述方式
10. 3. 2 实现线型所必须具备的功能
10. 3. 3 线型体的数据定义
10. 4 区域的子图填充
10. 4. 1 管理填充子图块
10. 4. 2 绘制填充子图块
10. 5 与其他图形系统的接口
10. 5. 1 读人其他图形系统的图形
10. 5. 2 输出可识别的接口文件
10. 6 图形的打印输出
10. 6. 1 视图的打印机理和实现方法
10. 6. 2 打印功能的实现方法
10. 6. 3 实现矢量图形系统的打印功能
第三篇 实现数据库管理系统
第11章 开发数据库应用程序的基础知识
11. 1 关系数据库
11. 1. 1 数据库的概念
11. 1. 2 关系数据库的基本术语
11. 2 SQL语言
11. 2. 1 选择子式
11. 2. 2 过滤子式
11. 2. 3 排序子式
11. 3 ODBC及创建ODBC数据源的方法
11. 3. 1 ODBC的优势
11. 3. 2 VC 中使用ODBC的方法
11. 3. 3 创建ODBC数据源
11. 3. 4 动态创建ODBC数据源
第12章 数据库应用程序开发技术
12. 1 创建基于ODBC的数据库应用程序
12. 1. 1 创建一个ODBC数据源
12. 1. 2 MFCAppWizard创建一个数据库应用程序的步骤
12. 2 CRecordSet类功能分析
12. 2. 1 连接数据源和创建记录集合
12. 2. 2 与记录集合的数据交换
12. 2. 3 打开和关闭记录集合对象
12. 2. 4 过滤记录集合
12. 2. 5 排序记录集合
12. 2. 6 移动指向记录集合的记录指针
12. 2. 7 修改记录集合
12. 2. 8 CRecordSet类的其他操作功能
12. 2. 9 MFCClassWizard管理CRecordSet派生类
12. 3 CRecordView视图类分析
12. 3. 1 CRecordView视图类
12. 3. 2 CRecordView视图对象与记录集合对象的联系
12. 3. 3 MFCClassWizard管理CRecordView派生类
12. 4 基本数据库管理功能实现剖析
12. 4. 1 浏览功能
12. 4. 2 增加一个操作菜单
12. 4. 3 记录编辑功能
12. 4. 4 数据库过滤功能
12. 4. 5 数据库排序功能
第13章 实现数据库浏览功能
13. 1 创建一个数据库浏览视图
13. 1. 1 视图的创建过程
13. 1. 2 创建另一类视图的步骤
13. 1. 3 在矢量图形系统中创建数据库浏览视图
13. 2 创建一个CRecordSet派生类对象
13. 2. 1 创建一个ODBC数据源
13. 2. 2 创建管理记录集合的CRecordSet派生类
13. 2. 3 创建记录集合对象
13. 3 实现数据库浏览视图
13. 3. 1 建立视图与记录集合对象的联系
13. 3. 2 获得数据库浏览视图的滚动区域
13. 3. 3 实现数据库浏览视图
第14章 实现数据库编辑功能
14. 1 在数据库浏览视图中建立记录指针
14. 2 建立数据库编辑功能操作菜单
14. 2. 1 修改菜单资源
14. 2. 2 创建消息处理函数
14. 3 建立编辑数据记录的对话框类
14. 3. 1 建立对话框资源
14. 3. 2 创建编辑数据记录的对话框类
14. 3. 3 设置对话框类的外部对象引用
14. 3. 4 建立对话框控制与记录集合类的映射变量的映射联系
14. 4 增加和修改数据记录
14. 4. 1 获得记录的惟一识别号
14. 4. 2 增加记录
14. 4. 3 修改记录
14. 5 删除记录
14. 5. 1 删除当前记录
14. 5. 2 删除所有记录
第15章 通用数据库过滤功能
15. 1 过滤操作的实现方式
15. 1. 1 固定条件过滤操作
15. 1. 2 固定方式过滤操作
15. 1. 3 通用条件过滤操作
15. 2 创建组织过滤条件的对话框类
15. 2. 1 创建对话框资源
15. 2. 2 创建组织过滤条件的对话框类
15. 3 组织过滤条件编辑器的各种功能
15. 3. 1 过滤条件编辑器编辑的过滤条件式的语法格式
15. 3. 2 定义和初始化对话框类的变量
15. 3. 3 产生和分解各级条件子式
15. 3. 4 初始化对话框的状态
15. 3. 5 增加条件子式
15. 3. 6 删除和修改条件子式
15. 3. 7 条件子式的分解功能
15. 3. 8 实现过滤操作
15. 4 在数据库浏览视图中实现过滤功能
15. 4. 1 增加一个操作菜单
15. 4. 2 实现数据库过滤操作功能
15. 5 增强过滤条件编辑器的功能
15. 5. 1 增强过滤条件分解能力
15. 5. 2 增强交互式编辑界面
15. 5. 3 存储过滤条件
第16章 数据库管理功能通用化
16. 1 各种数据库管理功能的可通用化分析
16. 1. 1 可通用化的数据库管理功能
16. 1. 2 不易通用化的功能
16. 2 实现数据库管理功能通用化
16. 2. 1 通用化功能模块的方法
16. 2. 2 数据库操作功能模块通用化的步骤
16. 2. 3 选择操作不同的记录集合对象
16. 2. 4 增加应用程序管理的记录集合对象
16. 2. 5 增加通用数据库操作功能
16. 3 数据库管理功能完全通用化
第四篇 实现GIS的常用功能
第17章 图形元素与属性数据的连接
17. 1 连接方式及连接单元
17. 1. 1 连接方式
17. 1. 2 连接单元
17. 1. 3 连接的特性
17. 2 属性数据的连接方法
17. 2. 1 隐含固定连接法
17. 2. 2 动态组织连接信息法
17. 3 实现双向信息查询检索
17. 3. 1 通过属性数据检索矢量图形元素
17. 3. 2 通过图形元素检索属性数据
第18章 图形元素的平面几何关系计算
18. 1 直线与多边形区域的关系
18. 1. 1 直线与直线的关系
18. 1. 2 直线与多边形区域的相交关系
18. 1. 3 连续直线与多边形区域的相交关系
18. 2 圆弧与多边形区域的关系
18. 2. 1 圆与直线的关系
18. 2. 2 圆弧与直线的关系
18. 2. 3 圆弧与多边形区域的关系
18. 3 各类图形元素与圆形区域的关系
18. 3. 1 圆与圆的关系
18. 3. 2 圆弧与圆形区域的关系
18. 3. 3 直线与圆形区域的关系
18. 3. 4 连续直线与圆形区域的关系
第19章 多边形区域叠加分析
19. 1 两个多边形区域的交集
19. 1. 1 两个多边形区域交集的计算思路
19. 1. 2 计算两个多边形区域的交集
19. 2 两个多边形区域的并集
19. 2. 1 两个多边形区域并集的计算思路
19. 2. 2 计算两个多边形区域的并集
19. 3 一个多边形区域剪裁另外一个多边形区域
19. 3. 1 计算一个多边形区域剪裁另一个多边形区域的思路
19. 3. 2 计算一个多边形区域剪裁另一个多边形区域的补集
19. 4 区域相交. 相并. 剪裁计算时的重合边界处理
19. 4. 1 相交. 相并. 剪裁计算时的重合边界处理情况分析
19. 4. 2 获得重合边界
19. 4. 3 相交. 相并. 剪裁计算时的重合边界处理
19. 5 环形区域的相交. 相并. 剪裁计算的思路
19. 5. 1 实心区域与环形区域的相交. 相并. 剪裁计算
19. 5. 2 两个环形区域相交. 相并. 剪裁计算的思路和方法
第20章 缓冲区分析
20. 1 点的缓冲区
20. 2 直线的缓冲区
20. 3 连续直线的缓冲区
20. 3. 1 用区域并集方法获取连续直线缓冲区
20. 3. 2 计算单侧连续直线缓冲区时的剪裁处理
20. 3. 3 加快连续直线缓冲区的计算速度
20. 4 多边形区域的缓冲区
第21章 网络分析
21. 1 网络基本信息计算
21. 1. 1 枢纽点的确定方法
21. 1. 2 节点连接信息的描述方法和处理
21. 1. 3 管理整个网络组织和网络连接信息
21. 2 最佳路径分析
21. 2. 1 最佳路径分析方法
21. 2. 2 向最佳路径搜索
21. 2. 3 逆向最佳路径搜索
21. 2. 4 确定搜索方向的方法
21. 3 最佳游历路径分析
21. 3. 1 求解最佳游历路径的方法
21. 3. 2 实现最佳节点游历功能
21. 4 资源分配
21. 4. 1 获取所有节点到中心节点距离法
21. 4. 2 中心节点向外延伸法
21. 5 连通分析
附录 代码光盘与技术支持
参考书目

本目录推荐