图书介绍

Visual C++开发GIS系统 开发实例剖析PDF|Epub|txt|kindle电子书版本网盘下载

Visual C++开发GIS系统 开发实例剖析
  • 陈建春编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:750535955X
  • 出版时间:2000
  • 标注页数:579页
  • 文件大小:63MB
  • 文件页数:597页
  • 主题词:C语言(学科: 程序设计 学科: 应用 学科: 地理信息系统) C语言 程序设计 地理信息系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Visual C++开发GIS系统 开发实例剖析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 VC++开发GIS系统的思路1

1.1 GIS系统简介1

1.1.1 GIS系统的应用领域和范围1

1.1.2 GIS系统与其他系统的结合1

1.1.3 GIS系统的专业开发工具2

1.1.4 GIS系统专业开发工具的优缺点3

1.1.5 VC++开发GIS系统的优缺点及应用前景4

1.1.6 选用GIS系统的开发方法5

1.2 VC++开发GIS系统的思路5

1.2.1 开发相对完整的矢量图形系统5

1.2.2 开发数据库管理系统6

1.2.3 建立矢量图形系统与数据库管理系统的连接7

1.2.4 开发各种查询、空间信息统计和分析功能7

1.2.5 开发多用户GIS系统7

第一篇 VC++程序设计技术要点11

第2章 MFC应用程序设计必须或辅助使用的几个开发工具11

2.1 使用MFC AppWizard12

2.1.1 MFC AppWizard的启动12

2.1.2 利用MFC AppWizard产生MFC应用程序的步骤14

2.2 使用classview18

2.2.1 启动ClassView18

2.2.2 编辑定位18

2.2.3 增加类19

2.2.4 增加类的成员22

2.3 使用ResourceView23

2.3.1 ResourceView的调用24

2.3.2 ResourceView工作分析24

2.4 使用FileView27

2.4.1 打开一个程序项目28

2.4.2 FileView相关的操作功能28

2.5 使用ClassWizard30

2.5.1 Windows消息30

2.5.2 消息处理函数31

2.5.3 ClassWizard的作用的启动33

2.5.4 ClassWizard管理消息处理函数34

2.5.5 ClassWizard管理重载虚函数38

2.5.6 ClassWizard管理映射变量40

2.5.7 管理Automation和ActiveX事件44

2.5.8 重新构造开发项目的ClassWizard工作信息44

2.6 使用DataView45

2.7 管理多个程序项目45

2.8 使用各设计工具进行编程的几点建议47

第3章 MFC应用程序框架剖析49

3.1 MFC程序基本框架类和文件组成49

3.1.1 基本程序框架类49

3.1.2 应用程序主要源文件组成50

3.2 MFC应用程序中各个框架类的作用51

3.3 MFC应用程序的执行步骤分析52

3.4 MFC应用程序设计结构体系剖析55

3.4.1 标准菜单的执行分析55

3.4.2 修改标准菜单执行功能57

3.4.3 MFC应用程序多态性的实现58

3.4.4 MFC应用程序中各个框架类对象的相互调用关系59

第二篇 基本矢量图形系统65

第4章 与图形操作有关的MFC类及操作65

4.1 绘图类65

4.1.1 绘图类简介65

4.1.2 几个绘图类的主要差别66

4.1.3 绘图类的使用方法67

4.2 绘图设备类68

4.2.1 CGdiObject类68

4.2.2 CPen类68

4.2.3 CBrush类70

4.2.4 CFont类73

4.2.5 CRgn类76

4.2.6 CPalette和CBitmap类81

4.3 坐标映像方式82

4.3.1 Windows映像方式及其设置方法82

4.3.2 逻辑坐标和设备坐标的转换83

4.4 窗口和视口84

4.4.1 窗口和视口的概念84

4.4.2 窗口和视口有关的操作函数84

4.4.3 窗口逻辑坐标与视口设备坐标的转换85

4.5 其他绘图类操作函数88

4.5.1 选用绘图设备对象88

4.5.2 主要绘图属性设置函数89

第5章 实现基本矢量图形系统的文档和视图92

5.1 组织矢量图形系统的图形元素类92

5.1.1 图形元素基类的组织92

5.1.2 直线类组织93

5.1.3 连续直线或封闭多边形类组织94

5.1.4 圆类组织95

5.1.5 圆弧类组织96

5.1.6 标注文本类97

5.1.7 图形参数类97

5.2 组织矢量图形系统的文档99

5.2.1 组织面向对象的文档存储管理机制99

5.2.2 利用MFC模板定义管理图形元素对象指针的对象100

5.2.3 实现矢量图形系统的文档100

5.2.4 实现文档的管理功能101

