基于Google Earth的地理位置认知能力在线测试方法
2015-03-02王喜凤朱良峰
王喜凤, 朱良峰
(华东师范大学 地理信息科学教育部重点实验室,上海 200241)
基于Google Earth的地理位置认知能力在线测试方法
王喜凤, 朱良峰
(华东师范大学 地理信息科学教育部重点实验室,上海 200241)
地理位置认知能力,即在地图上定位和命名地点的能力,是地理素养评价的关键指标.现有的以二维纸质地图填图为基本工作方法的地理位置认知能力测试技术,虽然简单易行,但却存在形式呆板、效率低下、可复用性差等缺陷.以地理信息系统和数字地球系统为核心的地球空间信息技术,为地理位置认知能力的培养和测试工作提供了新的工作平台.本文研究了在Google Earth数字地球平台中进行地理位置认知能力测试的技术和方法,提出了基于Google Earth的地理位置认知能力在线测试框架.利用该框架不仅可以检验被测试者的地理位置知识,还可以起到培育和增强地理素养的作用.
地理位置认知能力; 地理素养; 在线测试; Google Earth; KML
0 引 言
地理素养是指特定主体理解、掌握和应用地理知识并对地理空间进行识别的能力,主要包括地理位置认知能力、地图阅读能力以及对特定区域自然环境、人文社会系统的理解等[1-4].虽然目前学术界对地理素养的内涵与外延有着不同的理解,但却普遍认为:地理位置认知能力,即在地图上定位和命名地点的能力,是地理素养的重要组成部分,也是进行地理研究的基础;虽然地理位置认知能力并不完全等同于地理素养,但地理位置认知水平可作为评价地理素养的关键指标,能在一定程度上代表一个人的地理素养水平[4].因此,培养和提升地理位置认知能力是提高个体地理素养的关键一步.
近十几年来,全球范围的地理位置认知能力下降已成为普遍现象[5,6].无论是在校学生,还是已踏入社会的成年人,地理位置认知水平普遍偏低.这种处于较低水平的地理位置认知能力显然不能适应全球化浪潮对当代社会形成的巨大挑战.近年来,教育界和学术界逐渐重视地理位置认知能力的培育工作[7],取得了一些有用的研究成果.特别是在地理位置认知能力测试方面,形成了以二维纸质地图填图为基本工作方法的地理位置认知能力测试技术,为推动地理位置认知能力的培育与提升发挥了巨大的作用.经过研究,我们发现:使用现有的纸质填图方法进行地理位置认知能力测试,仍然面临着很多问题.纸质填图方法一般基于无地名信息提示的地图,要求被测试者指出特定国家、地区或城市的位置,并在地图上标示出来,然后根据被测试者对一些代表性题目的答题情况,综合评定被测试者的地理位置认知能力.这种方法虽然简单易行,但各个调查机构使用的测试地图不尽相同,难以对测试结果进行横向比对.另外,在进行填图测试时,测试题目的数量和内容都是预先设定的,一般仅供进行一次测试使用,不能被重复使用,也无法起到在测试的同时提高被测试者地理素养的作用.
近20年来,“数字地球”科学概念的提出,以及地理信息系统(GIS)、全球卫星导航系统(GNSS)、遥感(RS)、国际互联网(Internet)、虚拟现实(VR)等应用技术的发展,为地理位置认知能力的培育和测试工作提供了新的机遇.特别是近10年来,数字地球技术飞速发展,涌现出了以Google Earth为代表的一系列技术成熟、功能强大的数字地球软件系统[8].这些数字地球系统,不仅可用于浏览、分析全球范围内的地理位置、地形地貌和遥感影像,还可作为支持以地理位置为基础的地学教育和科研工作的基础平台.近年来,学术界开展了利用Google Earth数字地球软件平台来提升地理素养的探索,如:Thomas-Brown创建了一个课余地理俱乐部,在一个比较轻松的环境中,利用Google Earth和Google Maps等工具探索与自身生活相关的地理环境,对地理位置认知能力的提升起到了一定的帮助[9].在Google Earth技术的支持下,Google公司开发了一个名为Geo Whiz的演示程序,用以测试用户的地理位置知识[10].在Geo Whiz的基础上,Lee和Guertin设计了一个名为Penn State’s Amazing Race的网站[11],用以培养并测试高校学生的地理位置认知能力.但无论是Geo Whiz,还是Penn State’s Amazing Race,都只能按照固定的顺序测试15个国家或城市位置,无法应用于对全球范围或其他区域地理位置的测试工作.
以上这些初步的研究和应用表明,以Google Earth为代表的数字地球系统为地理位置认知能力的培养与测试提供了新的技术手段和支撑平台.Google Earth在地理位置认知能力的培养与测试工作中具有很大的优势,但现有的研究工作缺乏系统的理论指导,没有形成标准的技术流程,存在着操作复杂、难以实用化并推广的缺陷.从目前掌握的文献资料来看,学术界在基于Google Earth的地理位置认知能力的测试方面的研究尚处于初级阶段,尚未形成完整的理论体系、方法体系和标准、通用的框架,开展相关领域的深度理论分析和系统实证研究是一项极为迫切的任务.
本文将研究在Google Earth数字地球平台中进行地理位置认知能力测试的技术和方法,其目标是形成一个通用的地理位置认知能力测试解决方案,提出基于Google Earth的地理位置认知能力在线测试流程框架.该框架不仅可以检验被测试者的地理位置知识,还可在测试的过程中培育和增强被测试者的地理素养.
1 Google Earth及其应用程序接口
Google Earth是一款由Google公司开发的数字化地球仪软件,它以三维虚拟地球的形式把大量遥感影像、矢量地图和复杂的三维模型组织在一起.用户可通过旋转、放大、缩小等操作,从不同的视角随意的浏览地球,同时还可以看到地名和行政区划.
Google Earth具有开放的体系架构,支持基于OpenGIS KML编码标准(简称OGC KML或KML)[12]的地球空间信息描述方式.用户不需从底层开发可视化环境,只需要使用KML编码规范来描述和保存自己所拥有的地球空间信息,Google Earth就能快速加载并渲染、绘制出这些信息所表示的地球空间对象.目前,Google Earth已成为在全球范围内集成、共享、显示和分析大规模、多尺度、多时相地球空间信息的可靠平台.
Google Earth开放了一系列的应用程序接口(Google Earth API)[13],供开发人员将Google Earth的核心功能以插件的形式嵌入到网页中,在网页浏览器环境下进行地球空间信息的集成和可视化,进而根据实际应用的需要对Google Earth的功能进行适当的扩展.Google Earth API提供了两类开发接口:浏览器插件专用接口和基于KML的接口.浏览器插件专用接口主要用于控制Google Earth插件在网页中的呈现形式,可根据应用需要向Google Earth 插件加载特定的图层.基于KML的接口则用于处理与KML相关的地理空间对象,以实现与KML要素的交互操作.另外,Google Earth API还可以监听并定制用户对Google Earth插件及其中加载的KML要素的交互操作(如鼠标移至、移出、单击、双击等),这为开发人员构建功能复杂的Google Earth应用程序提供了便利.
2 框架设计和实现步骤
地理位置认知能力测试研究的核心,就是建立一套完整的地理位置认知能力测试的理论体系和方法体系,形成一套完善的地理位置数据组织及信息编码、测试题目自动生成、用户在线测试、结果记录与反馈的标准流程框架.
Google Earth创建了一个关于地球表层信息的三维镜像表达,它内置了一个地理边界图层,其中包含全球范围的国家/地区行政边界和地名信息,以方便用户查找、定位地理位置.在地理位置认知能力测试的过程中,需要使用不含地名标注提示信息的地理边界底图,以利于被测试者在没有外界帮助信息的情况下查找并定位到特定的地理位置,进而评估被测试者的地理位置认知能力.然而,在Google Earth内置的地理边界图层中,行政边界和地名信息是融合在一起的,不能单独分开显示[11].这显然无法实现“不显示地名、只显示边界”的需求.要解决这一难题,需要关闭Google Earth内置的地理边界图层,然后基于KML编码规范,自行组织和表达地理位置认知能力测试所需的地理位置信息,最后将这些信息加载到Google Earth插件中,进行可视化分析和在线测试.
结合现有的地理位置认知能力测试理论和实际应用情况,提出基于Google Earth数字地球软件平台的地理位置认知能力在线测试的总体框架,如图1所示.图中,尖角矩形框代表数据集,圆角矩形框代表处理这些数据集的计算机程序,黑色单向箭头线代表数据流,红色双向箭头表示用户通过图形用户界面对Google Earth插件及其中的数据集的控制与交互.
按照该框架实现地理位置认知能力在线测试的基本流程如图2所示,具体实现时有6个关键点.下面详细介绍实现过程中的各个具体步骤.
2.1 地理位置编码
地理位置认知能力在线测试过程的第一步,需要将地理位置编码成不含标注信息的KML地标,并保存为扩展名为kml或kmz的KML文件,供后续的测试使用.
任何地理位置都可被抽象为点、线、面(多边形)、三维模型等空间几何元素,并使用KML“地标”地图项(
图2 在Google Earth平台上实现地理位置认知能力在线测试的基本流程Fig.2 Flow chart for implementing geographic location recognition testing on the Google Earth platform
…
…
在实际实现时,如果已经存在数字化的地理位置数据,可先使用GIS工具软件(如ArcGIS)将这些数字化的地理位置数据转换成KML地标,然后再将其修改为不含标注信息的KML地标,以供后续测试使用.
2.2 加载KML文件
地理位置认知能力在线测试过程的第二步,是将编码后的地理位置信息(KML文件)托管到服务器上,然后将其加载到Google Earth插件中,作为地理位置认知能力的测试数据集.
由于地理位置信息是以KML文件的形式存储的,可使用Google Earth API 中的KmlNetworkLink 方法或者 fetchKml 方法[13]将其导入到Google Earth插件中.
2.3 提取地理位置信息
(2)电解过程中,由于电场作用和离子交换膜限制,阳极室的H+穿过阳膜扩散至产品室,原料室的穿过阴膜扩散至产品室,H+和H2PO-2在产品室反应生成H3PO2
地理位置认知能力测试过程的第三步,是从加载到Google Earth插件的KML文件中,提取需要进行测试的全部地理位置信息(KML地标).
提取以KML地标表示的地理位置信息,可首先使用Google Earth API 中的getElementsByType函数获取全部的地标元素列表,然后遍历各个地标,通过getName方法获取地标的名称,并构建一个地理位置名称列表.以下JavaScript代码示范了在Google Earth插件中提取KML地标元素并采集地理位置名称的方法.
//获取全部地标对象(地理位置)
var placemarks=ge.getElementsByType(′KmlPlacemark′);
//遍历地标对象,采集地理位置名称
for (var i=0; i var p=placemarks.item(i); names[i]=p.getName(); //地理位置名称列表 } 2.4 根据测试题目数量生成测试题目序列 地理位置认知能力在线测试过程的第四步,需要设定测试题目的数量,并自动生成测试题目序列. 在地理位置认知能力测试的过程中,测试题目的最佳数量因人而异.题目过多容易使人疲倦,过少则会使人觉得意犹未尽.因此,需要提供一个输入界面,让被测试者自主地设置测试题目的数量. 被测试者设定测试题目数以后,从第3步提取的地理位置名称列表中,随机选取指定数目的地理位置名称,生成一个测试题目列表,作为进行后续测试的题目序列. 2.5 逐题进行在线测试 这一步的主要工作是按照上一步设定的测试题目序列,让被测试者(用户)逐题进行在线测试,并反馈每个题目的测试结果. 用户在线测试时,首先给出一个地名让用户查找.用户使用鼠标,旋转、缩放Google Earth插件中的三维虚拟地球仪,查找、定位相应的地理位置.使用Google Earth API 提供的addEventListener函数,可以监听用户对KML地标的交互操作.如果用户使用鼠标定位到一个KML地标,Google Earth插件会自动获取该地标的地理位置名称,并与待查找的地理位置名称相比对.若两者不一致,则表明用户定位错误,以气泡框的形式给出错误提示信息(见图3a),让用户继续查找;若两者一致,则表明用户成功定位到给定的地理位置,以气泡框的形式给出正确提示(见图3b),然后自动进入下一题的测试.如果用户耗时超出系统设定的时间(如20 s)仍未能正确定位,系统也会自动转入下一题的测试. 图3 用户用鼠标定位KML地标时的信息反馈界面Fig.3 Feedback to the participants when they locate KML placemarks using the mouse 在用户使用三维虚拟地球仪查找、定位地理位置的过程中,鼠标移动或定位到某一地理位置上方时,需要高亮显示鼠标所指向的地标,以突出显示鼠标指向的地理位置.为达到这种效果,可以使用Google Earth API 中的addEventListener函数[13]添加两个事件,来监听鼠标的mouseover(鼠标移至)和mouseout(鼠标移出)操作,以控制高亮显示的开始与结束.以下是控制多边形地标高亮显示的JavaScript代码. var p=placemarks.item(i); //p为第i个地标 google.earth.addEventListener(p, ′mouseover′, mouseoverEvent); //添加一个鼠标移过事件 google.earth.addEventListener(p, ′mouseout′, mouseoutEvent); //添加一个鼠标移出事件 //鼠标移至,高亮并闪烁显示鼠标指向的多边形地标 var mouseoverEvent=function (event) { event.preventDefault(); this.setStyleSelector(ge.createStyle(″)); var polystyle=this.getStyleSelector().getPolyStyle(); polystyle.getColor().set(′ccffffff′); var delay=0; for (flashTimes=0; flashTimes < 6; flashTimes++) { delay +=100; setTimeout(function () {polystyle.getColor().set(′ccffffff′);}, delay); delay +=100; setTimeout(function () {polystyle.getColor().set(′ffdddddd′); }, delay); } }; //鼠标移出,停止高亮闪烁,恢复初始颜色 var mouseoutEvent=function (event) { event.preventDefault(); this.setStyleSelector(ge.createStyle(″)); var polystyle=this.getStyleSelector().getPolyStyle(); polystyle.getColor().set(′aaffffff′); polystyle.setColorMode(ge.COLOR_RANDOM); polystyle.setFill(1); }; 2.6 记录并反馈测试结果 在用户进行地理位置认知能力测试的过程中,需要将用户的得分、每个题目的答题结果以及耗费的时间都记录下来,并及时呈现在一个记分板中,以方便用户了解自己的测试进程和测试结果.用户完成所有题目以后,可根据用户的最终得分,综合评定用户的地理位置认知水平. 为验证本文提出的地理位置认知能力在线测试框架,使用Google Earth插件及其JavaScript API设计了一个网页GeoQuiz(http://www.sirrs.org/GeoQuiz/cn/GeoQuiz.html),用于测试个体对全球政区地理位置的认知能力.如图4所示,GeoQuiz网页由3部分组成:①位于屏幕上部的测试规则说明区;②位于屏幕左侧的Google Earth插件容器区(内含“开始/暂停”、“下一题”等两个控制按钮);③位于屏幕右侧的测试信息展示区,用于设定题目数量、显示测试题目并记录、反馈测试结果.任何安装了Google Earth插件的计算机都可以通过国际互联网访问GeoQuiz.当用户打开GeoQuiz网页时,Google Earth插件会自动加载一个已完成地理位置编码且不含地名标注信息的全球政区KML文件,并将其叠加到Google Earth插件中的三维虚拟地球仪表面,然后提取其中的地理位置信息供用户进行在线测试. 使用GeoQuiz 进行地理位置认知能力测试,用户首先需要设定测试的题目数量,然后单击Google Earth插件容器区内的“开始”图标启动测试.按照屏幕右侧测试信息展示区内给出的国家/地区名称,用户查找该地名所处的位置,并在三维虚拟地球仪上用鼠标单击定位,GeoQuiz将定位的结果以气泡框的形式呈现在鼠标指示位置.在测试进行的过程中,每一题目的测试结果将同步显示在屏幕右侧的测试信息展示区.其中,正确完成的地名及耗时将以蓝色字体显示在正确列表中,未能正确完成的地名将以红色字体显示在错误列表中(见图5).一轮测试结束之后,用户可重新设置测试题目数量,然后进入下一轮测试. 图4 GeoQuiz网页运行界面Fig.4 User interface of the GeoQuiz webpage 图5 使用GeoQuiz进行地理位置认知能力测试Fig.5 Online testing of geographic location recognition on global countries using GeoQuiz 为了控制测试时间,在GeoQuiz中添加了一个计时器来记录并实时显示用户的测试用时.这个计时器将每个题目的最长用时限定为20 s.如果在20 s内未能找到与当前地名匹配的地理位置,则认为用户无法正确定位该地理位置,将自动进入下一题的测试. Google Earth不仅是一个地球空间信息三维可视化系统,而且是一个支持地学教育与科研工作的科教仪器.本文研究了使用Google Earth进行地理位置认知水平测试的总体框架及工作流程,并设计、开发了一个应用程序来验证这些技术方法的有效性和实用性.应用实践显示,Google Earth在培养和测试地理位置认知能力方面具有很大的优势和潜力:①Google Earth可为地理位置认知能力的培养与测试工作提供直观、形象、统一、规范的地理底图和工作平台;②Google Earth对地球的三维可视化表达有利于培养被测试者的三维地理空间认知能力;③Google Earth具有灵活、开放的体系架构,支持二次开发,利用Google Earth插件及其应用程序接口,可以根据地理位置认知能力测试的实际需要,使用KML语言来组织测试所需的地理数据,扩展Google Earth的功能,构建功能复杂的地理位置认知能力在线测试系统. 使用本文提出的地理位置认知能力在线测试框架及其验证程序,不仅可以检验被测试者的地理位置知识,还可以起到培育和增强个体地理素养水平的作用.另外,该框架还具有较强的柔韧性,可以方便的扩展应用到自然环境、人文社会系统等以地理位置为基础的全球或区域地理知识的培育与测试工作之中. [1] BEIN F L. Baseline geography competency test administered in Indiana Universities[J]. Journal of Geography, 1990, 89(6): 260-265. [2] EVE R A, PRICE B, COUNTS M. Geographic illiteracy among college students[J]. Youth & Society, 1994, 25(3): 408-427. [3] DIKMENLI Y. Geographic literacy perception scale (GLPS) validity and reliability study[J]. Mevlana International Journal of Education, 2014, 4(1):1-15. [4] DONOVAN I. Geographic literacy and ignorance: A survey of Dublin adults and schoolchildren[J]. Geographical Viewpoint, 1993, 21(1): 73-92. [5] TORRENS P M. Where in the world? Exploring the factors driving place location knowledge among secondary level students in Dublin, Ireland[J]. Journal of Geography, 2001, 100(2): 49-60. [6] TURNER S, LEYDON J. Improving geographic literacy among first-year undergraduate students: Testing the effectiveness of online quizzes[J]. Journal of Geography, 2012, 111(2): 54-66. [7] DUNN J M. Location knowledge: Assessment, spatial thinking, and new national geography standards[J]. The Journal of Geography, 2011, 110(2): 81-89. [8] GOODCHILD M F, GUO H, ANNONI A, et al. Next-generation digital earth[J]. Proceedings of the National Academy of Sciences of the United States of America, 2012, 109 (28): 11088-11094. [9] THOMAS-BROWN K A. Teaching for geographic literacy: Our afterschool geography club[J]. The Social Studies, 2011, 102(5): 181-189. [10] Google. Are you a GEO WHIZ? [EB/OL]. (2012-05-01)[2014-09-30]. http://earth-api-samples.googlecode.com/svn/trunk/demos/geowhiz/index.html. [11] LEE T K, GUERTIN L. Building an education game with the Google Earth application programming interface to enhance geographic literacy[J]. Geological Society of America Special Papers, 2012, 492: 395-401. [12] WILSON T. OGC KML[EB/OL]. Open Geospatial Consortium Inc, 2008[2014-09-30]. http://portal.opengeospatial.org/files/?artifact_id=27810. [13] Google. Google Earth API Reference[EB/OL]. (2014-06-01) [2014-09-30]. https://developers.google.com/earth/documentation/reference.html. (责任编辑 李万会) Online testing of geographic location recognition using Google Earth WANG Xi-feng, ZHU Liang-feng (KeyLaboratoryofGeographicInformationScience,MinistryofEducation,EastChinaNormalUniversity,Shanghai200241,China) Geographic location recognition, or the ability to locate and name places on a map, is an essential indicator to assess individuals’ geographic literacy levels. Past research has concentrated on testing one’s geographic location recognition using two-dimensional paper maps. Whereas the paper mapping method is flexible and easy to follow, it requires a fixed paper map with a series of predefined quizzes and is therefore difficult to reuse. Advances in geospatial information technologies, led by geographical information systems and digital earth systems, is providing educators with a convenient platform to cultivate and assess one’s geographic location recognition. In this paper, we present a general framework and corresponding implementation methods for the online testing of geographic location recognition using the Google Earth digital earth platform. The most significant feature of the proposed framework and corresponding implementation program is that they have abilities to improve the individuals’ geographic literacy while conducting the testing. geographic location recognition; geographic literacy; online testing; Google Earth; KML 1000-5641(2015)04-0144-10 2014-10 国家自然科学基金(40902093);上海市哲学社会科学“十二五”规划课题(2014BCK002);国家科技专项(SinoProbe-08) 王喜凤,女,硕士研究生,研究方向为数字地球理论与技术. E-mail: wangxifeng0817@163.com. 朱良峰,男,副教授,研究方向为地理信息科学. E-mail: lfzhu@geo.ecnu.edu.cn. P97; K90 A 10.3969/j.issn.1000-5641.2015.04.0153 应用实例
4 结 语