爱美容
当前位置: 首页 美容百科

如何搭建android服务器(嵌入式Web服务器的Android空间数据离线解决方法)

时间:2023-05-27 作者: 小编 阅读量: 1 栏目名: 美容百科

嵌入式Web服务器的Android空间数据离线解决方法点上方蓝字“测绘科学”关注摘要针对移动GIS应用商业开发组件难以进行自由定制与分发的问题,该文提出一种基于嵌入式Web服务器的Android移动端空间数据离线解决方法,该方法通过在Android设备中。

点上方蓝字“测绘科学”关注

摘 要

针对移动GIS应用商业开发组件难以进行自由定制与分发的问题,该文提出一种基于嵌入式Web服务器的Android移动端空间数据离线解决方法,该方法通过在Android设备中移植开源的NanoHTTPD 服务器实现了地图瓦片服务和矢量要素服务,并通过编码读取bundle切片数据包和扩展Spatialite空间数据库的方式,解决了切片数据和矢量要素数据的存储,然后利用Webview 控件内嵌HTML5 页面加Leaflet地图库完成了前端功能实现,并进行了实际应用展示。该方案的实现可节省Android端移动GIS应用开发成本,具有推广意义。

引用格式

引用格式:牛艳霞,马秉斌.嵌入式Web服务器的Android空间数据离线解决方法[J].测绘科学,2017,42 (7):178-182,187.

正文

随着IT 技术的发展,各类移动终端的功能不断增强,越来越多的GIS应用从PC 端转移到了移动端,人们应用GIS 的场景也慢慢由内业后期编辑向野外采编一体化发展,基于各类移动终端设备的GIS 数据采集系统得到了长足发展。根据数据获取和服务方式的不同,移动GIS 可分为在线式和离线式,考虑到野外复杂自然环境下无法保证网络的长时间稳定联通, 面向外业数据采集的移动GIS应用多为离线式。

目前,离线式移动GIS 应用开发主要有3 种方式:① 基于定制硬件设备的软硬件一体解决方案;② 基于Windows 移动端设备的定制开发;③ 基于Android 移动端设备的定制开发。其中,方式① 需要较大资金投入,且对技术人员要求较高,中小公司很难介入; 方式② 受限于Windows移动设备本身硬件问题, 市场占有份额较小; 方式③ 因所需资金投入小、技术门槛较低、设备普及率高,已成为移动GIS应用主流开发方式。

国内基于Android设备的移动端离线地图应用主要采用ESRI公司的ArcGIS软件开发工具包、高德地图Android版SDK、跬步科技的UCMAPfor Android等商业化组件进行定制开发。商业组件的引入虽然能够降低移动GIS 应用开发门槛,但却需要开发者付出不菲的代价来购买开发许可, 而且应用会受限于各种许可限制无法进行自由定制与分发。为了解决该问题, 本文提出了一种基于嵌入式Web服务器的Android移动端空间数据离线解决方法。

NanoHTTPD 是一个轻量级HTTP 服务器,被设计用来嵌入到其他应用程序中, 其基于伯克利软件套件许可进行发布,可提供HTTP1.1 支持, 能够响应GET、POST、PUT、HEAD、DELETE 请求,支持基本的cookies、查询参数解析、大文件上传、长连接等功能实现。NanoHttpd占用内存极少, 可根据需要轻松地进行个性化定制和功能扩展, 而且NanoHTTPD 的核心功能实现仅使用了一个Java文件,因此可以非常快速方便地将NanoHTTPD 嵌入到Android应用中以实现各种HTTP服务。

本方法中通过对NanoHTTPD 的扩展定制,在Android应用中实现了嵌入式Web 服务器,用于为应用提供地图切片服务和矢量要素服务。Leaflet是适用于移动端,并具有良好交互性的领先的开源JavaScript地图库, 代码大小仅为38kB,它具备开发者所需的全部地图功能。Leaflet的设计坚持了简便、高性能和高可用性的思想,能够高效运行在所有主流桌面和移动平台上, 可以利用许多插件进行扩展, 拥有漂亮、易用的应用程序编程接口文档和一个简单的、可读的源代码。

