一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202010375774.8
(22)申请日 2020.05.07
(71)申请人 武汉臻图网络科技有限公司
地址 430011 湖北省武汉市江岸区解放大
道2098号佰昌公馆B区9栋1单元16层4
(72)发明人 李仙伟 
(51)Int.Cl.
G06F  16/29(2019.01)
G06T  17/05(2011.01)
G06F  8/30(2018.01)
(54)发明名称一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统(57)摘要本发明公开了一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统,其通过采用Hybrid  App开发框架,并在移动端App内嵌轻量级Web容器,实现了CesiumJS的离线应用,所述方法包括以下步骤:S1:处理、拷贝地图数据到SD卡根目录下;S2:在移动端App内嵌轻量级Web容器AndServer;S3:实现地图数据的Web请求;S4:集成Hybrid  App开发框架;S5:定制CesiumJS网页应用;S6:调试、运行地图应用App。通过上述方式,本发明能够在移动终端设备完全离线环境下,实现基于CesiumJS的移动端三维GIS应用,地图数据和业务数据均可在js里通过web进行请求,
无需修改CesiumJS底层代码。权利要求书2页  说明书3页  附图2页CN 111723170 A 2020.09.29
C N  111723170
A
1.一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统,其特征在于,所述基于CesiumJS的移动端离线三维GIS应用实现方法包括如下步骤:
S1:处理、拷贝地图数据到SD卡根目录下;
S2:在移动端App内嵌轻量级Web容器AndServer;
S3:实现地图数据的Web请求;
S4:集成Hybrid App开发框架;
S5:定制CesiumJS网页应用;
S6:调试、运行地图应用App。
2.根据权利要求1所述方法,其特征在于,步骤S1中,SD卡根目录下存放地图数据的文件夹名称为“AndServer”,具体文件夹结构如图2所示,其中“google_map”子文件夹下存放谷歌标准地图离线瓦片,“google_satellite”子文件夹下存放谷歌卫星影像离线瓦片,“tiles_building”子文件夹下存放建筑白膜或实景模型cesium 3dtiles瓦片,“tiles_ terrain”子文件夹下存放cesium terrain地形瓦片数据。
3.根据权利要求1所述方法,其特征在于,步骤S2中,通过整合Github开源框架com.yanzhenjie.andserver,实现内嵌轻量级Web容器AndServer,并随App以服务的方式自动启动运行,服务名称为AndServerService。
4.根据权利要求1所述方法,其特征在于,步骤S3中,实现地图数据的Web请求,包括以下步骤:
S31:通过调用com.yanzhenjie.andserver.framework.website.StorageWebsite,实现S1步骤中所述地
图数据的发布,包括标准地图离线瓦片,卫星影像离线瓦片,建筑白膜或实景模型cesium 3dtiles瓦片,以及cesium terrain地形瓦片数据;
S32:通过调用com.yanzhenjie.andserver.framework.website. AssetsWebsite,实现Android assets目录里静态资源的发布,包括js、css、html、json、png、jpg、gif等静态资源文件;
S33:通过调用com.yanzhenjie.andserver.annotation.RestController注解框架,实现数据查询rest服务,包括地名、建筑、道路等地理要素的搜索服务;
S34:通过调用com.yanzhenjie.andserver.annotation.Controller,实现html静态页面的发布、跳转。
5.根据权利要求1所述方法,其特征在于,步骤S4中,通过内嵌腾讯X5内核浏览器,即t.smtt.sdk.WebView,实现Hybrid App开发框架。
6.根据权利要求1所述方法,其特征在于,所述步骤S5包括以下分步骤:
S51:实现二三维可视化地图视图;
S52:实现地图类型切换功能;
S53:实现数据图层管理功能;
S54:实现空间量算功能;
S55:实现地图标绘功能;
S56:实现查询定位功能。
7.根据权利要求6所述方法,其特征在于,步骤S52中,地图类型包括遥感影像、标准地图、三维视图和二维视图4个选项。
8.根据权利要求6所述方法,其特征在于,步骤S54中,空间量算功能包括坐标查询、距离量算、面积量算和角度量算4个功能。
9.根据权利要求6所述方法,其特征在于,步骤S55中,地图标绘功能包括图标、折线、多边形、圆形、矩形、缓冲区、直线箭头、攻击箭头和钳击箭头9个功能。
10.根据权利要求6所述方法,其特征在于,步骤S56中,查询定位功能包括地名、建筑和道路的检索、定位。
一种基于CesiumJS的移动端离线三维GIS应用实现方法和
系统
技术领域
[0001]本发明涉及Android、Hybrid App和地理信息系统等领域,特别是涉及CesiumJS开源GIS框架在移动端的应用方法和系统。
背景技术
[0002]CesiumJS是一个用于创建具有最佳性能、精度、视觉质量和易用性的世界级三维地球和地图应用的开源JavaScript库,各个行业的开发人员,从航空航天到智能城市再到无人驾驶飞机,都使用CesiumJS创建用于共享动态地理空间数据的交互式web应用程序。CesiumJS使用WebGL来进行硬件加速图形化,能够跨平台、跨浏览器运行,可在PC端和移动端浏览器环境里运行,无需安装任何插件。但是,因为CesiumJS是基于浏览器环境的web应用,其调用的所有地图数据都是基于web请求的,不能直接读取本地磁盘上的数据,所以,如果要在移动端实现在完全离线环境下的CesiumJS地图应用,不借助其他技术框架是无法实现的。
发明内容
[0003]本发明主要解决的技术问题是提供一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统,能够为从事移动端离线GIS应用的开发人员提供一种快速、高效、廉价的技术开发框架。
[0004]为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统。包括以下步骤。
[0005]S1:处理、拷贝地图数据到SD卡根目录下。
[0006]S2:在移动端App内嵌轻量级Web容器AndServer。
[0007]S3:实现地图数据的Web请求。
[0008]S4:集成Hybrid App开发框架。
[0009]S5:定制CesiumJS网页应用。
[0010]S6:调试、运行地图应用App。
[0011]本发明的有益效果是:本发明公开了一种基于CesiumJS的移动端离线三维GIS应用实现方法和系统,其通过采用Hybrid App开发框架,并在移动端App内嵌轻量级Web容器,实现了CesiumJS的离线应用,且无需修改CesiumJS底层代码,维持web请求方式,与PC端基于浏览器的CesiumJS应用代码保持一致,提供了一种快速、高效、廉价的技术开发框架。
附图说明
[0012]图1是示意图。
[0013]图2是数据目录层次结构图。
[0014]图3是整体流程图。
[0015]图4是S3的子流程图。
[0016]图5是S5的子流程图。
具体实施方式
[0017]下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。[0018]如图1、图3、图4和图5所示,本发明实施例提供一种基于CesiumJS的移动端离线三维GIS应用实现方法,所述基于CesiumJS的移动端离线三维GIS应用实现方法包括如下步骤。
[0019]S1:处理、拷贝地图数据到SD卡根目录下。按CesiumJS的格式要求,将标准地图、遥感影像、建筑白膜、实景模型和地形高程等地图数据进行处理转换和切片打包,并拷贝到图2所示SD卡相应目录下,其中“google_map”子文件夹下存放谷歌标准地图离线瓦片,“google_satellite”子文件夹下
存放谷歌卫星影像离线瓦片,“tiles_building”子文件夹下存放建筑白膜或实景模型cesium 3dtiles瓦片,“tiles_terrain”子文件夹下存放cesium terrain地形瓦片数据,“data”目录下存放业务sqlite数据库文件。
[0020]S2:在移动端App内嵌轻量级Web容器AndServer。通过整合Github开源框架com.yanzhenjie.andserver,实现内嵌轻量级Web容器AndServer,并随App以服务的方式自动启动运行,服务名称为AndServerService。
[0021]S3:实现地图数据的Web请求,包括如下子步骤。
[0022]S31:通过调用com.yanzhenjie.andserver.framework.website.StorageWebsi te,实现S1步骤中所述地图数据的发布,包括标准地图离线瓦片,卫星影像离线瓦片,建筑白膜或实景模型cesium 3dtiles瓦片,以及cesium terrain地形瓦片数据。
[0023]S32:通过调用c o m.y a n z h e n j i e.a n d s e r v e r.f r a m e w o r k.w e b s i t e. AssetsWebsite,实现Android assets目录里静态资源的发布,包括js、css、html、json、png、jpg、gif等静态资源文件。
[0024]S33:通过调用com.yanzhenjie.andserver.annotation.RestController注解框架,实现业务数据
查询的rest服务,包括地名、建筑、道路等地理要素的搜索服务,数据以sqlite文件的方式存储在上述S1所述“data”目录下。
[0025]S34:通过调用com.yanzhenjie.andserver.annotation.Controller,实现html静态页面的发布、跳转。
[0026]S4:集成H y b r i d A p p开发框架。通过内嵌腾讯X5内核浏览器,即t.smtt.sdk.WebView,实现Hybrid App开发框架。
[0027]S5:定制CesiumJS网页应用,包括如下子步骤。
[0028]S51:实现二三维可视化地图视图。定义一个地图容器div,然后调用CesiumJS已有方法进行地图初始化。
[0029]S52:实现地图类型切换功能。通过调用上述S31步骤中的地图服务URL地址,实现遥感影像和标准地图的加载、切换;通过调用CesiumJS的已有方法,实现三维视图和二维视图的切换。
[0030]S53:实现数据图层管理功能。包括医院、学校、宾馆和建筑白膜等图层,通过调用

本文发布于:2024-09-20 15:23:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/733315.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   实现   数据   应用   方法   离线   包括   框架
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议