地理信息系统应用 空间数据查询 教学案例 - 中国人口数据查询.docxVIP

  • 41
  • 0
  • 约2.53千字
  • 约 4页
  • 2020-10-11 发布于北京
  • 举报

地理信息系统应用 空间数据查询 教学案例 - 中国人口数据查询.docx

测绘地理信息技术专业教学资源库 4 - 教学案例 中国人口数据查询 1.案例背景 空间数据的查询可以向人们提供与地理空间、时间空间相关的空间数据,或与其相关的属性数据。通过对空间数据查询基础知识的学习,在MapInfo平台下完成空间数据查询。 2.案例分析与实施 (1)地图目标图形信息查询 在MapInfo的地图环境中,双击要查询的地图对象,即可弹出相应的点、线、面目标信息框,分别显示点、线和面地图目标的各种信息,如图1、图2、图3。 图1 点目标信息框 图2 线目标信息框 图3 面目标信息框 (2)地图目标属性信息查询 1)单个目标的查询:单击主工具箱上的信息工具后,任意选择点击一个点、线或面对象,即可显示该对象的所有属性信息。 2)多目标的查询:利用选择工具选取多个地图目标,单击工具可打开浏览窗口,显示属性。 (3)利用属性查询地图目标 使用查找工具可利用属性查询、标示地图目标位置。找工具前,必须创建索引文件,如图4所示,标识在表结构的索引需要查询的字段就能创建该字段的索引。在China表中查找河南省,并把它标记出来的步骤如下: 图4 创建索引对话框 1)打开要选择的基础表China。 2)单击“查询”菜单下的“查找”,弹出查找对话框,如图5所示,点击确定,进入下一步。 图5 查找对话框 3)输入“河南省”,点击确定,即可看到在河南省区域上显示出了标注符号。 (4)SQL使用 SQL查询命令可以完成各种基于关系表的组织,分析,汇总等操作。同时还可具有许多空间分析的函数和操作。图6所示为SQL对话框。 图6 SQL对话框 1)选择列 ①利用这个区来指定在查询表中将输出的列。这个区能够输入一个列表达式列表或一个*号,其中默认输入的*号表示查询表中将输出的列与源表中完全一致。如果你查询涉及的不止一个表,各个列名之前必须有它的表名,二者之间用西文句号分隔。 ②利用这个区能计算某些列,即进行派生列查询,并导出列存放到结果表中。 根据基础表中已有的一个或多个列的内容计算出的一个特殊的临时列。为列表达式指定一个别名的方法是:在列表达式后打一个空格,然后再打入用双引号括起来的别名。例如,根据基础表中的男性人口数、女性人口数两个列,计算总人口数列的表达式: 男性人口数 + 女性人口数 “总人口” 2)条件 ①通过行的排列顺序联接不同的表 如果两个表没有一个共同的列,但知道第一个表的第n行与第二个表的第n行是对应的,就可以通过引用一个名叫RowID的特殊列来联接这两个表。表达式为: TABLE_1.RowID=TABLE_2.RowID ②通过地理位置联接不同的表 当两个表都有图形对象时,MapInfo能够根据这些对象之间的空间关系联接这两个表。所以,即使两个表没有一个共同的列,也有可能联接不同的表。 MapInfo有一个与地理操作符一起使用的特殊列名,“Obj”或“对象”。这个列名指的是与表相联系的图形对象。地理操作符要放到所指定的对象之间,地理操作符从操作符(Operators)下拉列表中选取。 对象 A Contains 对象 B (如果B的形心在A的边界内的某个位置上) 对象 A Contains Entire 对象 B (如果B的边界全部在A的边界内) 对象 A is Within 对象 B (如果A的形心在B的边界内侧) Objcte A is Entire Within 对象 B (如果A的边界全部在B的边界内) Objcte A Intersects 对象 B (如果它们至少有一个共同点或者它们中的一个完全在另一个内) 例如:通过一个县的行政区划图和一个县的乡镇政府、村委会所在地位置图,来找出乡镇内的全部乡镇政府、村委会,然后把代表一个乡镇政府、村委会的一个行与含有它的乡镇的行联系起来。 村委.obj Within 行政区.obj 行政区.obj Contains 村委.obj ③根据共同字段联接两个或更多的表 当资料贮存在几个不同的表中,SQL允许建立关联以便把这些不同表中的资料接到一起,成为一个单独的结果表。 例如:Counties表含有县名(Countyname),同样order表(订单表)的一个列(county)也含有订单来源的县名,这样,两个表都有一个共同的字段,即县名。MapInfo能够用这个共同的字段来联接这两个表。 选择列:* 从表:Counties,Order 条件:Counties.Countyname=Order.county ④再选择Subselects MapInfo允许SQL Select中的再次选择。再选择是放在SQL Select对话框Where Condition区内里面的一个选择语句。MapIn

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档