mapinfo全部教程.ppt
第1章 地理信息系统概论,1.1 信息与信息系统 1.1.1 信息与数据 1.1.2 信息系统 1.2 地理信息与地理 信息系统 1.2.1 地理信息 1.2.2 地理信息系统1.3 地理信息系统的 类型与特点1.4 地理信息系统的组成,1.4.1 系统硬件 1.4.2 系统软件 1.4.3 空间数据1.5 地理信息系统的功能1.6 地理信息系统与其他 学科的关系1.7 地理信息系统的发展历史1.8 地理信息系统的应用1.9 地理信息系统的发展趋势1.10 习题1,1.1 信息与信息系统,信息是近代科学的一个专门术语。信息系统能为企业、部门或组织的决策过程提供有用的信息。1.1.1 信息与数据 信息是用文字、数字、符号、语言、图像等介质来表示事件、事物、现象等的内容、数量或特征,从而向人们(或系统)提供关于现实世界新的事实和知识,作为生产、建设、经营、管理、分析和决策的依据,它不随载体的物理设备形式的改变而改变。信息来源于数据,是数据的表现形式。数据是一种未经加工的原始资料。数字、文字、符号、图像都是数据。数据是客观对象的表示,而信息则是数据内涵的意义,是数据的内容和解释。,信息具有以下一些基本属性:事实性 等级性 可压缩性 扩散性 传输性 分享性或共享性 增殖性 转换性,1.1.2 信息系统 信息系统是具有采集、管理、分析和表达数据能力的系统。在计算机时代信息系统都部分或全部由计算机系统支持,并由计算机硬件、软件、数据和用户四大要素组成、另外,智能化的信息系统还包括知识。根据系统所执行的任务,信息系统可分为事务处理系统(TPS),管理信息系统(MIS),决策支持系统(DSS)和人工智能和专家系统(ES)。,1.2 地理信息与地理信息系统,凡是与空间位置有关的信息都属于地理信息,在现实生活中所存在的信息有80%是与空间位置有关系的。1.2.1 地理信息 地理信息是指表征地理系统诸要素的数量、质量、分布特征、相互联系和变化规律的数字、文字、图像和图形等的总称。地理信息属于空间信息,其位置的识别是与数据联系在一起的,这是地理信息区别于其他类型信息的最显著的标志。地理信息具有区域性、多维结构特性和动态变化的特性。,1.2.2 地理信息系统 地理信息系统(Geographic Information System,简称GIS)有时又称为“地学信息系统”或“资源与环境信息系统”。它是以采集、存储、管理、描述、分析地球表面及空间和地理分布有关的数据的信息系统。它是以地理空间数据库为基础,在计算机硬、软件环境的支持下,对空间相关数据进行采集、管理、操作、分析、模拟和显示,并采用地理模型分析方法,适时提供多种空间和动态的地理信息,为地理研究、综合评价、管理、定量分析和决策服务而建立起来的一类计算机应用系统。,1.3 地理信息系统的类型与特点,1.3.1 地理信息系统的类型 地理信息系统按其内容可以分为三类:专题地理信息系统(Thematic GIS)区域信息系统(Regional GIS)地理信息系统工具或地理信息系统外壳(GIS Tools),1.3.2 地理信息系统的特征 地理信息系统具有以下三个方面的特征:具有采集、管理、分析和输出多种地理信息的能力,具有空间性和动态性。由计算机系统支持进行空间地理数据管理,并由计算机程序模拟常规的或专门的地理分析方法,作用于空间数据,产生有用信息,完成人类难以完成的任务。计算机系统的支持是地理信息系统的重要特征,因而使得地理信息系统能以快速、精确、综合地对复杂的地理系统进行空间定位和过程动态分析。,1.4 地理信息系统的组成,1.4.1 系统硬件 构成计算机硬件系统的基本组件包括输入/输出设备、中央处理单元、存储器(包括主存储器、辅助存储器硬件)等,这些硬件组件协同工作,向计算机系统提供必要的信息,使其完成任务;保存数据以备现在或将来使用;将处理得到的结果或信息提供给用户。图1-2表示了常见的实现输入输出功能的计算机外部设备。,1.4.2 系统软件 GIS软件是系统的核心,用于执行GIS功能的各种操作,包括数据输入、处理、数据库管理、空间分析和图形用户界面等。按照其功能分为:GIS专业软件,数据库软件和系统管理软件等(如图1-3所示)。1.GIS专业软件 2.数据库软件 3.系统管理软件,1.4.3 空间数据 根据地理实体的空间图形表示形式,它们的数据表达可以采用矢量和栅格两种组织形式,分别称为矢量数据结构和栅格数据结构。地理信息系统中的数据包括两大类型:1.空间数据 用来确定图形和制图特征的位置,这是以地球表面空间位置为参照的。2.非空间的属性数据 用来反映与几何位置无关的属性,即通常所说的非几何属性,它是与地理实体相联系的地理变量或地理意义,一般是经过抽象的概念,通过分类、命名、量算、统计等方法得到。,1.4.4 系统管理和操作人员 人是GIS中的重要构成因素,GIS不同于一幅地图,而是一个动态的地理模型。仅有系统软硬件和数据还不能构成完整的地理信息系统,需要人进行系统组织、管理、维护和数据更新、系统扩充完善、应用程序开发,并灵活采用地理分析模型提取多种信息,为研究和决策服务。一个周密规划的地理信息系统项目应包括负责系统设计和执行的项目经理、信息管理的技术人员、系统用户化的应用工程师以及最终运行系统的用户。,1.5 地理信息系统的功能,由计算机技术和空间数据相结合而产生的GIS这一高新技术,它包含了处理地理信息的各种高级功能,但是它的基本功能是数据的采集、管理、处理、分析和输出。1.数据采集与编辑 2.数据存储与管理 3.数据处理与变换 4.空间查询与分析 5.数据显示与输出,1.6 地理信息系统与其他学科的关系,许多不同的学科,包括地理学、地图制图学、测量学、数学、统计学、计算机科学以及一切与处理和分析空间数据有关的学科与技术。GIS的相关学科技术如图1-4所示。,1.7 地理信息系统的发展历史,纵观GIS发展,可将地理信息系统发展分为以下几个阶段:1.20世纪60年代地理信息系统的开拓期 2.20世纪70年代地理信息系统的巩固发展期 3.20世纪80年代地理信息系统技术大发展时期 4.20世纪90年代地理信息系统的应用普及时代,1.8 地理信息系统的应用,随着信息技术的发展和GIS理论、技术方法的进步,GIS的应用早已渗透到人类生活的许多方面。到目前为此,GIS在如下几个方面得到了普遍的应用,取得了明显的经济效益和社会效益。专题地图制图 矿产资源评价 环境评价与监测 土地、水资源调查与管理,资源开采 管网、交通模拟模型 导航系统 城市规划 教练与模拟 辅助决策,1.9 地理信息系统的发展趋势,GIS发展趋势,网络GISWeb GIS,开放式GISOpen GIS,组件式GISCom GIS,虚拟GISVGIS,多媒体GISMGIS,三维GIS3D GIS,时态GISTGIS,无线通讯与GIS,1.10 习题1,1.信息与数据有哪些异同点?信息有哪些基本属性?2.什么是地理信息系统?与其他信息系统的主要区别是什么?3.地理信息系统由哪几个部分组成?4.地理信息系统有哪些基本功能?5.目前地理信息系统可以应用在哪些领域?6.简述地理信息系统的发展及其发展趋势。,第2章 MapInfo初步,2.1 MapInfo介绍 2.1.1 MapInfo的功能 2.1.2 MapInfo的特点 2.1.3 MapInfo的数据组织 2.1.4 MapInfo的运行环境 2.1.5 MapInfo的开发模式 2.1.6 MapInfo的产品优势 2.2 MapInfo的安装与启动 2.2.1 MapInfo的安装 2.2.2 MapInfo的启动,2.3 帮助和站点信息 2.3.1 如何使用MapInfo的帮助 2.3.2 按关键字搜索 2.3.3 从帮助目录屏幕中选择主题 2.3.4 如何使用MapInfo地图帮助 2.3.5 站点信息 2.4 习题2,2.1 MapInfo介绍,MapInfo Professional是一套强大的基于Windows平台的地理信息系统软件。使用MapInfo Professional,商业分析专家和GIS专家可以方便的将数据和地理信息的关系直观的展现。MapInfo Professional 6.5版为新老用户提供了在数据维护、可视化、数据展现、输出和可用性方面的增强。MapInfo公司将MapInfo的市场定位总结为一个等式:MapInfo=Mapping+Information,2.1.1 MapInfo的功能,1.MapInfo的基本功能 测量分析 缓冲区分析 地图代数 多边形操作 数字高程模型(DEM)分析 其它功能,2.MapInfo的特色功能,(7)连接GPS(8)主题图及其样板(9)数据格式转换(10)连接数据库(11)SQL查询语言,(1)属性数据(2)因特网(3)统计图表(4)图层套迭(5)拖曳功能(6)影像功能,2.1.2 MapInfo的特点,多平台运作环境,支援桌面系统、内联网及互联网。全面支援Java技术。拥有多种信息可视化模式及多变化的图形设定。快速数据查询,高速屏幕刷新,使得用户界面具有良好的图形显示效果。数据可视化和数据分析能力较强,可以直接访问多种数据库的数据,如Oracle、Microsoft Access、Informix、SQL Server、dBase等。,易于与其他应用软件集成,能够根据数据的地理属性分析信息的应用开发工具,是功能强大的地图数据组织和显示软件包。具备功能完整及高效率的二次开发工具,同时支持16/32位的应用开发,适用于多种计算机操作系统,如Windows 9x/NT/2000/XP,OS/2等。完善的图形无缝连接技术。全面支援CRM(客户关系管理)及LBS(无线定位服务)技术。国内外有大量成功案例可作参考。,2.1.3 MapInfo的数据组织,1.属性数据的表结构文件(.tab)2.属性数据文件(.dat)3.交叉索引文件(.id)4.空间数据文件(.map),2.1.4 MapInfo的运行环境,表2-1 MapInfo的软硬件要求,2.1.5 MapInfo的开发模式,1.以MapInfo作为独立开发平台,利用 MapBasic所进行的二次开发模式 2.将MapInfo作为OLE对象的开发模式 3.利用基于ActiveX的MapX控件所进行的开发模式,2.1.6 MapInfo的产品优势,1.完善丰富的产品线 2.稳定的产品性能 3.广泛的业界支持 4.广大的用户群体 5.良好的易用性,产品贴近用户 6.与其他技术的良好融合 7.良好的可持续发展 8.极高的新技术敏感度 9.良好的本地化技术支持 10.极高的性价比,2.2 MapInfo的安装与启动,2.2.1 MapInfo的安装 MapInfo的安装过程如下所示:,图2-1“正在准备安装”对话框,图2-2“安装向导”对话框,图2-3“警告信息”对话框,图2-4“许可证协议”对话框,图2-5“用户信息”对话框,图2-6“安装类型”对话框,图2-7“自定义安装”对话框,图2-8“安装方式选择”对话框,图2-9“许可信息”对话框,图2-10“工具管理器”对话框,2.2.2 MapInfo的启动,1.菜单方式“开始”“程序”“MapInfo”“MapInfo Professional 7.0”2.图标方式 在Windows桌面或任务栏上创建MapInfo快速启动图标,通过单击或双击图标来启动。创建图标可通过Windows操作来完成。,3.命令方式 单击“开始”“运行”,打开运行对话框。在对话框里键入MapInfo主程序文件的路径和名称如“C:program filesMapInfo Professionalmapinfow.exe”,单击“确定”。,图2-11“快速启动”对话框,图2-12“MapInfo Professional”界面窗口,2.3 帮助和站点信息,单击“目录”标签来浏览主题目录。单击“索引”标签来查看索引项的列表:键入要找的词,或者滚动列表寻找。单击“搜索”标签来搜索可能包含在帮助主题中的词或短语。,2.3.1 如何使用MapInfo的帮助,图2-13“MapInfo帮助”对话框,2.3.2 按关键字搜索,单击“帮助”“MapInfo帮助主题”“搜索”选择“安装向导”按钮。在对话框最顶部的编辑框中键入要搜索的主题或单字。开始键入时,最匹配键入文本的单字被显示。单击“显示主题”按钮。单击要查看的主题。阅读该主题的信息。注意:在菜单条上单击“后退”按钮将返回前一个帮助屏幕。,2.3.3 从帮助目录中选择主题,选择“帮助”“MapInfo帮助主题”命令。选择所需的帮助主题。,2.3.4 如何使用MapInfo地图帮助,单击“内容”标签,按分类浏览各主题。若用户的帮助文件没有“内容”标签,单击“内容”按钮显示专题列表。,2.3.5 站点信息,图2-14 MapInfo公司主页,2.4 习题2,一、思考题 1.MapInfo具有哪些功能和特点?2.如何使用MapInfo的帮助信息?3.MapInfo的数据是如何组织的?4.利用MapInfo进行开发主要有哪几种模式?5.MapInfo的启动方式有几种方式?二、上机练习 1.根据课本安装步骤,安装MapInfo软件。2.掌握工作空间的使用方法。3.使用MapInfo的帮助菜单,掌握利用关键字 检索的方法。4.浏览MapInfo的站点,试说出其主要内容。,第3章 表的操作,3.1 表的基本概念 3.2 新建表 3.2.1 创建表的方法 3.2.2 打开表 3.2.3 表维护 3.2.4 保存表 3.2.5 关闭表 3.3 栅格图像 3.3.1 栅格图的格式 3.3.2 栅格图的用途,3.3.3 栅格图的处理 3.4 栅格图像的配准 3.4.1 栅格图像配准的步骤 3.4.2 格网地图的配准 3.5 图层 3.5.1 图层控制 3.5.2 无缝地图图层 3.5.3 图层显示 3.5.4 装饰图层 3.6 习题3,3.1 表的基本概念,MapInfo以表(Table)的形式组织信息。每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件。为使用MapInfo,就需要有组成表的用户数据和地图文件。这些文件可以来自MapInfo或者由用户创建。用户要想在MapInfo中工作,就必须打开一个或多个表。MapInfo通过表的形式将数据与地图有机地结合在一起。一个典型的MapInfo表将主要由*.tab、*.dat、*.wks、*.dbf、*.xls、*.map、*.id、*.ind文件格式组成。,3.2 新建表,3.2.1 创建表的方法 1.创建新表的步骤,图3-1“新建表”对话框,图3-2“新表结构”对话框,图3-3“创建新表”对话框,2.表的字段,“名字”可以使用字母、数字和下划线。不能使用空格,而用下划线字符(“_”)在字段名中区分单词。为易读起见,可以使用大小写,但MapInfo对大小写不敏感。,“类型”字符型 十进制 短整型 浮点型 日期型 逻辑型,“宽度”输入字段的字符数(只针对字符型和十进制字段)。对于字符型字段,最大字段宽度是250,对于十进制字段为19。,3.修改字段,“上”“下”按 钮 可以在列表框中将选中字段向上或向下移动一个位置,文件结构也相应地重组。,“增加字段”按钮 可以在列表框的底部增加一个字段。该字段缺省名字为“字段1”、“字段2”、“字段3”等等,取决于该字段的创建顺序。,“删除字段”按钮 可以从表中删除选中字段。,4.修改投影,图3-4“选择投影”对话框,5.创建索引,l使用“查询”“查找”,它只对建过索引的字段起作用。l加速包含数字和字母比较的查询。l加速连接。,6.表的地图化,当选中“表可地图化”按钮选项时,MapInfo修改表以使用户可地图化该表并创建图形对象。若不选中该选项,可以稍后通过“表”“维护”“表结构”来使表可地图化。“修改表结构”对话框与“新建表结构”对话框相同。选中关联图形对象到记录框,MapInfo修改该表使之可地图化。注意:要使用“查询”“查找”,表必须建索引且可地图化。,3.2.2 打开表,图3-5“打开表”对话框,3.2.3 表维护,1.修改表结构,图3-6“修改表结构”对话框,2.重命名表 3.紧缩表 4.更新列,图3-7“重命名表”对话框,图3-8“紧缩表”对话框,图3-9“更新列”对话框,3.2.4 保存表,1.把表的副本另存为新表 2.以不同投影保存表的副本 3.保存对表的修改 4.保存为MapInfo文件格式或dbf文件格式,3.2.5 关闭表,1.关闭表 2.关闭所有打开的表 3.关闭多个表,3.3 栅格图像,1.MrSID 2.bmpWindows位图 3.gif图形交换格式 4.jpeg联合摄影专家组 5.pcxZsoft Paintbrush6.spotSatellite Pour,7.tgaTruevision TGA 8.tiff合并图像文件格式 9.ping简便网络图形格式 10.PSDPhotoshop图形格式 11.wmfWindows元文件,3.3.1 栅格图的格式,3.3.2 栅格图的用途,用作普通地图的蓝本。用作MapInfo地图的背景。作为一幅单独的图像。地图编辑。,3.3.3 栅格图的处理,1.栅格图像的预处理(1)确定纸张地图的比例(2)确定纸张地图的内容 2.确定栅格图像的坐标体系 3.栅格图像的显示,3.4 栅格图像的配准,图3-10“图像配准询问”对话框,图3-11“图像配准”对话框,图3-12“增加控制点”对话框,3.5 图层,图3-14“图层控制”对话框,1.图层显示属性 2.可编辑属性 3.可选择属性 4.自动标注 5.显示属性 6.标注属性 7.“专题”按钮 8.“热链接”按钮 9.图层 10.“图层顺序”,3.5.1 图层控制,3.5.2 无缝地图图层,1.无缝图层的概念 特征:(1)图层控制(2)信息工具(3)选择工具(4)浏览表 2.打开和关闭无缝地图图层,3.5.3 图层显示,1.显示整幅地图或地图图层 选择“地图”“查看整个图层”命令,“查看整个图层”对话框出现。单击“查看所有图层”下拉式列表以显示图层列表。选择所有图层选项以显示整个地图,或选择一个特定图层。,2.为地图图层设定显示属性 选择“地图”“图层控制”,“图层控制”对话框出现。选择图层。单击“图层控制”对话框一边的“显示”按钮。“显示选项”对话框出现。选择“样式替换”复选框以替换图层的缺省样式。单击适当的样式按钮以改变显示。选择“在缩放范围内显示”,实现缩放图层。指定缩放比例的最小值和最大值。选中“显示线段方向”以显示线对象的方向。如果计划编辑图层内的对象且需要看到该对象节点时,选中“显示节点”复选框。选中“显示中心”复选框以显示对象的中心,单击“确定”。,3.5.4 装饰图层,装饰图层是地图窗口中的最上层图层,在其中MapInfo自动放入与标注有关的信息,其它的比如地图标题以及图形对象等也可以放到装饰图层中。装饰图层总是被显示,且所有放于装饰图层的对象必须被存到一个新的或已存在的图层中才能保存下来。装饰图层是一个空的图层,其中用户可以绘制或输入不想放在其它图层中的对象或文本,可以使用装饰图层创建及保存标注、地图标题或图形对象。,绘图工具,1.直线工具 2.椭圆工具 3.弧线工具 4.矩形工具 5.对象的样式 6.清除装饰图层的方法 7.保存装饰图层的方法,3.6 习题3,一、思考题 1.MapInfo的表具有什么特点?2.栅格图的数据格式有哪些?3.栅格图像配准的目的是什么?选择控制点有什么要求?4.如何理解图层的概念?地图分层有什么好处?5.什么是装饰图层?在MapInfo中起什么作用?二、上机练习 1.创建一张表,并对一些字段建立索引。2.修改所创建的表的结构。注意修改后的变化。3.对一张栅格图进行配准和矢量化,掌握配准的方法及使用绘图工具绘制点、线、面的方法。4.对矢量化的地图进行分层。注意分层的策略。,第4章 空间数据建库,4.1 空间数据获取 4.1.1 数字化地图转换 4.1.2 装入栅格图像 4.1.3 工具条 4.2 属性数据输入 4.3 地图标注,4.3.1 自动标注 4.3.2 标注工具 4.3.3 标注样式 4.3.4 用表达式标注 4.3.5 标注选项4.4 习题4,4.1 空间数据获取,4.1.1 数字化地图转换 1.数据准备 2.数据转入,图4-1“工具”的“通用转换器”菜单,图4-2“目标文件路径”对话框,图4-3“文件转换器”对话框,图4-4“转换”对话框,图4-5“转换成功”对话框,3.查看转换后的数据,图4-6 查看表对话框,图4-7“通用转换器”对话框,4.1.2 装入栅格图像,在进行地图矢量化之前必须先装入经过扫描仪所获取的栅格图像,通过文件菜单下的打开表或工具栏上的打开表按钮打开“打开表”对话框,如图4-8所示。,图4-8“打开表”对话框,4.1.3 工具条,可以通过“工具”菜单下的“工具管理器”命令打开“工具管理器”对话框,如图4-9所示。,图4-9“工具管理器”对话框,1.常用工具条 2.主工具条,图4-10 主工具条,主工具条按钮介绍,(1)选择按钮(2)矩形选择按钮(3)多边形选择按钮(4)半径选择按钮(5)边界选择按钮(6)反选按钮(7)放大按钮(8)缩小按钮(9)改变视图按钮,(10)漫游器按钮(11)信息按钮(12)标注按钮(13)拖动地图窗口按钮(14)图层控制按钮(15)标尺按钮(16)显示/隐藏图例按钮(17)显示/隐藏统计窗口 按钮,3.绘图工具条,(1)符号按钮(2)直线按钮(3)折线按钮(4)圆弧按钮(5)多边形按钮(6)椭圆按钮(7)矩形按钮,(8)圆角矩形按钮(9)文本按钮(10)符号样式按钮(11)线样式按钮(12)区域样式按钮(13)文本样式按钮,图4-13 绘图工具条,图4-14“符号样式”对话框,图4-15“线样式”对话框,图4-16“区域样式”对话框,图4-17“文本样式”对话框,图4-18 矢量化的道路层,4-19 矢量化的建筑层,图4-20 矢量化的绿化带,图4-21 矢量化校园图,区与区相交或包蕴,图4-22 大区域包含小区域,图4-23 给三个区域设置目标后的情形,图4-24“数据分解”对话框,图4-25 小区域被分割出来,图4-26 绘制的两个区,图4-27 选中1区掺和2区的情形,图4-28 两个区分为3个区的情形,图4-30 最终选中1区的结果,4.2 属性数据输入,属性输入是地理信息系统建立数据库的基础,所以在地图矢量化之后必须对其进行属性的输入。,图4-31“信息工具”对话框,图4-32“道路浏览器”对话框,图4-33“建筑浏览器”对话框,4.3 地图标注,MapInfo中的标注提供了方便的填图功能,用户可以在图中填上数字、地名、说明等内容。标注是指在有对象的图层中,利用与之关联的表中提取数据(或文本),按指定的位置和方式,显示在对象旁。利用MapInfo的标注功能可以对点对象、线对象、区对象标注名称。,4.3.1 自动标注,1.改变区域中心2.使自动标注失效3.绘制自动标注4.移动自动标注、图表和点,图4-34“标注显示选项”对话框,4.3.2 标注工具,1.移动手工创建的标注 用选择工具选中标注,按下鼠标键不放。将光标拖动到新位置,松开鼠标。2.删除标注 删除所有自定义标注:选择“地图”“清除自定义标注”。删除一个或几个标注 3.使用标注工具 单击主工具条中的标注按钮。用标注工具单击一个对象,出现标注。,4.3.3 标注样式,1.改变标注样式 用选择工具单击该标注。在标注四角各显示出一个带有阴影的矩形。双击被突出显示的标注,“标注样式”对话框出现。使用“标注样式”对话框中的选项改变标注的样式和文本。2.编辑标注 编辑单个标注 改变标注文本 3.标注位置 对区域,缺省放在中心。对线,缺省放在下中。对点,缺省放在右边。4.标注大小,4.3.4 用表达式标注,1.创建地图标注表达式的示例2.用表达式创建标注,图4-36“表达式”标注选项对话框,图4-37 政区标注图,图4-38 用表达式标注的效果,4.3.5标注选项,1.生成标注引注 2.保存标注 3.设定标注选项,4.4 习题4,一、思考题 1.空间数据获取有哪些形式?2.地图标注有哪些形式?3.如何正确理解区域包蕴情形。二、上机练习 1.将一幅Auto CAD的“dwg”格式的地图转为MapInfo的表。2.上机练习每个工具条的用法。3.完成指定图形的矢量化。4.将已矢量化的图形建库。5.标注矢量化的图形。6.自行设计区域包蕴的情形,然后解决此问题。,第5章 空间数据查询,5.1 对象查询 5.1.1 对象 5.1.2 对象查询 5.2 SQL查询 5.2.1 通过“选择”来查询 5.2.2 通过“选择SQL”查询 5.2.3“SQL选择”的操作示例,5.2.4 SQL选择 5.2.5“选择列”字段 5.2.6“条件”字段 5.2.7“按列排序”字段 5.2.8“按列分组”字段 5.2.9 聚合函数 5.3 习题5,5.1 对象查询,5.1.1 对象 1.点对象:点是有特定的位置,维数为零的物体。2.线对象:是GIS中非常常用的维度为一的空间组分,表示对象和它们边界的空间属性,由一系列坐标表示。3.多边形对象:面状实体也称为多边形,是对湖泊、岛屿、地块等一类现象的描述。通常在数据库中由一封闭曲线加内点来表示。,5.1.2 对象查询,图5-1 选择好记录的窗口,图5-2“浏览表”对话框,图5-3 查询结果浏览窗口,5.2 SQL查询,SQL(Structure Query Language)是结构化查询语言,是一套强大的查询系统。语言简单、指令简洁、操作简单、功能强大,被广泛运用在相互关联的数据库中,并能完成十分复杂的查询和选择。,5.2.1 通过“选择”来查询,图5-4“查询”菜单,图5-5“选择”对话框,1.从表中选择记录 2.满足条件 3.存结果于表 4.结果排序按列 5.浏览结果 6.保存模板 7.载入模板,图5-6“表达式”对话框,5.2.2 通过“选择SQL”查询,1.选择列 2.从表 3.条件4.按列分组5.按列排序,6.结果放入表7.浏览结果8.使用下拉列表9.保存模板10.载入模板,图5-7“SQL选择”对话框,5.2.3“SQL选择”的操作示例,例如:查询并显示出人口大于3000万的省份,图5-9 满足条件的浏览窗口,图5-10 人口3000万的省份单独显示,图5-11 不排序 图5-12 升序 图5-13 降序,5.2.4 SQL选择,打开希望查询的表(倘若尚未打开的话)。选择“查询”“SQL选择”。打开一个地图窗口或一个浏览窗口(若用户想看到查询结果)。MapInfo自动选中结果表中所有行。若希望对查询表做一个永久拷贝,选择“文件”“另存为”。,5.2.5“选择列”字段,1.计算派生列“SQL选择”可以计算派生列并将其保存在结果表中。【例5-1】显示一个进行加法运算的派生列表达式,它将两个数值型列相加。例中假设Purchase92和Purchase93都是数值型字段。选择列:Purchase 92 Purchase 93,2.选择显示在结果表中的列 结果表中只包括在“选择列”域中输入的一个或多个列。这一点在表中有许多列,而只希望使用其中少数列(可能是因为在屏幕上一次只能显示其中少数列)时很有用。输入一系列列名:在“从表”域中输入表名(若还未输入的话)。可以直接输入表名或是在“表”下拉式列表中选择表名。单击“选择列”域,该域中出现插入符。如果该域中有星号,先用Backspace键或Delete键将其删除。“选择列”域中可以含有一个星号或者一系列列名。在对话框右侧的“列”下拉列表中选择一个列名。MapInfo将该列名复制到“选择列”域中。如果希望查询中包含多个列,可以在“列”下拉式列表中选择其它列名。在选择其它列名时,MapInfo自动插入逗号以分隔列名。,3.使用“SQL选择”对话框的“选择列”字段 使用“选择列”域来指定查询结果表中应该出现哪些列。若想结果表中含有与原始表相同的列集,在“选择列”域中输入一个星号(*)。若想结果表中含有的列集与原始表不同,删除星号,并输入用逗号分隔的一系列列名或表达式,如下所述。“选择列”域可包含星号或一系列列表达式,但二者不可得兼。在填写“选择域”之前,请先填好“从表”域。若查询涉及多个表,每个列名前必须加上表名,用句点分开表名和列名。这样,若你执行涉及两个表的查询,其中一个是“Canada”表,用户希望查询包括“Canada”表的“Population”列,则必须使用列表达式Canada.Population。无论何时使用两个或多个表,“列”下拉式列表会自动将表名插入到列名前。,5.2.6“条件”字段,1.按行序连接表 若两个表没有公共列,还可以按照记录的顺序进行表连接。若知道一个表的第一条记录对应于另一个表的第一条记录,或更一般地说,一个表的第N条记录对应于另一个表的第N条记录,就可以通过引用一个特殊的名为RowID的列将两个表连接。RowID列含有代表着表中每个记录的行号的整数。因此,任何表的第一条记录的RowID值为1,第二条记录的RowID值为2,依此类推。要连接两个表使得MapInfo匹配两个表的第N条记录,指定一个如下形式的“条件”表达式。条件:TABLE_1.RowID=TABLE_2.RowID,2.按地理关系连接表 若两个表有图形对象,MapInfo能根据那些对象之间的空间关系来连接表。,图5-10 对象包蕴关系,3.连接两个或多个表 MapInfo能利用该公共字段将两表连接。,表5-1 Counties表,表5-2 Orders表,方法:选择列:*从表:Counties,Orders 条件:Counties.CountyName=Orders.County,表5-1 Counties表,表5-2 Orders表,4.执行子选择 MapInfo允许SQL选择中有子选择。子选择是被放在“SQL选择”对话框中的“条件”域内的选择语句。【例5-9】选择states中超过4,000,000人的所有城市。选择列*从表cities 条件obj within any(select obj from states where Pop_1990 4000000),5.设置过滤规则 过滤条件是常用于比较列值与其它值的逻辑表达式。例如,下面的过滤条件使用大于运算符()来检查Order_Amount列的值是否大于100。“条件”:Order_Amount 100 如果查询包括上述“条件”子句,MapInfo只选择Order_Amount值大于100的行。如果表达式被词and或or隔开,“条件”子域可包含两个或多个逻辑表达式。如果表达式被词and连接,MapInfo只选择满足全部两个条件的行。如果表达式被词or连接,MapInfo选择满足任一条件的所有行。,6.使用“SQL选择”对话框的“条件”字段“条件”域有好几个作用。某些情况下,用户可能要使用一个条件表达式来过滤表,以便只看到那些满足一定准则的行。在其它情况下,可使用条件域来指定关系连接,从而查询能包括二个或多个表中的列。注意:不能在“条件”域中使用聚合函数。,5.2.7“按列排序”字段,1.选择升序或降序排序 缺省情形下MapInfo按升序对表进行排序。要将字段按降序排以使大数字排在小数字前,可以在“按列排序”域中将desc放在列名字前。【例5-12】查询World表时,以下的Order By排序准则。按列排序:Population desc将该表按Population字段进行降序排序。选择列:*从表:City_1K 按列排序 State,Population desc,2.使用“按列排序”字段排序结果表 在“SQL选择”对话框中使用“按列排序”域,可将结果表的记录排序。排序影响在浏览窗口中记录从上而下出现的顺序。【例5-13】按照State列对City_1K表排序。结果表按州名排序;但是,在California组内各行中,城市并未排序,San Francisco出现在Anaheim之上。要改正这一问题,可以在“按列排序”域中输入两个列名:选择列:*从表:City_1K 按列排序:State,City,5.2.8“按列分组”字段,1.按列分组示例【例5-14】设想有一个顾客订单表。该表中每一行表示单个订单。表中一列包含订货销售代理的名字,另一列含有顾客名字,还有一列包含订货量。对每个销售代理,可找出:该代理的订单数目。该代理的平均订货量。该代理的总订货量。以下SQL选择查询产生所需结果:选择列 Sales_Rep,count(*),average(AMOUNT),sum(AMOUNT)从表 Orders 按列分组 Sales_Rep,2.使用“按列分组”字段分类汇总结果表【例5-15】若有一个顾客数据库,并按州名列分组,MapInfo会将所有得克萨斯州的顾客放入一组,所有加利福尼亚州的顾客放入另一组,等等。然后,MapInfo计算每一组的聚合信息(总计、平均等)。指定分类汇总标准:在“按列分组”域中,输入MapInfo用于计算分类汇总的列的列名或列号。例如,若要按州总计顾客表,可输入表示顾客所在州的列的列名(如StateName)。在“选择列”域中,输入同一列名(如StateName)。在“选择列”域中,输入一个或多个运算符(Sum、Count Avg、Min或Max)。请记住用逗号分隔开聚合运算符。,5.2.9 聚合函数,MapInfo提供以下聚合函数:Count(*):计算一组中记录总数。它简单地使用*作参数,因为它应用到整条记录,而非某个特定字段。Sum(表达式):计算一组中所有记录的表达式总计值。Avg(表达式):计算一组中所有记录的表达式平均值。Max(表达式):找出一组中所有记录的表达式最大值。Min(表达式):找出一组中所有记录的表达式最小值。,5.3 习题5,一、思考题1.对象有哪几种形式?并说明对象的特征。2.说明“选择”查询与“SQL”查询的区别是什么?3.使用“SQL”选择的过程步骤是什么?4.如何正确理解对象包蕴关系。二、上机练习1.上机进行对象的查询,并显示查询结果。2.上机分别练习“选择”查询与“SQL”查询这两种查询方法。3.上机完成本书中的“SQL”查询实例。,第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.3 网络分析 6.4 习题6,6.1 缓冲区分析,所谓缓冲区就是地理空间目标的一种影响范围或服务范围。图6-1为点对象、线对象、面对象及对象集合的缓冲区示例。,图6-1 点、线、多边形的缓冲区,6.1.1 创建缓冲区,打开所需地图表将其显示在地图窗口中。选择“地图”“图层控制”命令,“图层控制”对话框出现。选择要包含所创建缓冲区多边形的图层并使其可编辑。选择要为其中对象创建缓冲区的图层,使其可选择并单击“确定”。选择要为其创建缓冲区的对象。选择“对象”“缓冲区”命令,“缓冲区对象”对话框出现,如图6-2所示。,输入缓冲区半径,可以是分数值。从下拉式列表中选择缓冲区半径单位。输入缓冲区多边形的光滑度。选择是为所有选中对象创建一个缓冲区还是为每个选中对象创建一个缓冲区,单击“确定”按钮。可编辑图层中出现缓冲区多边形。,图6-2“缓冲区对象“对话框,6.1.2 关于缓冲区计算,MapInfo Professional可以针对对象的一个位置,通常是边框的中心,来计算本地十进制度宽度(自输入测量单位转化而来),因此,所测得的最初的输入对象的边界与新缓冲对象的边界的On Earth(球面)距离,可能会与节点到节点的距离有轻微的差别。对于小对