一种跨屏跨平台的可量测实景地图组织方法与流程

文档序号:14418911阅读:192来源:国知局
一种跨屏跨平台的可量测实景地图组织方法与流程

本发明涉及测绘地理信息的可量测实景影像地图组织方法的技术领域,特别是涉及一种跨屏跨平台的可量测实景影像地图组织方法。



背景技术:

街景使用全景相机和定位设备记录位置序列的实地影像信息,用户仅能够得到既定位置的视觉模型以及有限数量定位点基础上的概略空间模型。

可量测实景影像在街景基本显示原理基础上,同时通过车载或船载移动测量技术采集沿线三维表面位置信息,具备相对完备的地理空间模型,能够支撑三维场景下的空间分析操作。

传统街景系统普遍使用flash技术开发,以实现支持多种桌面操作系统跨平台应用。

移动操作系统普遍不支持flash运行环境,因此在移动互联网时代,包括地图在内的各种程序普遍额外定制开发移动端本地应用,与桌面地图系统相似的功能需要在移动端独立开发应用程序,不能适应跨平台开发的要求。

为实现移动端跨平台开发,传统方法中采用一种单一模式的组织方法直接使用移动浏览器内核执行脚本的方式,即以web浏览器为载体,以网页的形式运行程序,以实现移动端和桌面端功能的跨平台。

不同于普通地图应用的数据内容,实景地图系统作为三维系统,同时包含城市级别的表面空间坐标信息和实景影像信息,单一模式的移动端浏览器内核执行脚本的方式不能满足三维地图系统的功能要求,存在设备支持度不统一、功能受限和关键功能存在性能瓶颈等问题。

现有的主流街景或可量测实景跨平台开发技术往往仅考虑桌面平台的跨平台兼容性,一般使用flash技术构建应用程序,无法运行在移动平台,而移动端实景地图应用主要有以下两类:

1、独立开发移动端专有应用。使用原生开发语言针对不同系统移动端定制应用,可以充分调用硬件机能,具有最好的使用体验,但是针对ios、android、winphone等操作系统均需要单独开发功能模块。而对于实景地图而言,基本的浏览跳转查询等功能在不同平台间是相似的。object-c、java、c#等不同语言的独立开发,带来了功能“重复发明轮子”的问题,直接影响实景地图软件产品开发的迭代效率。

2、使用脚本语言开发移动端浏览器兼容的网页地图应用,用户使用移动浏览器打开应用调用相关功能。此类技术可以做到一次编码、多平台使用的高效开发迭代,但是仍然存在以下问题:

a)设备支持度不统一:由于web标准快速发展以及以android为代表的移动操作系统碎片化现状,不同移动端设备的内嵌浏览器内核对于最新标准,尤其是三维标准的支持程度差别很大,统一开发的功能脚本需要大量的兼容性调试方能保证在所有移动设备上的正常运行。

b)浏览器功能受限:网页应用运行于浏览器沙箱环境之中,缺乏对设备本地的数据资源和硬件资源的直接访问能力,如大量空间数据的本地存储与空间索引能力、设备位置和周边环境的感知能力等,制约了实景地图系统的功能应用范围。这些制约因素抹杀了移动平台应用相对于桌面平台应用的个性差异,导致此类应用往往存在功能缺失,无法提供移动端原生应用的功能体验。

c)关键功能存在性能瓶颈:可量测实景影像地图是完整的三维地图系统,提供城市级别的影像数据和三维表面数据服务。在网络正常的状态下,此类空间数据由服务器负责查询和检索。受限于网络条件,移动端平台一方面网络状态不稳定、一方面需要顾及流量资费问题,因此地图应用需要以离线缓存形式组织空间数据,以满足用户在不同网络状态下的使用。移动端浏览器执行脚本的性能不足以支撑三维空间数据的本地查询检索,造成的结果是现有的通用街景或可量测实景移动端应用通常不具备离线运行能力。

d)传统前后端业务逻辑耦合的web应用无法兼容移动端离线场景的使用。

因此,针对上述现状,本发明的目的是面向可量测实景地图这一形式的三维地图应用特点,实现一种不同桌面操作系统跨平台、桌面和移动端操作系统跨屏运行的组织方法。本方法顾及多种操作系统和输入设备在三维实景地图浏览方面的共性特点,多平台通用功能仅一次开发,多平台部署;又能够顾及移动平台的个性特点,能够无缝调用移动平台的本地功能接口,提供近似原生应用的可量测实景地图使用体验。



技术实现要素:

本发明针对现有技术的不足,提供一种跨屏跨平台的可量测实景地图组织方法,包括:

