分享
Scan me 分享到微信

WebGIS为移动设备插上翅膀

GXM库现在已经可以被公众使用,ExtJS 3.x版、ExtJS 4.x版均可在该库中使用;Sencha Touch也即将发布2.x版,但GXM目前还依赖于1.x版。这意味着,GXM库将很快得到升级,从而支持更多新的基础库。

  3sNews讯 著名的未来学家雷·库兹威尔在其2005年所著的《奇点迫近》一书中预言:到21世纪第一个十年结束的时候,人们可以通过移动设备随时随地访问互联网。从目前智能手机和其它移动设备的销售量来看,这一预言似乎并不遥远。

  这将会给用户和数据提供商带来许多影响。瑞士联邦地形学办公室(swisstopo)属于后者,他们负责获取和更新基础测量数据、地理数据,绘制瑞士最高质量的地图产品。为使通过移动设备访问其产品能够具有良好的用户体验,该机构构建构建一个开源库,以适用于移动设备的小屏幕,并可以识别触屏手势。

  动机

  移动互联网上的交互式地图,也称为基于Web的地理信息系统(WebGIS),谷歌地图的问世引起了人们对它的广泛关注。公众意识的不断提高也是许多数据提供商将地理数据发布到网络上的原因之一。

  2007年2月,欧盟颁布欧盟空间信息基础设施(INSPIRE)指令;同年5月,指令正式生效。该指令旨在为欧盟空间信息建设相关基础设施,以提高公共管理部门之间空间信息的共享能力,帮助整个欧洲地区的公民获取相关信息。2010年,各成员国首次公布了对欧盟空间信息基础设施的监测和报告结果。 瑞士也发起了一个类似的倡议,要求瑞士联邦地形学办公室为广大公众提供其获取和加工的地理数据。

泰伯网

  图1 移动设备上显示的半透明叠加地图

  很长一段时间以来,世界各地的移动公司都在努力提高宽带的使用能力,同时尽量降低用户的消费价格,以使新一代智能手机最大可能地满足用户“能够随时随地快速访问任意网络”的期盼。

  2011年,瑞士联邦地形学办公室开始着手创建一个移动WebGIS客户端来满足这种需求,他们利用开源软件进行特殊的开发。

  开源库

  创建一个移动WebGIS客户端可以有许多方法。首先,必须确定使用什么技术;其次,需要获取软件授权访问的许可。该项目决定使用已有的开源框架并整合结果数据库,从而使获取开源许可成为可能。相对于封闭源代码的软件而言,免费软件更加自由化:开发人员可以根据自己的需求随意运行程序,研究其内部结构,重新组合代码。

  这种自由化还会带来其它一些影响:用户不仅可以免费获取开源软件,从互联网上下载,还可以更加方便地对软件质量进行评估、分析,讨论其可能或已经出现的问题。

  移动版GeoExt(GXM)

  GeoExt是一个开源的JavaScript库,可为创建基于Web的富客户端制图应用程序提供基础;是一款结合网络制图库OpenLayers和Extjs的前端框架,可构建富互联网应用程序的跨浏览器JavaScript库。它提供一套定制的组件和数据,可以更为便捷地构建用于浏览、编辑地理空间数据的应用程序。

  然而,在移动设备上访问这些应用程序时将会缺乏完整的功能。例如移动设备没有鼠标,有时就无法执行一些特定的操作。

  瑞士联邦地形学办公室、德国波恩的terrestris公司决定构架一个GeoExt的姊妹版框架,使其能够直接用于iPhone、iPad、黑莓手机和基于安卓系统的移动设备。GXM填补了移动WebGIS框架的空白,结合了两大JavaScript库的优势:

  • Sencha Touch是首款支持HTML5技术的移动网络应用程序框架,可使许多移动设备自如地运行Web应用程序。在许多方面上,它就是ExtJS(一种主要用于创建前端用户界面,基本与后台技术无关的前端ajax框架)的移动版副本。

  • 众所周知,OpenLayers(“基于Web的免费地图”)具有丰富的地理数据显示和交互功能。它是一个专为WebGIS客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问,最新版本的OpenLayers 2.11已经可以支持移动设备上的操作。

  为避免基础库的限制,提供可重复利用的WebGIS应用程序基础组件,GXM整合了以下几个要素:

  • 图层列表(LayerList)简化了制图应用程序中不同专题图层的交互使用。列表本身是可以整合到任意容器(Container)中的,如弹出窗口、标签面板等。

  • 地图面板(MapPanel)允许任何图层类型的的OpenLayers地图展示在面板中,并可以更为容易地集成到几乎任何Sencha Touch支持的地图输出产品中。

  • 按钮类(Button class)用于帮助OpenLayers控制交互过程,例如地图的缩放、平移等。通过Geolocation应用程序接口(HTML5的一部分),它也可以用于精确定位智能手机的地理位置。

  mobile.map.geo.admin.ch

泰伯网

  图2 智能手机中的地图表达

  瑞士联邦的地理门户网站(https://mobile.map.geo.admin.ch)中包括许多基础数据图层,如地形图、航拍照片、数字高程模型以及众多专题图层。门户网站用户通过电脑或者手机均可以访问到相同的数据。

泰伯网

  图3 1:50万地质地质图

  客户端顶部有四个按钮:意见反馈按钮、设置按钮(可完成语言切换、导航条位置设置、背景图颜色设置等操作)、查询按钮(可通过位置或地址进行查询)、信息按钮(可以访问元数据和图层列表,见图3)。

泰伯网

  图4 地图中的红点标识用户所在的位置

  导航条包括定位按钮、放大按钮、缩小按钮、全图按钮。用户可以通过定位按钮确定移动设备的当前位置,并用红点将其标识在地图上(见图4)。

  展望

  GXM库现在已经可以被公众使用,ExtJS 3.x版、ExtJS 4.x版均可在该库中使用;Sencha Touch也即将发布2.x版,但GXM目前还依赖于1.x版。这意味着,GXM库将很快得到升级,从而支持更多新的基础库。

  所有这些进步需要世界各国的开发者共同努力完成。开发人员可以优化代码,并由非开发人员来完成测试和记录工作。大家可以定义新功能,从而促进整个技术的发展。最后但并非最不重要的是,可以通过一些资金资助项目获取经济上的帮助。(编译 刘丽)

参与评论

【登录后才能评论哦!点击

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回复{{item.replynum}}
    {{child.username}} 回复 {{child.to_username}}:{{child.content}}

更多精选文章推荐

泰伯APP
感受不一样的阅读体验
立即打开