第1章 地理信息系统设计与开发基础 1
1.1地理信息系统的概念、产生和发展趋势 1
1.1.1信息与信息系统 1
1.1.2地理信息系统 1
1.1.3地理信息系统的产生 3
1.1.4当代地理信息系统的发展趋势 4
1.2地理信息系统的分类 6
1.2.1应用型地理信息系统 6
1.2.2工具型地理信息系统 7
1.3地理信息系统的硬、软件环境 8
1.3.1地理信息系统的硬件系统 8
1.3.2地理信息系统的软件模块 9
1.3.3地理信息系统的硬、软件选择 14
1.4地理信息系统的空间数据模型 16
1.4.1矢量数据及其拓扑关系模型 16
1.4.2栅格数据模型 17
1.4.3属性数据及其表示 18
1.4.4空间数据与属性数据的连接 19
1.4.5数据模型与GIS功能之间的联系 20
1.5空间数据质量及其控制 20
1.5.1GIS空间数据质量的概述 20
1.5.2GIS空间数据质量的内容 22
1.5.3GIS空间数据质量的控制 23
1.6流行开发工具及其分类 26
1.6.1GIS开发工具简介 26
1.6.2GIS次开发工具的分类 28
习题 32
第2章 地理信息系统设计与开发方法概述 34
2.1信息系统设计与开发的基本方法 34
2.1.1结构化生命周期法 34
2.1.2原型化方法 37
2.1.3面向对象方法 39
2.2地理信息系统设计的特点、内容、步骤和方法概述 42
2.2.1GIS设计的特点 42
2.2.2GIS设计的内容 42
2.2.3GIS设计的步骤 43
2.2.4GIS设计方法概述 44
2.3需求分析 44
2.3.1需求分析的内容 44
2.3.2可行性研究 45
2.3.3可行性研究报告 46
2.3.4需求分析和可行性研究的一般原则 47
2.4系统总体设计 47
2.4.1系统总体设计的内容 47
2.4.2系统总体设计的步骤 49
2.4.3系统总体设计的基本要求 51
2.4.4系统总体设计应把握的基本原则 52
2.5系统详细设计 52
2.5.1GIS功能设计 52
2.5.2地理数据库设计 53
2.5.3应用模型与方法设计 55
2.6GIS软件设计 56
2.6.1应用型GIS软件设计的基本特点 56
2.6.2信息描述 57
2.6.3软件设计方法 60
2.7用户界面设计 61
2.7.1用户界面的作用 61
2.7.2用户界面设计的原则 62
2.7.3用户界面的主要类型及主要界面组件 63
2.7.4GIS中常用的其他界面技术 67
习题 69
第3章 基于宏语言的GIS开发——以ArcInfo的AML为例 71
3.1GIS宏命令语言与ArcInfo系统简介 71
3.1.1GIS宏命令设计语言 71
3.1.2ArcInfo系统简介 72
3.2ARC宏命令设计语言AML 74
3.2.1AML语言基础 74
3.2.2AML程序功能 80
3.2.3AML程序运行 87
3.3AML界面设计 91
3.3.1AML菜单类型 91
3.3.2AML菜单文件 93
3.3.3AML格式菜单 96
3.3.4输入源THREAD 103
3.3.5AML程序界面设计 107
3.4AML例程剖析 111
3.4.1ArcInfo项目管理 111
3.4.2ArcInfo数据处理 112
3.4.3ArcInfo空间分析 114
习题 116
4.1.1MapInfo与桌面地理信息系统 119
第4章 MapInfo及其二次开发语言 119
4.1MapInfo系统概述 119
4.1.2MapInfo的主要技术特点 120
4.1.3MapInfo地图组织 122
4.2MapBasic语言 128
4.2.1语言基本特点 129
4.2.2MapBasic语法 130
4.2.3过程与函数 136
4.2.4程序基本结构 138
4.3基于MapBasic的应用系统开发 138
4.3.1MapBasic集成开发环境 138
4.3.2创建用户界面 142
4.3.3表操作 151
4.3.4图层管理与窗口操作 154
4.3.5文件读写操作 162
4.3.6地理信息查询 164
4.3.7地理分析 169
4.3.8专题制图 172
4.3.9程序设计实例 175
4.4跨平台集成MapInfo 180
4.4.1什么是跨平台集成MapInfo 180
4.4.2集成地图的技术要求 181
4.4.3集成地图的方法 181
4.4.4步骤与实例 185
习题 190
5.1.1MapX简介 192
第5章 基于组件的开发——以MapX为例 192
5.1概述 192
5.1.2MapX的安装 193
5.1.3GeosetManager 193
5.1.4应用程序的结构与数据组织 196
5.2用VC++开发基于MapX的GIS应用程序 199
5.2.1用VC++的应用程序向导建立单文档应用程序 199
5.2.2给应用程序BasGIS加入MapX控件 200
5.2.3在应用程序中实现地图显示和操作 201
5.2.4实现地图图层管理 211
5.2.5实现图层中图元的管理 217
5.3用Visual Basic开发基于MapX的GIS应用程序 234
5.3.1Visual Basic简介 234
5.3.2基于VB和MapX开发应用程序的过程 236
5.3.3应用开发实例——陕西省旅游信息系统 241
习题 265
第6章 开发GIS基本系统——以DigMap为例 267
6.1使用专业开发工具与自行开发GIS基本系统的优缺点比较 267
6.1.1使用专业开发工具进行GIS应用开发的优点与不足 267
6.1.2自行开发GIS基本系统的优点与缺点 268
6.2GIS基本系统的功能要求 270
6.2.1矢量图形系统 271
6.2.2遥感和栅格数据处理系统 272
6.2.3属性数据管理及其数据库系统 275
6.2.4矢量空间数据元素与属性数据库的连接 278
6.2.5完整的空间数据管理、查询、统计、分析和图形图像输出功能 278
6.3.1DigMap的矢量数据模型 279
6.3空间数据模型设计 279
6.3.2DigMap数据模型间的联系与组织 283
6.4空间数据管理与数据库设计 284
6.4.1地理信息的分层组织 284
6.4.2数据层的类型属性 285
6.4.3空间数据管理 287
6.4.4空间数据库设计 288
6.5矢量空间数据的输入与编辑 290
6.5.1矢量数据输入、编辑作业的任务管理 290
6.5.2空间数据编辑 298
6.5.3写入空间数据库 299
6.6矢量空间数据查询、检索的基本算法 299
6.6.1点的抓取 299
6.6.2折线、弧段的抓取 300
6.6.3多边形的抓取与多边形拓扑 301
6.7栅格数据处理 303
6.7.1栅格数据的存储组织与处理模式 303
6.7.2矢量数据的栅格化 305
6.7.3栅格数据的压缩编码 305
6.8基于数字高程矩阵的地表形态分析 308
6.8.1获取数字高程矩阵数据 308
6.8.2基于数字高程矩阵的地形分析 309
6.8.3栅格数据的叠加分析 311
6.9空间数据的显示 312
6.9.1Windows的绘图机制与设备描述表 312
6.9.2按比例缩放与坐标系统 314
6.9.3裁剪、有效化及设备描述表的控制 316
6.9.4绘图函数 317
6.9.5按属性值大小渲染多边形区域 320
6.9.6面要素透明叠加显示 321
6.10多媒体数据及其他数据的管理与展示 322
6.10.1多媒体信息的组织管理 322
6.10.2多媒体信息的种类与形式 324
6.10.3多媒体数据的展示 325
习题 325
第7章 GIS组件开发 326
7.1组件技术基础 326
7.1.1从DDE到OLE1 326
7.1.3OLE2与COM 327
7.1.2可视化BASIC与VBX 327
7.1.4ActiveX 328
7.2GIS开发技术组件化的意义 329
7.2.1为应用系统提供了全新的集成方法 329
7.2.2提高了在开发语言选择上的灵活性 330
7.2.3增强了GIS软件的包容性 330
7.2.4提高了GIS技术的通用性 330
7.2.5具有较强的伸缩性 330
7.2.6方便了可视化程序设计的实现 331
7.3GIS控件开发——以MapG为例 331
7.3.1通用型GIS控件的功能设计 331
7.3.2MapG的主要属性 333
7.3.3方法 334
7.3.4事件 336
7.3.5控件使用 338
7.4面向区域的GIS控件 341
7.4.1面向区域GIS控件的概念 341
7.4.2面向区域GIS控件的特点 342
7.5面向区域的GIS控件的技术组织 343
7.5.1图形数据对象及其表示 343
7.5.2图层及其类型属性 344
7.5.3数据库组织 344
7.5.4SxGMP的属性、事件与方法 345
7.6面向区域GIS组件的开发方法 347
习题 348
8.1.1系统特点及其实现的主要功能 349
8.1陕西省生态环境数据库系统(SxEnv) 349
第8章 GIS应用系统开发实例 349
8.1.2生态环境信息的数据分类 352
8.1.3定义和生成地理查询对象 352
8.1.4地理查询对象的“GIS化” 354
8.1.5生态环境数据的统计分析 356
8.1.6查询数据库与报表制作 357
8.2陕西省人口地理系统 357
8.2.1区域人口分析的主要内容 358
8.2.2人口地理信息系统的功能分析 360
8.2.3人口地理信息系统的基础数据 362
8.2.4陕西省人口地理信息系统(SxPGIS)的设计与开发 364
习题 370
主要参考文献 371