前后端分离:使用html5技术建立前端和后端分离的桌面端实景地图web应用架构,其中,前端为单页应用,通过rest接口获取后端数据,后端用于数据服务;

跨平台通用功能:在实景地图应用的二维界面布局结构中采用响应式布局方案和采用支持触摸屏兼容功能的浏览器;

移动端专属功能:在原生应用容器中封装webkit和v8内核,用于实现场景渲染与脚本计算,并将移动端对html5标准的兼容性与桌面端相统一;通过自定义接口对移动端本地功能接口、文件读写访问接口进行封装,并自定义通信标准,用于实现移动端javascript同java的双向调用机制。

进一步地,场景渲染中采用多级切片按需加载的方式,将实景影像分别以4行*8列、8行*16列的方式进行切片,场景渲染时仅加载当前视野范围内的切片影像。

进一步地,所述移动端本地资源包括文件系统、gps硬件、相机硬件和原生运行库。

进一步地,所述web应用架构中采用webgl作为容器构建三维实景场景。

进一步地,所述响应式布局方案为twitterbootstrap方案,用于快速实现多分辨率屏幕适配的界面。

进一步地,所述移动端专属功能中还包括数据缓存策略,具体步骤如下:

(1)客户端浏览实景图像发送请求,移动端中封装webkit和v8内核的中间件拦截网络请求,并对网络请求进行解析;

(2)对网络请求进行解析之后,判断是否存在功能代码缓存:对于含有全景站点参数的网络请求,直接通过索引编码判断是否存在缓存;对于仅包含坐标参数的网络请求,通过空间数据库的方式,利用空间索引查询输入的坐标是否能查询到全景点位信息,若有数据返回则存在代码缓存,否则不存在;

(3)若存在功能代码缓存,直接从本地文件中取得缓存的代码片段,并将结果返回到移动端中间件进行渲染;

(4)若不存在功能代码缓存,从实景地图后端服务中查询出结果,并将结果在移动端渲染,同时,将代码片段按照索引编码后存入本地缓存目录。

有益效果:本发明实现了一种不同桌面操作系统跨平台、桌面和移动端操作系统跨屏运行的可量测实景地图组织方法。本方法顾及多种操作系统和输入设备在三维实景地图浏览方面的共性特点,多平台通用功能仅一次开发,多平台部署;又能够顾及移动平台的个性特点,能够无缝调用移动平台的本地功能接口,提供近似原生应用的可量测实景地图使用体验。与现有的主流街景或可量测实景跨平台相比后者一般使用flash技术构建应用程序,无法运行在移动平台。而移动端实景地图应用主要有以下两类:1、独立开发移动端专有应用。该方法针对ios、android、winphone等操作系统均需要单独开发功能模块。功能的重复开发,直接影响实景地图软件产品开发的迭代效率。2、使用脚本语言开发移动端浏览器兼容的网页地图应用,此类技术存在以下问题:设备支持度不统一、浏览器功能受限、关键功能存在性能瓶颈等问题。

附图说明

图1是本发明跨屏跨平台的可量测实景影像地图组织方法框架图;

图2是本发明桌面端前后端交互方式示意图;

图3是本发明移动端专属功能封装及前后端交互示意图;

图4是本发明移动端实景功能执行逻辑的本地缓存策略流程图。

具体实施方式

为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

本方法将实景地图功能划分为跨平台通用功能和移动端专属功能。通用功能为按照以下约束要求开发的实景地图web应用:(如图2和3中所示)

前后端分离:使用html5技术建立桌面端实景地图web应用,为前后端分离结构。前端为单页应用,通过rest接口调用后端数据接口。

响应式布局:实景地图应用为单页三维应用而非普通内容型应用,其二维界面布局结构相对统一,使用成熟的响应式布局方案如twitterbootstrap可以快速实现视觉表达的多分辨率屏幕适配。

触摸屏兼容:传统pc用户主要使用鼠标作为实景地图的交互手段,而随着触摸屏技术的发展,越来越多的pc提供触摸屏硬件;同时,触摸屏是移动端用户唯一的交互手段。现代网页浏览器均提供触摸操作功能接口供javascript脚本进行调用。

上述约束要求是本发明面向移动端跨屏跨平台实景地图应用的前提条件,对于桌面用户不存在功能使用体验的差异。

上述通用功能的开发保证了不同尺寸的桌面以及移动端浏览器在访问街景地图时都拥有相对统一的功能体验。

应用界面使用响应式布局,适配不同分辨率的桌面浏览器。

触摸屏在最新的pc硬件产品中得到越来越广泛的应用,因此界面交互兼容触摸操作对于包括实景地图应用在内的现代应用而言不可或缺。