5.3 实现矢量图形系统的视图107

5.3.1 建立坐标系107

5.3.2 实现各图形元素类的绘制函数112

5.3.3 视图类的OnDraw函数121

5.3.4 实现视图122

第6章 鼠标交互绘图124

6.1 用鼠标绘图要解决的主要问题124

6.1.1 捕捉鼠标操作消息124

6.1.2 捕捉所有的鼠标输入126

6.1.3 在屏幕上拖动图形126

6.1.4 保存图形数据到文档126

6.1.5 将图形以实际的形态重画126

6.2 加入一个绘图菜单127

6.2.1 增加菜单资源127

6.2.2 增加菜单的消息处理函数128

6.3 交互绘制各种图形元素130

6.3.1 获得图形元素的唯一识别号130

6.3.2 绘制直线132

6.3.3 绘制连续直线和多边形区域135

6.3.4 绘制圆和圆形区域138

6.3.5 绘制圆弧141

6.4 交互绘制标注文本148

6.4.1 对话框简介148

6.4.2 交互绘制标注文本的过程149

6.4.3 创建对话框资源149

6.4.4 实现文本标注对话框类150

6.4.5 实现标注文本交互绘制功能154

第7章 矢量图形系统的操作功能158

7.1 增加图形操作菜单158

7.1.1 增加菜单资源158

7.1.2 增加消息处理函数159

7.2 图形重画160

7.2.1 全屏重画160

7.2.2 局部重画161

7.3 图形放大和移动162

7.3.1 图形放大和移动162

7.3.2 图形放大和移动功能的实现163

7.4 重画上屏和重画首屏167

7.4.1 记录屏幕状态167

7.4.2 实现重画上屏和重画首屏功能170

7.5 显示全图171

7.5.1 各类图形元素的边界矩形计算171

7.5.2 实现显示全图功能176

7.6 提高矢量图形系统重画速度的基本方法178

7.6.1 提高图形重画速度的方法178

7.6.2 提高图形重画速度的实现方法179

7.6.3 加快图形元素的绘制速度180

7.7 实现滚动视图181

7.7.1 滚动视图的实现方法181

7.7.2 滚动区域参数设置181

7.8 定制图形滚动功能183

7.8.1 确定滚动步长183

7.8.2 创建滚动条184

7.8.3 实现图形滚动功能184

第8章 图形的删除和恢复190

8.1 鼠标点选图形元素190

8.1.1 各种图形元素的选中区域190

8.1.2 各种图形元素的点选判断函数195

8.1.3 选中图形元素的特殊显示199

8.1.4 实现点选图形元素功能199

8.1.5 放弃选中的图形元素205

8.1.6 图形元素的显示和选中顺序205

8.2 图形元素的删除206

8.2.1 删除操作的类型206

8.2.2 从屏幕上删除图形元素的方法207

8.2.3 各类图形元素的删除操作208

8.2.4 实现图形元素删除操作212

8.3 文档操作逆向化213

8.3.1 逆向操作的含义213

8.3.2 记录文档编辑操作过程214

8.3.3 实现文档逆向操作220

8.3.4 实现操作过程的完全逆向化222

第9章 图形的存取功能223

9.1 利用串行化存取文档223

9.1.1 CArchive类及CArchive对象的创建223

9.1.2 Serialize函数225

9.1.3 CObArray类的Serialize函数227

9.2 实现矢量图形系统的存取功能228

9.2.1 实现各个图形元素类的串行化228

9.2.2 MFC框架程序的文档串行化机制232

9.2.3 实现矢量图形系统的文档存取功能233

9.2.4 SetModifiedFlag函数235

第10章 矢量图形系统的其他功能238

10.1 图形块管理238

10.1.1 组织管理图形块238

10.1.2 组织图例240

10.1.3 创建图形块的方法241

10.2 管理各种图形参数242

10.2.1 管理颜色242

10.2.2 管理图层243

10.2.3 管理线型246

10.2.4 增加辅助绘图模式246

10.3 图形的打印输出247

10.3.1 视图的打印机理247

10.3.2 打印功能的实现方法248

10.4 与AutoCAD的DXF文件的接口251

10.4.1 与AutoCAD接口的条件251

10.4.2 实现与DXF文件的接口功能251

第三篇 数据库管理系统259

第11章 开发数据库应用程序的基础知识259

11.1 关系数据库简介259

11.1.1 关系数据库的概念259

11.1.2 关系数据库的基本术语260

11.2 SQL语言简介261

11.2.1 选择子式262

11.2.2 过滤子式264

11.2.3 排序子式265

11.3 ODBC及创建ODBC数据源的方法267

