《地理信息系统二次开发教程 语言篇》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘光编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302061289
  • 页数:410 页
图书介绍:本书用循序渐进的方式,通过大量实例介绍了如何使用MapBasic和IDL两种语言进行地理信息系统二次开发,在介绍每种语言时都首先从基本概念开始,然后由浅入深地介绍如何实现地图显示和地理计算方法。

第1部分 使用MapBasic开发GIS 1

第1章 MapBasic开发环境 1

1.1 MapInfo相关技术 1

1.1.1 MapInfo公司及其产品 1

1.1.2 MapInfo空间数据的拓扑关系模型 2

1.1.3 MapInfo的技术特点 3

1.1.4 MapInfo的数据组织 4

1.2 MapBasic概述 6

1.2.1 MapBasic的特点 6

1.2.2 MapBasic的开发环境 7

1.3 MapBasic开发过程 8

1.3.1 创建第一个MapBasic应用程序 8

1.3.2 编辑MapBasic程序 9

1.3.3 编译和链接MapBasic程序 9

1.4 创建多个模块的项目 10

1.4.1 创建项目文件 11

1.4.2 编译和链接项目文件 12

1.5 调试和运行MapBasic程序 13

1.5.1 错误类型 13

1.5.3 错误的捕获 14

1.5.2 MapBasic程序的调试 14

第2章 MapBasic语言基础 17

2.1 MapBasic的基本语法规则 17

2.1.1 标识符 17

2.1.2 运算符 17

2.1.3 书写规则 21

2.2 常量、变量和数据类型 22

2.2.1 常量 23

2.2.2 变量 24

2.2.3 数据类型 27

2.3 程序控制语句 29

2.3.1 循环语句 31

2.3.2 选择语句 39

2.3.3 其他流程控制语句 44

2.4 过程 48

2.4.1 主过程 48

2.4.2 子过程 49

2.4.3 使用过程 51

2.4.4 向过程传递参数 53

2.5.1 函数的声明、定义与特点 54

2.5 函数 54

2.5.2 递归函数 56

2.5.3 Define与Include语句 57

2.6 MapBasic中的常用函数 58

2.6.1 数学函数 59

2.6.2 日期函数 59

2.6.3 字符串函数 59

2.6.4 返回地理计算的函数 60

2.6.5 返回对象的函数 60

2.7.1 打印窗口内容 61

2.7 输出与显示 61

2.7.2 在消息窗口中显示文本 62

2.7.3 保存窗口 64

第3章 用户界面设计 66

3.1 设计菜单 66

3.1.1 菜单的基本元素 66

3.1.2 增加菜单项 67

3.1.3 删除已有菜单项 68

3.1.4 创建新的菜单 69

3.1.5 修改菜单项 69

3.1.6 重新定义菜单栏 70

3.2 设计标准对话框 71

3.1.7 定义快捷键和热键 71

3.2.1 确认对话框 72

3.2.2 打开文件对话框 73

3.3 设计自定义对话框 74

3.3.1 创建用户对话框 74

3.3.2 控件的位置和大小 75

3.3.3 控件类型 75

3.4 设计窗口 77

3.4.3 浏览窗口 78

3.4.1 指定窗口的尺寸和位置 78

3.4.2 地图窗口 78

3.4.4 统计窗口 79

3.4.5 信息窗口 80

3.4.6 重新设置窗口属性 82

3.4.7 设置布局窗口 86

3.5 设计工具栏 89

3.5.1 不同类型的按钮 90

3.5.2 创建和修改工具栏 90

3.5.3 获取用户选择的信息 91

3.5.4 综合使用工具栏实例 93

3.6 自动运行MapBasic应用程序 99

第4章 控制地图图层、窗口与地图对象 100

4.1 地图图层的处理 100

4.1.1 打开地图窗口 100

4.1.2 增加图层 102

4.1.3 增加不同投影的图层 104

4.1.4 使用活动图层 104

4.1.5 删除地图图层 111

4.2 标注图层 113

4.2.1 自动标注图层 113

4.2.2 查询图层标注 118

4.3 获取地图窗口和图层的设置信息 126

4.3.1 获取地图窗口的设置信息 126

4.3.2 获取图层的设置信息 128

4.4 改变地图窗口和图层的设置 132

4.4.1 改变地图的当前视图 134

4.4.4 改变图层属性 135

4.4.3 改变图层顺序 135