SQLite作为一款免费、开源、轻量级、基于文件的嵌入式数据库,它占用资源非常低,是Android操作系统体系结构中的一个重要成员,对于所有Android 系统应用程序都可用。SpatiaLite是构建于SQLite之上的开源空间数据库管理系统,它支持SQL92 和OGCSFS 这两个国际标准,SQLite实现了标准的SQL92 数据引擎,SpatiaLite实现了标准的OGCSFS核心接口,两者结合起来就是功能完备的空间数据库管理系统。SpatiaLite支持点、线、面等多种类型的空间数据,通过扩展的Geometry图形要素对象来进行数据的存取,使用SpatiaLite提供的数据存取函数可以得到空间数据的已知文本表现形式(thewellknowntext, WKT)字符串, 具体实现时将WKT 字符串作为中转格式进行数据的存取。本方法以在Android原生SQLite上加载Spatialite动态链接库的方式将其扩展为空间数据库,通过调用SpatiaLite的空间数据访问函数实现几何数据和属性数据的一体化管理, 这种实现方式可以有效地管理数据, 实现数据的无缝组织, 保证数据的完整性, 减少数据冗余, 并可提高数据的查询速度,减少数据存储空间。

该空间数据离线解决方法在“数字三江源时空信息云平台”Android端应用,“草原确权外业调绘系统”等移动GIS项目中都得到了应用。

“数字三江源时空信息云平台” 是基于“互联网+”理念和空间地理信息技术构建的三江源国家生态保护综合试验区综合信息管理平台, 它以空间信息为载体实现了三江源国家生态保护综合试验区生态环境、植被覆盖、地质条件、交通状况、经济民生等多元专题信息的数据融合、展示与管理,其建设可提高三江源自然保护区生态保护和建设工程中积累的数据资源的利用率,增强“三江源国家生态保护综合试验区”生态保护工作的信息化水平。Android端应用是重要的数据访问终端接口,可供用户在野外区域进行三江源地区相关信息的查询浏览,主要包括区域概况、重大工程、地形地貌、交通旅游等模块,以文字、图形、图表等多种形式对相关专题要素进行综合展示。

草原确权是指在草原资源调查的基础上, 确定草原权属性质,核发草原所有权证或使用权证,通过开展草地确权,可明确草原所有权和使用权,保障草原权利人的合法权益, 是维持国家生态安全、加强对草原监管, 落实草原承包责任制的重要措施。草原确权外业调绘系统是基于Android平板设备开发的用于草原确权工作的外业调绘系统,主要包括牧户信息、草场编辑、草场承包等模块,其中牧户信息模块用于实现对牧户个人和其家庭成员身份信息和照片信息的采集, 草场编辑模块实现了对草场边界的采集和编辑, 草场承包模块用于实现草场承包关系、草场使用权、承包年限等草场权属信息的采集编辑。

在上述两个系统应用中,空间数据离线存储的实现,使得即使在偏远牧区等网络通信无法保证的地区,外业人员仍然能够进行正常调绘作业,延伸了移动GIS使用范围。由于其设计结构清晰、易于使用、扩展灵活,非常适宜于进行Android端移动GIS的开发。

本文提出的Android 端空间数据离线解决方法,不依赖任何商业软件开发包,没有任何使用许可限制,其从前端地图展示到后端服务实现和空间数据离线存储全部采用开源软件进行构建,具有零成本、易于实现、易于扩展、可自由定制等特点,能够满足中小企业或个人创业者实现离线地图应用的需求,可节省Android端移动GIS应用开发成本,具有推广意义。

往期热点文章链接

2017年(第42卷)第6期

关于《测绘科学》

主管:国家测绘地理信息局

主办:中国测绘科学研究院

邮箱:niu@casm.ac.cn

网站:http://chkd.cbpt.cnki.net

编务QQ:2378225509

