整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Web端也能实现基于位置GPS的增强现实?

Web端也能实现基于位置GPS的增强现实?

近AR导航(AR+GPS)实火,不仅国内地图公司纷纷布局AR导航市场,高德地图在Android和iOS端正式上线AR导航功能(高德地图AR导航iPhone版也上线啦!),腾讯地图和滴滴也分享一些关于AR导航的关键技术(滴滴AR实景导航背后的技术);国外Google最近又更新完善了AR导航的功能,交互更加友好,导航更加直观高效。目前的AR导航多直接运行在原生端(iOS或Android),那么在Web端可以实现AR导航嘛?当然可以,有已经封装好的框架供我们开发使用:GeoAR.js是基于Web端端一个免费的轻量级库,可使用你的手机GPS传感器在Web端实现AR导航功能。


关于WebAR

WebAR使用WebRTC,WebGL和现代传感器API的组合技术,通过Web浏览器提供对基于Web的增强现实的访问与实现。2009年FLARToolKit的诞生标志着AR技术进入了Web时代。FLARToolKit是使用最广泛的基于Flash的AR库,得到了大型开发人员社区和许多带有示例应用程序的网站的支持。FLARToolKit是ARToolKit的Flash Actionscript(v3)版本,可用于快速开发基于Web的AR体验。FLARToolKit从输入图像中识别出视觉标记,然后计算摄像机在3D世界中的方向和位置,并将虚拟图形覆盖在实时视频图像上。FLARToolKit支持所有主要的Flash 3D图形引擎(Papervision3D,Away3D,Sandy,Alternativa3D)。但随着Flash的没落,FLARToolKit框架也慢慢淡出历史舞台。如今WebAR越来越主流,市面上也有许多优质的高效的第三方框架可供开发者使用,好的框架或工具往往会事半功倍,下面是作者总结的比较成熟的一些框架:

AR.js是一个轻量级的增强现实类JavaScript库,支持基于标记和位置的增强现实。开发人员可以使用几行HTML将AR特性和功能引入任何网站。该项目是开源的,在GitHub上拥有近14,000个stars,各种平台的开发人员正在使用它来创建更多新的数字体验。AR.js框架包括跨浏览器兼容性,并且支持WebGL和WebRTC,这意味着它可以在iOS 11以上的Android和iPhone设备上正常工作。通过包装许多不同的AR框架,包括three.js,a-frame和ARToolKit,AR.js使得将AR引入Web应用程序变得更加简单高效。它具有以下优点:

  • 跨浏览器兼容性
  • 即使在较旧的设备上也可以达到60fps的高性能
  • 基于Web,无需安装
  • 开源,可免费访问
  • 使用WebGL和WebRTC在所有移动设备上均可使用
  • 无需额外或不常见的硬件
  • 可以用不到10行HTML来完成

Google Maps Live View:最近,Google在Google Maps应用程序上发布了其基于位置的AR体验。手机会从GPS数据中识别其在世界上的位置,并在手机上显示AR内容以突出显示地点,方向等。

想象一下,现在实现相同的AR效果,但是它是通过Web实现的的,只要打开浏览器,每部手机都可以访问。无需在手机上安装任何应用。现在有个框架就可以帮你实现Web上基于位置的AR:GeoAR.js。

简单的GeoAR.js演示

需要在装有GPS传感器的手机上打开url,在打开它之前先启动GPS传感器。当你在户外时,试着打开它,这样你会有一个更稳定的体验。你会看到你周围的一些地方,用一个地方图标表示。如果你点击它们,它会显示你的地名。演示地址:

https://nicolo-carpignoli.herokuapp.com/examples/basic.html

https://nicolo-carpignoli.herokuapp.com/examples/places-name/

GeoAR.js基本上具有两个功能:

(1)根据相机的方位/位置,根据现实世界中的位置在手机上显示AR内容

(2)与AR内容和Web UX元素进行交互。

目前(2019年9月)可用的称为“点击位置”的是作者刚刚发布的演示URL。在那方面,作者已经使用Foursquare API从用户GPS位置开始,将特定数量的地点动态添加到应用中。作者还使用从HTML导入的Javascript为每个图标添加了位置图标和单击行为。

GeoAR.js完成了其余工作:启动后,询问是否启用了GPS数据权限(还处理有关iOS 12运动传感器的问题),并在相机上显示了位置图标。借助GeoAR.js重新计算数据并显示内容在真实世界中的位置,移动相机并在周围走动将改变用户在真实世界中的位置和方向。为此,它使用一种算法来计算距用户位置的对象距离。

GeoAR.js项目地址:

https://github.com/nicolocarpignoli/GeoAR.js

日常工作中,特别是一些涉及现场施工资料制作的朋友,某些情况需要提供施工现场GPS经纬度位置信息。如果你不在现场,需要再跑一次,定位获取GPS位置信息吗?当然不用,我们可以使用“拾取坐标系统”,在地图上定位获取。

一、百度拾取坐标系统

该系统支持地址精确/模糊查询;POI点坐标显示、复制;坐标鼠标跟随显示;支持坐标查询(需要将坐标反查框勾选)。

官方地址:http://api.map.baidu.com/lbsapi/getpoint/

二、腾讯坐标拾取器