4.4.2 改变整个地图窗口的属性 135

4.4.5 改变图层的标注对象属性 137

4.5 创建和修改专题图 142

4.5.1 创建范围专题图 142

4.5.2 创建独立值专题图 147

4.5.3 创建点密度专题图 150

4.5.4 创建等级符号专题图 151

4.5.5 创建直方图专题图 153

4.5.6 创建饼图专题图 156

4.5.8 插值形成栅格图层 158

4.5.7 修改专题图 158

4.6 创建地图对象 161

4.6.1 对象概述 161

4.6.2 使用对象列 162

4.6.3 创建对象的语句 163

4.6.4 创建对象的函数 167

4.6.5 高级操作 168

4.6.6 在表中保存对象 172

4.7.1 修改对象的过程 175

4.7.2 修改对象的属性 175

4.7 修改地图对象 175

4.7.3 改变对象的类型 182

4.7.4 设置目标对象 182

4.7.5 擦除对象 183

4.7.6 合并对象 185

4.7.7 分割对象 186

4.7.8 在交叉点增加节点 187

4.8 查询地图对象 188

4.8.1 空间量算 188

4.8.2 坐标量算 190

4.8.3 设置坐标系统 195

4.9 处理对象样式 198

4.9.1 查询当前样式 198

4.9.2 查询样式属性 199

4.9.3 创建样式 199

第5章 管理工作表 203

5.1 操作工作表 203

5.1.1 打开普通表 203

5.1.2 打开外部文件 204

5.1.4 创建新表 209

5.1.3 关闭表 209

5.1.5 紧缩表 210

5.1.6 表的删除与重命名 211

5.2 操作表中字段 212

5.2.1 修改表结构 212

5.2.2 增加列数据 213

5.3 操作表中记录 217

5.3.1 访问表中指定的行和列 217

5.3.2 删除记录 219

5.3.3 保存对表的编辑 219

5.3.4 放弃对表的修改 220

5.4 操作表属性 221

5.4.1 获取表属性 221

5.4.2 设置表属性 226

5.5 操作元数据 228

5.5.1 创建、修改和删除元数据 228

5.5.2 读取元数据 229

5.6 操作无缝图层 230

5.6.1 创建无缝图层 230

5.6.2 访问无缝图层中的基表 236

5.7.1 导入表 239

5.7 导入与导出表 239

5.7.2 导出表 241

5.8 连接远程数据 243

5.8.1 获取可使用的数据源 243

5.8.2 连接和断开数据服务器 244

5.8.3 执行SQL命令 245

第6章 文件的操作 246

6.1 文件输入/输出基本概念 246

6.2 打开、关闭和复制文件 247

6.2.1 打开文件 247

6.2.3 复制文件 248

6.2.2 关闭文件 248

6.3 顺序文件的读写 249

6.3.1 读顺序文件 249

6.3.2 写顺序文件 251

6.4 随机文件和二进制文件的读写 253

6.4.1 读随机文件和二进制文件 253

6.4.2 写随机文件和二进制文件 254

6.5.4 文件属性 255

6.5.3 当前文件指针的位置 255

6.5.2 文件长度 255

6.5.1 是否到达文件结尾 255

6.5 判断文件的状态 255

6.5.5 文件是否存在 256

第7章 选择和查询 257

7.1 从表中选择数据 257

7.1.1 Select子句 258

7.1.2 From子句 262

7.1.3 Where子句 263

7.1.5 Group By子句 264

7.1.4 Into子句 264

7.1.6 Order By子句 265

7.1.7 用子选择进行选择 265

7.1.8 使用地图比较运算符 266

7.1.9 选择性能 267

7.1.10 查询选择表 267

7.2 通过地址查询地图对象 269

7.2.1 初始化地址查询 269

7.2.2 执行地址查询并获取查询结果 270

7.3.2 矩形查询 275

7.3.1 点查询 275

7.3 通过位置查询地图对象 275

7.3.3 查询结果 276

第8章 集成地图 280

8.1 集成地图开发概述 280

8.1.1 集成地图开发实现技术 280

8.1.2 在Visual Baisc中集成地图 281

8.1.3 在C++Builder中集成地图 282

8.2.1 启动MapInfo 284

8.2 集成地图开发过程 284

8.2.2 向MapInfo发送命令 285

8.2.3 从MapInfo中查询数据 285

8.2.4 重父化MapInfo窗口 286

8.2.5 重父化图例窗口和其他特殊窗口 287