《测绘科学》微信公众号

    推荐阅读
  • 新手刷酸产品推荐干皮(敲详细刷酸教程)

    敲详细刷酸教程刷酸也有一段时间了今天做了个小小的总结,包含了各个阶段不同的刷酸方法~—先来说一下怎么去选酸新手——维A酸乳膏进阶——水杨酸棉片(0.5%浓度)老手——果酸(30%浓度)—如果之前没刷过酸的话,记得现。

  • 刀锋鞋适合什么人穿(刀锋鞋的原理)

    刀锋鞋适合什么人穿刀锋跑鞋当然适合跑步运动的青年人,不适合体重过大人群,刀锋跑鞋是2013年6月24日在美国波特兰发布一款结构减震跑鞋。鞋底搭载了16个由高科技聚合物制成的叶片,为跑者提供最高的纵向能量反馈。保护膝盖,减少运动消耗,延长运动时间,提高运动效率。

  • 石家庄紧急寻人通告(河北多地最新公告石家庄)

    石家庄紧急寻人通告行程轨迹公布!定州紧急提醒广大市民:2月28日0时至24时,天津市新增6例确诊病例,其中滨海新区4例、东丽区2例。截至目前,本轮疫情累计报告19例阳性感染者,均在定点医院治疗。为保障广大市民身体健康与生命

  • 2.7霸道加92号油可以吗 丰田霸道3.5可以加92号油吗

    有毒苯含量不得超过1%。是的,这款搭载奥迪新一代共轨直喷柴油发动机的A6L2.7TDI绝对值得好奇了解甚至驾驶。经过几天的试驾,这款奥迪A6L2.7TDI的总里程约为960公里,油表显示还能开100公里。从这几天试驾的操控性表现来看,奥迪A6L2.7TDI作为一款豪华行政轿车,其操控性和其他奥迪A6L一样稳健舒适。轮毂方面,A6L2.7TDI配备了与2.4款相同的7辐17英寸轮毂,轮胎尺寸完全相同。

  • 蒸2个鸡蛋要放多少水(这里有答案)

    蒸2个鸡蛋要放多少水?下面更多详细答案一起来看看吧!准备好所有材料,把两个鸡蛋放在碗中打散打匀。在鸡蛋液中加入156ml的饮用水,用筷子继续打匀。打匀后拿筛子把泡沫全部过滤掉,一定要过滤干净。盖上保鲜薄膜,防止水滴进去鸡蛋羹不平。小火蒸12分钟后,把火关掉,继续焖5分钟。五分钟后拿出来后在鸡蛋液上倒上酱油和麻油就可以开动了。

  • 简笔画少女古装美人(人物简笔画女孩可爱古装)

    少女古装美人简笔画你会画吗?儿童画第1页漫画图片简笔美女漫画人物简笔画少女古装古装漫画人物,下面来看看有没有你喜欢的简笔画少女古装美人?接下来我们一起去欣赏以下简笔画作品吧!

  • 如何让蒸蛋又嫩又滑好吃不翻车呢(蒸蛋又嫩又滑做法)

    接下来我们就一起去了解一下吧!如何让蒸蛋又嫩又滑好吃不翻车呢将鸡蛋打入碗里打散,一定要打得很散。加入温开水,边加水边搅拌,多搅拌几分钟。加入适量的盐,继续打散,用小勺撇去上面的一层泡沫不要。碗上盖上盖子,也可以用保鲜膜,蒸锅里加好水烧开,把蒸碗放入蒸锅。盖好盖子,蒸12分钟左右就好了。最后起锅后可加点葱花,芝麻油。

  • 牙膏怎么选择才是好的(如何选择牙膏)

    牙膏怎么选择才是好的试挤,质量良好的牙膏应能自然地挤出,膏体比较细腻光滑,并非正常的圆条状。在阳光反射下看细腻、光滑、洁净、无杂质和发黑现象,而质量低劣的牙膏发硬挤不出,或稍一挤膏体便大量涌出。试尝,将牙膏挤出少许试尝,质量好的牙膏香味纯正,无刺激味道。如果口感粗糙,有像沙子一样的颗粒滞留在嘴里,大多是含粗糙磨擦剂的牙膏,建议立即停用。对症选用药物牙膏,根据防蛀功效选用含氟牙膏。

  • 苹果充电器怎么保护(苹果手机如何充电才保护电池)

    苹果充电器怎么保护由于iPhone使用的是锂聚合物电池,并不存在记忆效应,因此并不需要等到手机彻底没电或者是低电量之后再充电,也就是说随时都可以充电。由于手机内还有一个充放电的计量芯片,每个月只需要完成一次完整的充放电就能够将电池进行校准。建议在充电的时候使用质量合格的充电器以及数据线,由于目前iPhone手机已经支持PD的快充协议,因此使用支持PD的快充头是能够支持快充。

  • 汽车电瓶什么情况下才换(汽车电瓶换完了)

    与电动转向泵通信才是重点发动机电脑自身可是重要部件,它要坏了,可能就打不着车了,所以咱们检查电动转向泵,这个标致3008,电动转向泵油是不缺的,通过诊断电脑我们去查找泵的电路图,搞清楚泵的供电和接地以及信号线。至此真相大明,紧固螺丝,清除故障码,试车正常。我接着说,重点在于你没换电瓶之前,都是好的,她说是的是的,这个标致3008外形时尚,平时开着也省心,我很喜欢这车,但就是换了电瓶之后就这不好,那不好了。