该系统功能和百度拾取坐标系统相似,多了一个街景拾取器,朋友们可以自行探索测试。

官方地址:https://lbs.qq.com/tool/getpoint/index.html

需要经常和GPS信息打交道的朋友值得收藏备用,体验后欢迎留言交流。

、选点和埋石、制定观测计划

1、选点:GPS测量并不要求测站之间相互通视,网的图形选择比较灵活,只要均匀布置于整个测区即可。但如果施工阶段会有全站仪加入,就要考虑通视的因素了。

2、埋石:GPS等级测量网点一般应设置具有中心标志的标石,标志点标石类型可参照《全球定位系统(GPS)测量规范》。

3、施测前制定观测计划,根据设计的GPS控制网布设方案、精度技术要求、GPS接收机数量,后勤交通、通信保障条件等制定测量计划,包括:确定工作量、选择观测时段 、及人员设备车辆调度等。

二、野外观测

1、架站:对中、整平(提前将仪器设置为静态测量存储模式、采样间隔通常为1s~5s,卫星高度角15~25)

2、量取仪器高,(斜高或垂直高,不同厂家、不同型号的仪器要参考说明书进行测量)

3、开机(锁星正常一分钟后开始记录)

4、测量员记录测站信息(测站号、仪器号、仪器高、起始时间及结束时间)

重点笔记:静态观测记录信息内容

仪器号: 机身序列号

开机与关机时间: 北京时间(GPS时+8h)

测站点名: 字母+数字组合,三四个字符(如:G03)

仪 器 高 : 单位米,精确到1mm

三、数据传输

用USB线连接GPS机头与电脑,电脑会显示有一个U盘,打开并进行文件复制,粘贴到电脑中

四、HGO软件处理流程

下面通过一个实例,重点讲解中海达静态后处理软件HGO解算静态数据的过程。

1、新建工程

打开HGO数据处理软件

新建项目

“文件”→“新建项目” 进入工程设置窗口。输入“项目名称”,也可同时指定项目存放的文件夹,按“确定”完成创建新项目的工作。

2、项目属性编辑

“文件”→“项目属性”,用户设置项目内容,主要是设置“限差”:

项目属性

3、设置坐标系统

“文件”→“坐标系统设置”, 主要设置测区参考椭球、投影方法、参数,如图:

坐标系统设置

4、数据导入

创建完任务后开始加载GPS外业数据观测文件。“文件”→“导入”,如图所示:

导入数据

数据导入后,软件会自动形成基线、同步环、异步环、重复基线等内容。

录入数据后的窗口

5、编辑文件信息

数据加载完成,点击“观测文件”,再点击右边的工作区“文件”选项卡,即可查询详细文件的列表。双击某行,可弹出编辑界面,输入GPS天线高、接收机类型等。如图。依照此方法完成录入或编辑所有文件的天线信息。

录入数据后的窗口

6、处理基线

数据加载完成,下一步处理基线,点击菜单“基线处理”→“处理全部基线”,软件将采用系统默认的基线处理设置,处理所有的基线向量。

处理过程可视化,整个基线处理的过程进度会有显示。另外从“基线”列表中也可以看到每条基线的处理状态。

基线处理过程

全部基线向量处理完后,网图中的基线由原来的浅灰色变为深绿色,基线窗口列表列出所有基线解的情况,如图所示:

基线处理结果

基线处理合格后,检查重复基线,同步环、异步环是否合格?

若不合格,需要处理构成重复基线、同步异步环的基线,直到全部基本合格,或者在本次测量精度范围之内。

一般基线大部分合格,如有不合格的再单独处理。

重点笔记——不合格基线处理的方法:

1.减小高度截止角

2.调整采样间隔

3.尝试GLONASS不参与解算,或BDS不参与解算、或单GPS解算。

4.调整基线残差序列。

基线残差序列处理方法:

1.把波动较大的卫星号去除,

2.把偏离中线较大的卫星去掉,

3.去掉卫星信号质量差的卫星。

再次解算!再次处理!直到重复基线、同步环、异步环全部合格为止。

7、平差前的一些设置

基线处理合格后,需要对基线处理成果进行检核。

然后进入网平差准备。

在树形视图区中切换到“点”,确定哪些站点是控制点。在右边工作区点“站点”,选中站点,点击右键菜单,选择“转为控制点”,这些点会自动添加到“控制点”列表。如图:

观测站点设置为控制点

双击某站点进行输入。

控制点信息编辑

同理将所有的已知点坐标都编辑输入完毕。

点击菜单“网平差”→“网平差设置”,

设置平差参数

8、执行网平差

点击菜单“网平差”→“平差”,见图:

平差工具

一般选“全自动平差”。软件会自动根据起算条件,进行自由网平差、WGS84约束平差、当地三维约束平差,以及二维约束平差,并生成平差结果列表。您可选择想要查看的结果,点击“生成报告”,即可查看。

9、成果输出

点击"网平差",选"平差报告设置",选择和指定输出内容及格式。

平差报告设置界面

以生成HTML格式报告为例,在平差工具中点“生成报告”,即可导出一个HTML报告形式相应的平差报告了。

生成网平差报告

至此,一个完整的GPS几台测量基线解算成果,网平差,以及平差后的坐标成果都已经完成。

检查结果报表,编辑文档、打印出图。