11.3.1 ODBC简介267

11.3.2 VC++中使用ODBC的方法268

11.3.3 创建ODBC数据源268

第12章 数据库应用程序开发技术275

12.1 创建基于ODBC的数据库应用程序275

12.1.1 创建一个ODBC数据源275

12.1.2 MFC AppWizard创建一个数据库应用程序的步骤276

12.2 CRecordSet类功能分析277

12.2.1 连接数据源和创建记录集合278

12.2.2 与记录集合的数据交换281

12.2.3 打开和关闭记录集合对象282

12.2.4 过滤记录集合283

12.2.5 排序记录集合285

12.2.6 移动指向记录集合的记录指针287

12.2.7 修改记录集合290

12.2.8 CRecordSet类的其他操作功能292

12.2.9 MFC ClassWizard管理CRecordSet派生类295

12.3 CRecordView视图类分析299

12.3.1 CRecordView视图类299

12.3.2 CRecordView视图对象与记录集合对象的联系301

12.3.3 MFC ClassWizard管理CRecordView派生类302

12.3.4 视图控制与记录集合数据交换过程剖析307

12.4 基本数据库管理功能实现剖析310

12.4.1 浏览功能310

12.4.2 增加一个操作菜单316

12.4.3 记录编辑功能318

12.4.4 数据库过滤功能321

12.4.5 数据库排序功能324

12.5 DAO数据库应用程序设计325

第13章 使用DataView管理数据源328

13.1 合建Database Project328

13.1.1 创建Database Project的目的328

13.1.2 用AppWizard创建Database Project329

13.2 使用DataView管理数据源的普通功能330

13.2.1 浏览数据库的组成和结构330

13.2.2 Query工具条功能介绍331

13.2.3 组织Select操作334

13.2.4 组织SQL的Insert操作337

13.2.5 组织SQL的Insert Value操作338

13.2.6 组织SQL的Update操作339

13.2.7 组织SQL的Delete操作340

13.2.8 组织SQL的Make Table操作341

13.3 DataView管理SQL数据库342

13.3.1 针对SQL Server数据源的Database Project342

13.3.2 创建数据表和修改数据表结构343

13.3.3 新建数据视图或修改已有的数据视图结构344

13.3.4 创建和使用存储过程345

13.3.5 创建和使用数据库图表348

13.3.6 Database Diagram工具条功能349

第14章 实现数据库浏览功能353

14.1 创建一个数据库浏览视图353

14.1.1 视图的创建过程353

14.1.2 创建另外一类视图的步骤355

14.1.3 在矢量图形系统中创建数据库浏览视图358

14.2 创建一个CRecordSet派生类对象365

14.2.1 创建一个ODBC数据源365

14.2.2 创建管理记录集合的CRecordSet派生类366

14.2.3 创建记录集合对象371

14.3 实现数据库浏览视图371

14.3.1 建立视图与记录集合对象的联系371

14.3.2 获得数据库浏览视图的滚动区域372

14.3.3 实现数据库浏览视图374

第15章 实现数据库编辑功能379

15.1 在数据库浏览视图中建立记录指针379

15.2 建立数据库编辑功能操作菜单382

15.2.1 修改菜单资源383

15.2.2 建立操作菜单消息处理函数383

15.3 建立编辑数据记录的对话框类385

15.3.1 建立对话框资源385

15.3.2 创建编辑数据记录的对话框类386

15.3.3 设置对话框类的外部对象引用387

15.3.4 建立对话框控制与记录集合类的映射变量的映射联系389

15.4 增加和修改数据记录391

15.4.1 获得记录的唯一识别号391

15.4.2 增加记录393

15.4.3 修改记录396

15.5 删除记录398

15.5.1 删除当前记录398

15.5.2 删除所有记录398

第16章 通用数据库过滤功能400

16.1 过滤操作的实现方式400

16.1.1 固定条件过滤操作400

16.1.2 固定方式过滤操作400

16.1.3 通用条件过滤操作401

16.2 创建组织过滤条件的对话框类402

16.2.1 创建对话框资源402

16.2.2 创建组织过滤条件的对话框类404

16.3 组织过滤条件编辑器的各种功能405

16.3.1 过滤条件编辑器编辑的过滤条件式的语法格式405

16.3.2 定义和初始化对话框类的变量407

16.3.3 产生和分解各级条件子式409

16.3.4 初始化对话框的状态414

16.3.5 增加条件子式416

16.3.6 删除和修改条件子式421

16.3.7 条件子式的分解功能425

16.3.8 实现过滤操作428

16.4 在数据库浏览视图中实现过滤功能430

16.4.1 增加一个操作菜单430