8.2.6 提供改变地图窗口大小的功能 290

8.2.7 集成MapInfo工具按钮 292

8.2.8 自定义MapInfo快捷菜单 296

8.2.9 打印集成窗口 296

8.2.11 终止MapInfo 297

8.2.12 在线帮助 297

8.2.10 检测运行错误 297

8.3 使用回调从MapInfo中获取信息 299

8.3.1 使用OLE回调的步骤 299

8.3.2 处理回调数据 300

8.3.3 回调的其他方法 302

8.4 OLE自动化对象模型 305

8.4.1 Application对象 305

8.4.2 MBApplication集合 306

8.4.3 MBGlobals集合 307

8.5 使用Visual C++和MFC集成地图 309

8.5.1 准备工作 310

8.5.2 初始化 311

8.5.3 在视图中加入地图 311

8.5.4 加入工具按钮和处理句柄 313

8.5.5 增加工具栏按钮 314

8.5.6 使用异常处理捕获MapInfo错误 316

8.5.7 支持回调 317

8.6 运行外部应用程序 320

8.7 使用DDE集成其他应用程序 321

8.7.1 创建DDE对话 321

8.7.3 通过DDE传值 322

8.7.2 发送DDE命令 322

8.7.4 通过DDE获取值 323

8.7.5 关闭DDE对话 323

8.7.6 响应请求 327

第2部分 使用IDL开发GIS 329

第9章 IDL概述 329

9.1 IDL主要功能 329

9.2 IDL集成开发环境 330

9.3.1 IDL程序的种类 331

9.3 IDL应用程序基础 331

9.3.2 过程和函数 332

9.4 IDL程序开发过程 333

9.4.1 编写程序代码 334

9.4.2 编译并运行程序 335

第10章 IDL的图形图像处理 336

10.1 读写数据 336

10.1.1 导入文本文件数据 336

10.1.2 读写二进制数据 338

10.1.3 保存模板 340

10.2 二维坐标图的绘制 341

10.1.4 读写图像文件 341

10.3 信号处理 343

10.3.1 创建测试数据集 344

10.3.2 信号的平滑处理 345

10.3.3 频率域滤波 345

10.4 图像增强处理 348

10.4.1 读入和显示图像 349

10.4.2 对比增强处理 350

10.4.3 平滑图像 351

10.4.4 锐化图像 352

10.5 格网表面和等高线的绘制 354

10.5.1 显示格网表面 354

10.5.2 绘制阴影表面 356

10.5.3 绘制等高线 357

10.5.4 使用SHOW3绘图 359

10.6 绘制地图 360

10.6.1 绘制全球地图 361

10.6.2 绘制正射投影 362

10.6.3 绘制部分世界地图 363

10.6.4 标注地图 364

10.6.5 在地图上绘制等高线 365

10.6.6 在地图中加入图像 366

10.7 处理不规则格网数据 369

10.7.1 TRIANGULATE过程 370

10.7.2 使用TRIGRID绘制结果 371

10.8 动态显示 372

10.8.1 动态显示一系列图像 373

10.8.2 以格网形式动态显示 374

10.8.3 使用XINTERANIMATE动态显示 376

11.1.1 使用GUIBuilder的步骤 378

11.1.2 启动GUIBuilder工具 378

11.1 概述 378

第11章 开发图形界面 378

11.2 创建应用程序实例 379

11.2.1 为窗体创建菜单 380

11.2.2 创建绘图控件 380

11.2.3 用测试模式运行应用程序 381

11.2.4 生成IDL代码 381

11.2.5 处理事件 381

11.2.6 编译并运行程序 384

11.3.1 创建自定义控件 385

11.3 创建并使用自定义控件 385

11.3.2 使用自定义控件 389

第12章 面向对象的图形图像处理 391

12.1 面向对象的图形图像概述 391

12.1.1 直接图形图像和面向对象的图形图像的区别 391

12.1.2 如何使用面向对象的图形图像 392

12.1.3 图形图像类库的组成 395

12.2 图形处理 396

12.2.1 等高线对象 396

12.2.2 多边形对象 397

12.2.3 折线对象 399

12.2.4 坐标图对象 401

12.2.5 图例对象 403

12.3 表面处理 404

12.3.1 表面对象 404

12.3.2 光照对象 405

12.4 图像处理 407

12.4.1 图像对象 407

12.4.2 颜色条对象 409