可量测实景影像的加载方式决定了实景渲染的效率,也是本方法的一项关键内容。本发明采用多级切片按需加载的方式,将影像分别以4行*8列、8行*16列的方式进行切片,从而实现按需加载当前视野范围内的影像,加快渲染效率。多级切片也保证了影像具备缩放能力。

移动端专属功能为移动端不同于桌面端的交互方式、定位方式等定制的不同于桌面端的功能。

在页面渲染上通过封装webkit和v8内核实现页面渲染与脚本计算,将移动端对html5标准的兼容性与桌面端相统一。这种封装内核方式解决了移动端内嵌浏览器内核存在支持度不统一、浏览器功能受限等问题,实现跨屏跨平台功能的统一。同时,在封装内核的容器中自定义访问移动端本地资源(文件系统、gps硬件、相机硬件、原生运行库)的方法,使得移动端可以直接通过javascript方法调用移动端java功能接口,实现移动端专属功能的定制。

如图4所示,针对移动端数据流量及渲染效率的要求,本方法采用了数据及程序缓存策略,数据缓存在对已经访问过的实景实时本地缓存,下次再访问相同位置无需读取数据库,直接利用本地文件访问接口访问缓存数据。程序缓存将所用功能模块在首次加载时,系统对执行代码作离线缓存,当下一次由相同网络功能请求时,系统通过网络通讯拦截机制调用本地缓存代码,节省网络浏览、提高运行速度。

具体执行步骤如下图所示:

1、客户端浏览实景发送请求,移动端封装内核的中间件拦截网络请求,并对请求进行解析;

2、解析的网络请求判断是否存在功能代码缓存:对于含有全景站点参数的请求,直接通过索引编码判断是否存在缓存;对于仅包含坐标的网络请求,通过空间数据库的方式,利用空间索引查询输入的坐标是否能查询到全景点位信息,若有数据返回则存在代码缓存,否则不存在;

3、若存在,直接从本地文件中取得缓存的代码片段,并将结果返回到移动端中间件进行渲染。

4、若不存在,从实景地图后端服务中查询出结果,并将结果在移动端渲染,同时,将代码片段按照索引编码后存入本地缓存目录。

将空间数据库spatiallite运行在移动端,建立离线的空间数据库,存储全景点位信息表,并建立空间索引,调用移动端定位接口快速获取当前位置信息,通过空间索引查找全景点位信息,实现全景的快速定位,优化了数据流量及渲染效率。

在交互方式上,利用手机gps、陀螺仪等硬件设备感知移动设备当前的位置状态,利用本地接口实现实景的移动旋转交互。

本发明实现了一种不同桌面操作系统跨平台、桌面和移动端操作系统跨屏运行的可量测实景地图组织方法。本方法顾及多种操作系统和输入设备在三维实景地图浏览方面的共性特点,多平台通用功能仅一次开发,多平台部署;又能够顾及移动平台的个性特点,能够无缝调用移动平台的本地功能接口,提供近似原生应用的可量测实景地图使用体验。与现有的主流街景或可量测实景跨平台相比后者一般使用flash技术构建应用程序,无法运行在移动平台。而移动端实景地图应用主要有以下两类:1、独立开发移动端专有应用。该方法针对ios、android、winphone等操作系统均需要单独开发功能模块。功能的重复开发,直接影响实景地图软件产品开发的迭代效率。2、使用脚本语言开发移动端浏览器兼容的网页地图应用,此类技术存在以下问题:设备支持度不统一、浏览器功能受限、关键功能存在性能瓶颈等问题。

本发明是一种跨屏跨平台的可量测实景影像地图组织方法与系统。系统针对不同桌面操作系统、移动端操作系统实现了多平台通用功能仅一次开发,多平台部署,又能够顾及移动平台的个性特点,能够无缝调用移动平台的本地功能接口,提供近似原生应用的可量测实景地图使用体验。

本发明首先,以html5技术建立实景地图web应用,应用以webgl作为容器构建三维实景场景,使用响应式布局方案twitterbootstrap快速实现多分辨率屏幕适配的界面;

其次,在构建的三维场景中,前端通过rest接口,以当前位置坐标获取最近站点信息,进而取得影像切片,渲染在用户浏览器中。对于移动端,通过运行时封装webkit和v8内核,解决移动端内嵌浏览器内核存在支持度不统一、浏览器功能受限等问题,实现同样场景的渲染。

最后,本发明通过浏览器提供的触摸操作功能接口及移动端本地功能接口,实现了触摸屏兼容及移动端专属功能的定制开发。

以上仅为本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1