MapInfo是使用最广泛的地图绘制软件之一。本书以最新版本的MapInfo 9.5中文版为操作平台,全面介绍使用该软件绘制、编辑桌面式地图的方法和技巧。全书共分13章,内容涉及MapInfo 9.5的数据采集、矢量地图绘制和编辑、属性数据编辑(表操作)、地图查询分析、空间模型、地图装饰和MapBasic基础等内容。本书在讲解软件功能的同时,安排了丰富的课堂练习和上机练习,帮助读者巩固知识。配套光盘附有多媒体语音视频教程和大量的图形文件,供读者学习和参考。
本书内容丰富、结构安排合理,适合作为大中专院校相关专业MapInfo教材,也可以作为GIS制图人员的重要参考资料。
前 言
MapInfo是地图绘制领域使用最为广泛的应用软件之一,MapInfo Professional 9.5是目前世界上最为完备、功能强大、全面而直观的桌面地理信息系统之一。该软件可以帮助用户在数据库中不同的数据之间建立关联,在同一个环境下显示,并迅速揭示数据之间的关系以及易被忽视的数据模式,从而做出快速、有效的决策,提高运作效率,加强竞争能力。
本书从实用的角度讲解了MapInfo 9.5中文版的使用技术,使读者增加对GIS的理解,同时可以短时间内掌握MapInfo,并应用于实际项目。全书从GIS专业知识介绍开始,详细讲解了MapInfo 9.5的数据采集、矢量图形编辑、属性数据编辑(表操作)、地图查询分析、空间模型、地图装饰、MapBasic二次开发等内容。
1.本书内容介绍
本书以专业知识为基础,以灵活使用MapInfo 9.5桌面式地图为主线,结合全国或部分地区地图为训练对象,带领读者全面学习MapInfo 9.5,以及使用MapBasic辅助桌面式地图设计,达到快速入门和独立绘制地图的目的。全书共分13章,每章都可以独立进行学习,各章的具体内容如下。
第1章介绍GIS专业知识和GIS专业软件MapInfo 9.5的基本内容,介绍MapInfo 9.5软件工作界面、管理地图文件和查看MapInfo窗口的方法和技巧。第2章介绍MapInfo 9.5表的组成方式,以及使用该软件绘制和编辑桌面式地图的基本操作方法。第3章详细介绍MapInfo 9.5软件对数据的采集方式,以及使用绘图仪或扫描仪采集数据等。第4章介绍在MapInfo 9.5中使用基本绘图工具绘制和编辑地图的方法,包括创建并编辑符号、曲线、文本和框架等图形对象。第5章介绍在MapInfo 9.5中对图形对象的整形和转换的方法,以及对对象的各种高级操作方法。第6章介绍MapInfo 9.5中文版对图表的基本操作、对报表的操作方法。第7章介绍在地理编码部分切换地理编码模式和地理编码方法,如何进行地理编码的设置等。第8章介绍在MapInfo 9.5中创建各种专题图和自定义专题图的方法技巧,以及编辑专题地图的方法。第9章介绍设置布局排版方式和执行打印输出的方法和技巧。
第10章介绍MapBasic语言在MapInfo 9.5中的使用方法。第11章介绍在MapBasic用户界面中常用元素的创建和修改的方法。第12章介绍在MapBasic中地图图层及图层对象的编程方法,包括地图参数的各种设置方法、地图中对象的创建、对地图中各种对象的测量与分析以及对地图对象的修改等。第13章介绍在MapBasic中文件的建立、数据输入和输出及数据文件的操作和管理等内容。
2.本书主要特色
本书内容全面翔实、注重应用、讲解准确、语言通俗易懂、图文并茂以及结合示例、实例、心得体会边学边练,引导读者尽快掌握MapInfo的应用与开发。本书主要体现以下特色。
? 内容的全面性和实用性 本书力求将MapInfo专业知识囊括全面,并对容易混淆的知识点进行对比分析,辅助读者快速掌握各方面的知识。
? 知识点全面 本书系统地论述了地理信息系统(GIS)的基本概念、发展过程、数据组织;介绍了GIS的基础理论和方法、开发平台MapInfo及其二次开发语言MapBasic;并介绍如何利用GIS开发工具MapInfo及其二次开发语言MapBasic来开发桌面地理信息系统。
? 满足二次开发 为满足用户利用MapInfo 9.5进行二次开发的需要,本书对MapBasic语言的语法结构和用法进行了详细的说明,介绍了如何编辑、编译、链接、调试和运行等应用知识。
3.随书光盘内容
为了帮助更好地学习和使用本书,本书专门配带了多媒体学习光盘,提供了本书实例源文件、最终效果图和全程配音的教学视频文件。本光盘使用之前,需要首先安装光盘中提供的tscc插件才能运行视频文件。
光盘特色有以下几点。
? 人性化设计 光盘主界面有3个按钮,用户只需单击相应的按钮,就可以进入相关程序。
? 交互性 视频播放控制器功能完善,提供了【播放】、【暂停】、【快进】、【快退】、【试一试】等控制按钮,可以显示视频播放进度,用户使用非常方便。
? 功能完善 本光盘由专业技术人员使用Director技术开发,具有背景音乐控制、快进、后退、返回主菜单、退出等多项功能。
? 自动运行功能 本多媒体光盘具有自动运行功能,只需将光盘放入光驱中,系统将自动运行并进入主界面,显示【素材下载】、【教学视频】和【网站链接】按钮。
4.本书适用的对象
本书讲述MapInfo的全部开发过程,提供了实例的完整源程序,对地理信息系统开发人员,特别是利用MapInfo进行二次开发的人员极有帮助。本书适合作为大中专院校GIS专业教程,也可作为GIS软件开发、资源管理、环境保护、城市规划等部门的有关人员进行地理信息系统规划、设计与实施的技术参考书。
参与本书编写的除了封面署名人员外,还有何恒、王敏、马海军、祁凯、孙江玮、田成军、刘俊杰、赵俊昌、王泽波、张银鹤、刘治国、何方、李海庆、王树兴、朱俊成、崔群法、孙岩、倪宝童、王立新、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、赵元庆、郭磊、杨宁宁、郭晓俊、方宁、王黎、安征、亢凤林、李海峰等。
由于时间仓促,水平有限,疏漏之处在所难免,欢迎读者朋友登录清华大学出版社的网站www.tup.com.cn与我们联系,帮助我们改进提高。
作 者
2009年1月
目 录
第1章 MapInfo 9.5操作基础1
1.1 地理信息系统概论2
1.1.1 信息与信息系统2
1.1.2 地图与地理空间数据3
1.1.3 地理信息与地理信息系统5
1.1.4 GIS的功能、分类和应用7
1.1.5 地理信息系统的构成9
1.2 MapInfo系统简介12
1.2.1 MapInfo与桌面地图系统12
1.2.2 MapInfo基本功能15
1.2.3 MapInfo 9.5新功能15
1.3 MapInfo 9.5工作界面18
1.3.1 标题栏和菜单栏18
1.3.2 工具栏19
1.3.3 状态栏20
1.4 管理地图文件21
1.4.1 新建地图文件21
1.4.2 打开原有地图文件22
1.4.3 保存地图文件23
1.5 查看MapInfo窗口23
1.5.1 地图窗口23
1.5.2 浏览窗口25
1.5.3 布局窗口27
1.5.4 统计图窗口28
1.6 思考与练习31
第2章 MapInfo通用知识33
2.1 地图图表34
2.1.1 表的组成和创建途径34
2.1.2 MapInfo的数据文件36
2.2 地图图层37
2.2.1 图层和图元的概念37
2.2.2 图层控制38
2.2.3 装饰图层41
2.2.4 无缝图层43
2.2.5 更改图层的显示选项44
2.3 地图的基本操作44
2.3.1 浏览地图44
2.3.2 改变视图45
2.3.3 显示属性信息46
2.4 选择对象46
2.4.1 选择工具46
2.4.2 矩形选择工具47
2.4.3 半径选择工具48
2.4.4 多边形选择工具48
2.4.5 边界选择工具49
2.4.6 其他选择方式49
2.5 重新分区50
2.5.1 重新分区的基本知识50
2.5.2 重新分区的创建52
2.5.3 重新分区的操作53
2.6 高级操作55
2.6.1 拖动地图窗口55
2.6.2 热链接55
2.6.3 剪裁区域56
2.7 课堂练习2-1:调整湖北地质图57
2.8 课堂练习2-2:调整湖南省地图60
2.9 思考与练习62
第3章 MapInfo的数据采集64
3.1 直接打开支持的数据65
3.1.1 打开MapInfo格式文件65
3.1.2 打开其他类型文件66
3.1.3 打开图像文件68
3.2 通过格式转换采集数据69
3.2.1 转入表70
3.2.2 转出表71
3.2.3 使用工具采集数据72
3.3 使用外部设备采集数据74
3.3.1 使用数字化仪74
3.3.2 常见数字化问题及
解决办法77
3.3.3 通过扫描矢量化采集数据78
3.3.4 从Web地图服务获取数据79
3.4 课堂练习3-1:打开地图文件80
3.5 课堂练习3-2:使用通用转换器81
3.6 思考与练习83
第4章 绘制并编辑地图85
4.1 MapInfo的绘图工具86
4.2 绘制并编辑符号86
4.2.1 设置符号样式87
4.2.2 绘制符号88
4.2.3 编辑符号88
4.3 绘制直线和折线89
4.3.1 绘制直线89
4.3.2 绘制折线90
4.4 绘制并编辑区域对象91
4.4.1 绘制多边形92
4.4.2 绘制矩形94
4.4.3 创建圆角矩形95
4.5 绘制并编辑圆弧95
4.5.1 绘制圆弧95
4.5.2 编辑圆弧96
4.6 绘制并编辑椭圆或圆98
4.6.1 绘制椭圆98
4.6.2 设置椭圆对象属性98
4.7 绘制框架99
4.7.1 创建框架99
4.7.2 设置框架属性100
4.7.3 编辑框架100
4.8 文本注释101
4.8.1 文本样式102
4.8.2 输入文本103
4.8.3 显示文本103
4.8.4 使用文本对象对话框104
4.8.5 编辑文本105
4.9 标注地图106
4.9.1 选择标注内容107
4.9.2 自动标注108
4.9.3 交互标注109
4.9.4 删除标注110
4.9.5 保存标注111
4.10 课堂练习4-1:创建城市布
局初始图111
4.11 课堂练习4-2:完善华北
地区地图113
4.12 思考与练习116
第5章 地图的高级设置118
5.1 对象整形119
5.1.1 显示和选择一个对象的
节点119
5.1.2 自动跟踪119
5.1.3 对象节点的操作120
5.1.4 改变区域的中心121
5.2 对象转换122
5.2.1 把对象转换为区域对象122
5.2.2 把对象转换为折线对象123
5.3 对象的高级操作123
5.3.1 设置和清除目标124
5.3.2 合并和分解对象124
5.3.3 生成外接多边形127
5.3.4 创建缓冲区127
5.3.5 分割对象129
5.3.6 擦除对象130
5.3.7 叠压节点131
5.4 对象的其他高级操作132
5.4.1 检查区域和清除对象132
5.4.2 节点抓取/抽稀133
5.4.3 平滑设置135
5.5 课堂练习5-1:创建缓冲区136
5.6 课堂练习5-2:擦除对象137
5.7 思考与练习138
第6章 图表操作和查询140
6.1 MapInfo图表管理141
6.1.1 MapInfo中的表141
6.1.2 创建表141
6.1.3 操作表143
6.1.4 其他操作145
6.2 向表中输入数据146
6.2.1 信息工具窗口146
6.2.2 浏览窗口147
6.2.3 添加数据的其他方法148
6.3 查询150
6.3.1 选择查询150
6.3.2 使用SQL查询151
6.4 报表和统计图153
6.4.1 报表窗口153
6.4.2 操作报表155
6.4.3 新建统计图156
6.4.4 设置统计图158
6.5 课堂练习6-1:使用信息工具
窗口161
6.6 课堂练习6-2:使用SQL命令
查询162
6.7 思考与练习163
第7章 地理编码与投影系统165
7.1 地理编码166
7.1.1 MapInfo中的地理编码166
7.1.2 地理编码模式与方法
概述166
7.1.3 应用地理编码168
7.1.4 匹配地理编码170
7.1.5 查找并检查未地理编码
的记录171
7.1.6 确定新地理编码的点
的位置172
7.1.7 撤销地理编码172
7.2 排错173
7.3 投影与坐标系175
7.3.1 投影与坐标系的关系175
7.3.2 地理地图和平面图175
7.4 设置投影系统176
7.4.1 选择用于显示的坐标系176
7.4.2 访问投影的路径178
7.4.3 设置投影系统178
7.5 课堂练习7-1:对华北地区地理
编码180
7.6 课堂练习7-2:为中国地图设置
投影系统182
7.7 思考与练习183
第8章 创建专题地图185
8.1 专题地图概述186
8.2 范围专题图186
8.2.1 范围值图制作方法187
8.2.2 范围值图高级制作188
8.3 直方图专题图189
8.3.1 直方图制作方法190
8.3.2 直方图高级制作191
8.4 饼图专题图192
8.4.1 饼图制作方法192
8.4.2 饼图高级制作193
8.5 等级专题图194
8.5.1 等级图制作方法194
8.5.2 等级图高级制作195
8.6 点密度专题图196
8.6.1 点密度图制作方法196
8.6.2 点密度图高级制作198
8.7 独立值专题图198
8.7.1 独立值图制作方法198
8.7.2 独立值图高级制作199
8.8 格网专题图200
8.8.1 格网图制作方法200
8.8.2 格网图高级制作201
8.9 编辑专题地图202
8.9.1 编辑专题图层202
8.9.2 合并和保存专题图模板204
8.10 课堂练习8-1:创建政区人口
饼图和直方图205
8.11 课堂练习8-2:创建政区人口
范围专题图206
8.12 思考与练习207
第9章 布局排版与打印输出209
9.1 在布局窗口中添加内容210
9.1.1 添加点、线、面等对象210
9.1.2 增加文本和框架210
9.2 编辑布局窗口212
9.2.1 布局对象排序212
9.2.2 创建阴影213
9.2.3 排列对象213
9.2.4 控制布局缩放比例214
9.2.5 布局选项设置215
9.3 其他布局窗口操作216
9.3.1 测量两点间距离216
9.3.2 使用比例尺217
9.3.3 创建并保存布局模板218
9.4 打印布局218
9.4.1 页面设置218
9.4.2 打印布局窗口219
9.5 OLE嵌入和MapInfo220
9.5.1 OLE术语221
9.5.2 MapInfo 9.5地图对象222
9.5.3 嵌入MapInfo 9.5地图222
9.5.4 用MapInfo 9.5实现地
图化224
9.5.5 调整嵌入地图窗口的大小
和位置224
9.5.6 打印、保存和共享嵌入
地图225
9.6 课堂练习9-1:中国人口分布
布局图排版226
9.7 课堂练习9-2:嵌入湖南省地图
并打印输出230
9.8 思考与练习232
第10章 MapBasic开发环境234
10.1 MapBasic概述235
10.1.1 MapBasic基础知识235
10.1.2 MapBasic 9.5开发环境236
10.1.3 MapBasic的基本语法
规则237
10.1.4 创建MapBasic的应用
程序238
10.2 MapBasic的变量和常量240
10.2.1 数据类型240
10.2.2 变量242
10.2.3 常量244
10.3 运算符和表达式246
10.3.1 运算符246
10.3.2 表达式248
10.4 程序流程控制249
10.4.1 循环结构249
10.4.2 选择结构251
10.4.3 退出和跳转语句254
10.5 过程和函数256
10.5.1 过程256
10.5.2 函数259
10.6 错误处理MapBasic程序260
10.6.1 OnError语句260
10.6.2 Resume语句261
10.7 课堂练习:求圆面积函数262
10.8 思考与练习263
第11章 用户界面接口265
11.1 菜单266
11.1.1 建立新菜单266
11.1.2 添加命令267
11.1.3 从菜单中删除命令269
11.1.4 特殊命令及命令状态
设置270
11.1.5 重定义整个菜单栏272
11.1.6 快捷键和热键的定义273
11.1.7 使用菜单命令274
11.2 标准对话框275
11.2.1 Note语句275
11.2.2 Ask()函数276
11.2.3 打开对话框276
11.2.4 进程条对话框277
11.3 自定义对话框278
11.3.1 显示自定义对话框279
11.3.2 对话框的大小和位置279
11.3.3 使用控件280
11.3.4 控件用法287
11.3.5 对话框处理操作290
11.4 窗口291
11.4.1 地图窗口291
11.4.2 指定窗口的尺寸及位置292
11.5 按钮及工具栏295
11.5.1 按钮的类型295
11.5.2 创建按钮296
11.5.3 修改按钮301
11.5.4 定制按钮图标302
11.6 课堂练习11-1:创建用户自定
义对话框303
11.7 课堂练习11-2:创建菜单来
打开窗口304
11.8 思考与练习305
第12章 地图及地图对象307
12.1 处理地图图层308
12.1.1 添加地图图层308
12.1.2 移除地图图层309
12.1.3 查询地图设置310
12.1.4 查询地图窗口图层信息311
12.1.5 改变地图设置312
12.2 设置地图参数315
12.2.1 设置坐标系315
12.2.2 设置默认的面积单位315
12.2.3 设置默认的距离单位316
12.3 创建地图对象317
12.3.1 创建地图对象的语句317
12.3.2 创建地图对象的一些
函数326
12.4 修改地图对象329
12.4.1 修改对象形状、坐标
及样式330
12.4.2 删除对象的相关操作333
12.4.3 改变对象类型335
12.4.4 分割对象336
12.5 课堂练习12-1:改变线对象的
终点坐标337
12.6 课堂练习12-2:删除对象
重叠部分338
12.7 思考与练习339
第13章 建立和使用数据文件341
13.1 数据文件的基本概念和操作342
13.1.1 文件的分类342
13.1.2 文件记录和文件名343
13.2 数据文件的基本操作344
13.2.1 打开和关闭数据文件344
13.2.2 编辑数据文件346
13.2.3 查看数据文件信息348
13.3 顺序文件的操作350
13.3.1 顺序文件的基本概念350
13.3.2 顺序文件的打开和关闭351
13.3.3 数据文件的读取351
13.3.4 顺序文件的写入353
13.3.5 顺序文件的修改355
13.4 随机文件的操作356
13.4.1 随机文件的打开和关闭356
13.4.2 随机文件的读写357
13.5 二进制文件的操作358
13.5.1 二进制文件的创建
和打开358
13.5.2 二进制文件的读写359
13.6 操作表359
13.6.1 创建表359
13.6.2 使用表361
13.6.3 应用表364
13.7 课堂练习13-1:查询Access中
的数据368
13.8 课堂练习13-2:从表中
查找数据368
13.9 思考与练习370