16.4.2 实现数据库过滤操作功能431

16.5 增强过滤条件编辑器的功能432

16.5.1 增强过滤条件分解能力432

16.5.2 增强交互式编辑界面433

16.5.3 存储过滤条件434

第17章 通用数据库排序功能435

17.1 排序操作的方式435

17.2 通用排序子式编辑器的实现436

17.2.1 创建一个对话框类436

17.2.2 定义和初始化对话框类的成员变量439

17.2.3 产生和分解排序子式442

17.2.4 增加、插入、修改、删除排序字段445

17.2.5 进行排序452

17.3 实现数据库排序功能453

第18章 数据库管理功能通用化454

18.1 各种数据库管理功能的可通用化分析454

18.1.1 可通用化的数据库管理功能454

18.1.2 不易通用化的功能455

18.2 实现数据库管理功能通用化456

18.2.1 通用化功能模块的方法456

18.2.2 功能模块通用化的步骤458

18.2.3 选择操作不同的记录集合对象463

18.2.4 增加应用程序管理的记录集合对象465

18.2.5 增加通用数据库操作功能469

18.3 数据库管理功能完全通用化471

第四篇 基本GIS系统475

第19章 矢量图形系统与数据库管理系统的连接475

19.1 连接方式及连接单元475

19.1.1 连接方式475

19.1.2 连接单元476

19.1.3 连接的特性476

19.2 唯一标识连接单元477

19.2.1 标识图形连接单元477

19.2.2 标识数据连接单元478

19.3 管理连接信息的方法479

19.3.1 连接的参数表示479

19.3.2 存储组织连接信息的方法480

第20章 在应用程序Draw中实现连接功能484

20.1 建立管理连接信息的记录集合对象484

20.1.1 新建记录集合类484

20.1.2 创建管理连接信息的记录集合对象487

20.2 组织进行连接操作的对话框类488

20.2.1 连接操作的具体步骤488

20.2.2 创建对话框类488

20.2.3 初始化对话框类492

20.2.4 实现对话框类的数据交换机制496

20.2.5 实现对话框类的各操作功能496

20.3 实现矢量图形系统和数据库管理系统的连接503

20.3.1 实现连接功能503

20.3.2 完善连接功能506

20.4 实现实体507

20.4.1 实体的概念507

20.4.2 实体的数据结构507

20.4.3 有关实体的操作509

第21章 实现双向信息查询512

21.1 建立显示和编辑数据信息的对话框类512

21.2 实现对话框类的操作功能515

21.2.1 对话框类的初始化515

21.2.2 编辑性质数据518

21.2.3 删除与数据连接单元的连接520

21.3 实现信息查询功能521

第22章 图形元素的空间拓扑关系525

22.1 直线与多边形区域的关系525

22.1.1 直线与直线的关系525

22.1.2 直线与多边形区域的相交关系530

22.1.3 连续直线与多边形区域的相交关系535

22.2 圆弧与多边形区域的关系537

22.2.1 圆与直线的关系538

22.2.2 圆弧与直线的关系542

22.2.3 圆弧与多边形区域的关系544

22.3 图形元素与圆形区域的关系548

22.3.1 圆与圆的关系549

22.3.2 圆弧与圆形区域的关系551

22.3.3 直线与圆形区域的关系554

第23章 GIS系统空间信息统计和分析功能556

23.1 空间信息统计和分析的实现步骤556

23.2 区域信息统计和分析557

23.2.1 区域选择图形元素的方法557

23.2.2 区域信息统计和分析559

23.3 线类相交信息统计和分析560

23.3.1 线类相交选择图形元素的方法560

23.3.2 线类相交区域计算561

23.3.3 线类相交信息统计和分析561

23.4 实用GIS系统开发562

第五篇 多用户GIS系统567

第24章 开发分布式多用户数据库管理系统567

24.1 Visual C++开发分布式多用户数据库管理系统567

24.1.1 服务器/客户机应用程序设计567

24.1.2 Visual C++开发基于服务器/客户机体系的数据库管理系统567

24.2 分布式多用户数据库管理系统开发技术568

24.2.1 定期更新记录集合对象568

24.2.2 多用户应用程序中对记录的修改策略570

第25章 实现多用户GIS系统574

25.1 部分多用户化GIS系统574

25.1.1 部分多用户化GIS系统574

25.1.2 实现数据库管理系统的多用户化574

25.1.3 实现连接信息管理多用户化575

25.2 完全多用户化GIS系统575

25.2.1 矢量图形元素的数据库记录化575

25.3.2 转换数据表的内容为图形元素577

附录 本书所附光盘内容及技术支持578

参考书目579

热门推荐