ZTMap室内地图定位平台设计方案

1   系统总体设计

1.1  系统概述

基于通过室内GIS地图平台和室内定位平台,通过室内定位设备的部署和信号采集,实现对室内人员和资产的实时定位、路线导航、区域管控告警、客流统计等相关功能。

1.2  总体目标

  • ZTMapIndoor室内GIS平台:实现室内地图数据的采集绘制和管理能力,为室内地图的可视化和导航等提供空间分析能力,是整个系统的支撑平台。
  • 室内定位平台:实现基于RSSI信号权重算法的室内定位能力
  • 无线通信集成平台:实现对移动设备终端的无线通信管理,并向应用层开放通信能力接口,支撑应用层通信交互相关的功能实现。
  • 业务应用平台:基于GIS和定位、通信平台,面向业务应用需求,提供具体的业务应用模块,实现上层应用

1.3  架构

 

数据层

    系统的数据按照性质的不同可以分为基础地理数据库、业务空间数据库、系统管理数据库、专业业务数据库等,基础地理数据库是指矢量二维GIS室内基础地理数据;业务空间数据包括地理空间对象的属性以及其他相关联的行业数据等;系统管理数据库是指系统管理所必须的用户权限、日志等相关系统数据;保险业务数据库是指保险业务的各类专用数据,这些数据不存在于本系统中,本系统在需要的时候可能需要进行远程调用集成。

支撑层

支撑层主要包含本系统的基础能力平台,包括GIS平台、定位平台、无线通信平台等。

GIS平台主要实现GIS地图可视化相关的所有数据管理和功能服务能力,定位平台实现包括WIFI&Ibeacon定位在内的各种定位能力的集成。对应用层开放能力调用接口,支撑应用层业务逻辑的实现。

无线通信平台是系统的信息通信枢纽,主要负责接收移动设备发送过来的定位、文字和图片信息、视频、各种报警等信息,并将信息实时保存到数据库中;同时将应用系统发送过来各种调度指令信息转发到智能终端设备上,在接收和转发数据的同时,将这些数据记录数据库中。

应用层

应用层本系统的核心业务应用部分,主要包括室内人员和资产的实时定位、路线导航、区域管控告警、客流统计等相关功能。应用层是在平台支撑层基础上,对业务流程和逻辑的具体实现。

接入层

是系统的具体用户界面,包括PC、手机、PAD、大屏等各类终端。

2   室内地图和应用平台

2.1  室内二三维地图平台

2.1.1 概述

室内定位GIS及计算引擎服务端基础GIS平台,支持WEB及手机终端应用。综合考虑PC应用和移动终端应用的地图优化配置,在无线数据传输速度、稳定性和成本等方面进行综合考量,建立室内地图平面坐标系统,建立数据存储引擎,构建基础室内地图数据拓扑结构,统一构建矢量室内地图数据空间索引,建立缓冲区分析、网络分析、地图互操作等各种常用基础模型。在系统架构方面构建具有集群服务能力的支持平台,构建动态服务集群服务,支持海量数据并发访问,在动态集群服务基础上,前期采用双服务器构成集群服务体系保障服务。  

 GIS共享服务平台是本系统的核心支撑平台,它实现了对矢量地图数据、业务资源数据的集成统一管理,提供了一个平台级的管理解决方案,能够往下管理各类空间数据,网上支撑各类空间服务发布,是本平台的核心支撑系统。

集数据管理、服务管理、用户管理、系统管理、计费管理等于一体的统一引擎,以标准的服务接口提供数据和服务的调用能力。

 

2.1.2 统一标准API

2.1.2.1  概述

作为地图服务共享平台的一个主要理念的体现和功能的载体,设计开发一系列统一标准的服务API是必不可少的。外部系统和用户访问本平台的数据和功能的主要途径,即应该是通过统一API进行,API是共享平台的一个窗口和通道,是平台松散耦合架构设计的集中体现。

2.1.2.2  统一开放API

在面向服务架构基础上,针对应用层的调用需求,提供应用开发接口,扩展本平台的支撑度。接口基于H5标准,提供跨平台的解决方案,兼容PC和移动端。

2.1.2.3  API应用优势

基于统一API的跨平台和标准化,使得访问影像和地图数据变得更加容易,同时基于API开发上层应用的成本 和时间也被大大缩减。

2.1.3 室内地图制作规范

由于室内地图尚属新兴领域,之前在行业内并未形成成熟的数据采集和制作规范,由于缺乏足够的实践经验,众多专家学者更多地只是从理论和经验上提出了各自的一些意见和建议,尚未形成统一或一致认可的室内地图制作规范。

本产品在理论基础和长期实践经验积累的条件下,制定了一套室内地图采集制作规范和流程,大大提高了室内地图采集制作的标准化,提高工作效率,为室内地图绘制领域的标准化研究做出了理论基础和实践经验的贡献。

2.1.4 地图数据维护工具

实现基础地图数据的在线绘制、编辑、风格设置、版本管理、发布等数据全周期管理;实现业务自定义图层和自定义业务数据的编辑维护等功能

2.1.5 基本地图操作功能

2.1.5.1  全图

功能概述

显示电子地图全貌。可以查看整个行政区域的全貌。

2.1.5.2  放大

功能概述

实现矢量地图的任意比例尺的放大,通过鼠标在地图上拉框拖动或点击的方式进行地图放大,随着地图的不断放大,地图上显示到信息将会逐渐详细,使得地图显示到内容越来越丰富。

2.1.5.3  缩小

功能概述

实现矢量地图的任意比例尺的缩小,通过鼠标在地图上拉框拖动或点击的方式进行地图缩小,随着地图的缩小,地图上显示到信息将会减少以达到最好的显示效果。

2.1.5.4  漫游

功能概述

移动地图,将地图视野以外的地图移动到视野内。可按住鼠标左键任意拖动地图,使之达到理想位置。

2.1.5.5  测距

功能概述

用户可以在地图上,沿着自己想要测量的线路,用鼠标单击地图,在上面画出一条直线或者折线,然后,在结束点双击,即可得到这条线所代表的实际线路的距离。对于折线,将显示当前直线段的长度及已画折线的总长度。

2.1.5.6  地图定位

功能概述

对地图上的任一或多个对象进行显示定位,用高亮等特殊效果进行定位。

2.1.5.7  刷新

功能概述

刷新地图。通过刷新清除地图上因查询、定位、最优路径查询等操作造成的临地图时标记。

2.1.5.8  二三维地图切换

功能概述

可以切换地图状态,在二维地图和三维地图之间进行风格切换。

2.1.6 地图基础查询功能

2.1.6.1  模糊查询

通过输入名称关键字,进行地图对象的查询,可以查询道路、建筑物等基础地理信息,也可以查询各类专题数据,查询结果以列表的形式显示出来,同时可以点击进行地图定位,高亮显示,同时可以点击链接查看相关的属性数据。

2.1.6.2  点图查询

可以直接用鼠标在地图上点击查询,系统自动查询出点击位置的地图对象信息。

2.1.6.3  拉框查询

用户可以在地图上拉一个矩形框,系统自动查询出拉框范围内的地图对象信息。

2.1.6.4  拉圆查询

用户可以在地图上拉一个圆形区域,系统自动查询出圆形区域内的地图对象信息。

2.1.6.5  多边形查询

用户可以在地图上通过点击鼠标绘制一个任意形状的多边形区域,系统自动搜寻出该多边形区域内的地图对象信息。

2.1.6.6  图层控制

控制每个图层的显示、选择、标注等。可以打开或关闭任意一个图层;设置图层是否可选;设置每个图层中点、线、面对象的显示样式(如点符号样式、线条样式、粗细、颜色、面的填充样式等),设置每个图层的标注的字体、样式等。实现不同图层的任意叠加显示。

2.1.6.7  室内跨楼层导航

在传统基于室内地图的路径导航的实现技术中,有一个最大的缺点,就是在跨楼层导航过程中,用户无法直观的看到完整的行走路线。在当前的屏幕视野内,始终只能显示当前一个楼层的平面图和当前楼层的行走路线,无法给用户一个基于地图的空间位置上的直观预见性的展示。而且,无法以更加有效的方式表示出跨楼层的路线导航特点。

为了解决现有实现技术存在的上述问题,我们提出了一种新的实现方案,能够解决上述的缺陷,具体如下:

  • 跨楼层室内地图制作和展示:以三维立体图代替二维矢量地图,以三维楼层地图的方式展示每个楼层,在进行跨楼层地图导航时,将每个楼层的三维立体图展现在同一个视野中
  • 跨楼层路径导航的路线展示方式:在进行跨楼层导航的时候,在三维跨楼层地图上绘制跨楼层的完整行走路线,跨楼层行为以楼梯或电梯的实体示意图进行表示。用户也可以选择点击某一楼层,进而显示该单个楼层的平面地图和具体的单层内的行走路线

2.2  可视化应用和分析系统

2.2.1 路线导航

实现室内跨楼层路线规划功能

2.2.2 实时位置

查询所有定位目标的实时位置分布

2.2.3 热力分布

根据人流的定位信息,在室内地图上显示实时热力图、历史热力图

2.2.4 区域人流统计

统计一定时间区间内的区域人次

2.2.5 进入区域分布

统计制定区域内的人流分布情况

2.2.6 活跃度分布 

查询指定区域的人流活跃规律

2.2.7 人员轨迹查询

查询任一目标的历史轨迹可视化结果

2.2.8 实时人数统计

统计当前人数、人数峰值、累计人数、新增人数等数据

2.2.9 人流量统计 

统计总人次、进入人次、驻留人次、平均驻留时间等数据

2.2.10     统计分析

统计楼宇或者楼层内的驻留人次、进入人次、总人次、总人数等各个指标在不同时间尺度的分布情况,包含统计图、分布均值图、占比图等

2.2.11     人员画像分析 

实现自定义人流画像功能,根据自定义的画像指标进行人流统计分析

2.3  室内地图APP应用

2.3.1 路线导航

实现室内跨楼层路线规划功能

2.3.2 实时位置

查询所有定位目标的实时位置分布

2.3.3 热力分布

根据人流的定位信息,在室内地图上显示实时热力图、历史热力图

2.3.4 区域人流统计

统计一定时间区间内的区域人次

3   室内定位引擎

3.1  定位架构图

3.2  平台概述

ZTMapIndoor室内定位引擎基于WIFI或iBeacon的室内定位服务引擎,实现对具有WIFI模块、蓝牙模块的手机或者定制标签设备等移动终端进行位置确认,这是一个基于RSSI信号强度特征进行实时定位运算的移动终端定位系统。

ZTMapIndoor室内定位引擎采用指纹定位、三角定位等主流定位算法,并在此基础上进行算法优化,在多年实际应用的基础上积累定位系统学习优化参数;并在定位应用层对定位体验进行设计提升,形成了稳定的定位算法。

 

3.3  定位方式

3.3.1 服务端主动感知

采取主动感知的定位方式,由WIFI的AP设备或者蓝牙基站主动感知环境中的手机、定位标签等WIFI和蓝牙定位终端,AP或者基站并将感知到的设备信息通过网络(有线网络、3G/4G等无线网络)实时发送给后台的定位服务器。定位服务器将接收到的所有数据进行汇总和过滤处理,然后对终端进行定位运算,得出其具体的地理位置坐标。

3.3.2 客户端主动感知

在移动终端设备上安装主动感知的应用程序,在终端设备上感知周边WIFI AP或iBeacon标签等信号,终端将感知的信号汇总后通过无线网络(3G/4G等无线网络)实时发送给后台的定位服务器,定位服务器将接收到的所有数据进行汇总和过滤处理,然后对终端进行定位运算,得出其具体的地理位置坐标。

3.4  指纹采集模块

指纹数据库的采集,是在定位区域按照一定的采集间距,测量各个用于定位的 AP 的 RSSI 信号强度,将测量点的位置信息与各个 AP 的 RSSI 信号强度组成的二元组,作为该点的指纹数据,存储在数据库中,作为定位阶段相似度匹配的基础。

3.4.1 指纹采集RSSI取值

由于室内复杂的环境,存在电磁信号的多径效应和非视距传播以及其他电子设备的影响,RSSI 信号强度并不是稳定的,而是存在一定的波动性。因此,不能将 RSSI 信号强度的一次测量值作为指纹,必须对接收信号强度进行一定的处理,减少 RSSI 信号强度随机性和不稳定性带来的误差。

均值滤波即多次测量求均值,将 N 次采集的信号强度求平均值。在 N 次采集的信号强度中,找到最大值和最小值,并记录最大和最小值出现的次数。如果最大值或最小值,只出现了一次,则舍弃这个值,计算剩余数据的平均值;如果最大或最小值,出现次数不只一次,则保留这个值,计算平均值。

将 N 次 RSSI 信号强度的测量数据,经过修改的平均滤波方法处理,将处理结果作为该 AP 在该点的指纹数据。

3.4.2 指纹采集流程

 

3.4.3 指纹采集工具

指纹采集工具,为了方便指纹采集阶段的工作,实现指纹数据的自动采集入库。其功能有:

l  指纹点新建:在地图上添加一个指纹点,用户可以自行添加指纹点,自动入库。

l  指纹位置查看:用户可以查看某个指纹点的实际地图位置,便于与实地场地进行对应,用于实地采点参考。

l  指纹采集:用户确认指纹点的实地位置之后,就可以开始指纹采集,用户可以自行选择信号采集的扫描次数,采集结束后,可以直接操作保存命令进行自动保存入库。

l  删除指纹:可以把不需要的指纹进行删除。

3.5  定位服务接口

3.5.1 通讯协议和数据格式

HTTP(S) + JSON

3.5.2 实时定位

室内GIS地图平台实时查询一个或多个终端的实时位置。

输入参数定位:

属性字段

说明

是否必选

mac

终端的mac地址(可以是多个,all为全部)

必选

key

身份认证key

必选

opt

locate

必选

输出参数定义:

属性字段

说明

是否必选

x

横坐标

必选

y

纵坐标

必选

floor

定位楼层号

必选

t

定位时间

必选

status

操作状态

必选

3.5.3 轨迹查询

查询一个终端在一定时间段内的定位轨迹。

输入参数定位:

属性字段

说明

是否必选

mac

终端的mac地址

必选

t1

起始时间

必选

t2

终止时间

必选

key

身份认证key

必选

opt

track

必选

输出参数定义:

属性字段

说明

是否必选

xys

轨迹集合(json集合格式)

必选

status

操作状态

必选

3.5.4 路线规划

查询两点之间的最短路线。

输入参数定位:

属性字段

类型

说明

取值

是否必选

city

String

城市区号

必选

area

String

区域编号

必选

build

String

楼宇编号

必选

sp

STMapPoint

起点

必选

ep

STMapPoint

终点

必选

floor1

String

起点所属楼层编号

必选

floor2

String

终点所属楼层编号

必选

tactic

Number

策略:

0 最近设施

1 最近电梯

2 最近扶梯

3最近楼梯

可选,默认为0

spoints

json

开始楼层特殊点列表 ,格式[{f_id:{1},p_id:{2},x:{3},y:{4}},...]                                                                        其中:{1}fid {2}pid {3}坐标X {4}坐标Y

可选

epoints

json

结束楼层特殊点列表,如开始楼层和结束楼层为同一楼层,置空即可,格式同上

可选

cbkFunction

Function

回调函数

必选

输出参数定义:

输出参数主要为路线规划结果集,为JSON格式,其层次结构如下:

 

第1个楼层的路径

        当前路径所属楼层编号

        当前路径的坐标串

当前路径的分段描述数组

            第1个分段坐标串

……

……

            第N分段描述文本

特殊点列表

路线描述

……

……

第N个楼层的路径

 

对应的json文本示例:

[{"floor":"0","line":"51.229373,15.089423;51.081163999999994,29.199492999999997;51.081163999999994,29.199492999999997;52.710823,33.347612999999996;52.710823,33.347612999999996;54.340482,35.569796000000004;54.340482,35.569796000000004;56.858924,37.421631;56.858924,37.421631;56.700907,63.124957;56.700907,63.124957;56.599816,79.568606;56.599816,79.568606;56.414474,109.716899;56.414474,109.716899;68.710647,109.865061;68.710647,109.865061;68.4143,115.790882;68.4143,115.790882;66.488419,120.531569;66.488419,120.531569;60.858824999999996,127.04999400000001;60.858824999999996,127.04999400000001;69.465399,130.965025","linedes":"51.22936666666667,15.089433333333334;51.08116666666667,29.199500000000004_往前行驶14米!!51.08116666666667,29.199500000000004;52.71083333333333,33.34760000000001_往前行驶4米!!52.71083333333333,33.34760000000001;54.340466666666664,35.5698_往前行驶2米!!54.340466666666664,35.5698;56.85893333333333,37.42163333333333_往前行驶3米!!56.85893333333333,37.42163333333333;56.700900000000004,63.12496666666667_往前行驶25米!!56.700900000000004,63.12496666666667;56.599799999999995,79.5686_往前行驶16米!!56.599799999999995,79.5686;56.41446666666667,109.71690000000001_往前行驶30米!!56.41446666666667,109.71690000000001;68.71063333333333,109.86506666666666_往前行驶12米!!68.71063333333333,109.86506666666666;68.4143,115.79086666666669_往前行驶5米!!68.4143,115.79086666666669;66.48843333333333,120.53156666666668_往前行驶5米!!66.48843333333333,120.53156666666668;60.858833333333344,127.05_往前行驶8米!!60.858833333333344,127.05;69.46539999999999,130.96503333333334_往前行驶9米","points":[{"dis":11,"f_id":"0","p_id":"8001","p_name":"顾家家居","x":"59.671211","y":"26.300639999999998"},{"dis":32,"f_id":"1","p_id":"8002","p_name":"???","x":"39.640254","y":"46.801109"},{"dis":59,"f_id":"2","p_id":"8003","p_name":"柯意玛","x":"38.579648","y":"74.20762699999999"}],”des”:”往前4米。。。。。。。。。。。。”}]

        

3.6  管理控制台功能设计

3.6.1 引擎管理

3.6.1.1  引擎状态管理

         查询引擎的运行状态,引擎的状态类型如下:

  • 正式运行
  • 停止运行
  • 启动引擎:一键式启动空间大数据引擎的运行
  • 停止引擎:一键式停止空间大数据引擎的运行

3.6.1.2  引擎操作

3.6.2 设备查询

3.6.2.1     AP查询

         查询接入平台的所有AP信息。以查询列表的形式显示每一个AP的MAC地址等基本信息。

3.6.2.2     指纹规划

         将“指纹采集工具”中的指纹查询和规划功能页面集成在管理控制台中。便于在控制台随时查看管理指纹点信息。

3.6.2.3     终端查询统计

         实时查询统计探测到的所有终端的统计数据。

l  某一时间段内所有的终端数量统计

l  所有终端数量随时间的变化曲线

l  通过MAC地址查询某终端是否存在

3.6.2.4     黑名单

         管理一个黑名单,黑名单中记录一个或多个设备的MAC地址,在黑名单中存在的设备,平台将自动过滤,不对其进行定位和记录。

3.6.3 用户管理

3.6.3.1     后台用户管理

         实现管理控制台系统的登陆用户权限管理,包括用户的新建、修改、删除;用户访问权限的分配。。

3.6.3.2     应用接口用户管理

  • 创建用户:通过输入用户名、用户类型、接入IP等字段创建用户
  • 生成用户KEY:为某一用户生成对应的唯一key,作为引擎API接入的依据

3.6.4 日志管理

3.6.4.1     操作日志

         实现管理控制台用户操作的记录,提供操作日志的查询,可以根据用户名、时间、操作功能类别等多角度综合查询。

3.6.4.2     接口日志

         记录引擎接口接入用户的所有调用情况,可以根据用户名、KEY、时间、功能点等多属性进行复核查询。

4   平台性能指标

(1)定位精度:室内定位精度达到3米以内,理想环境下可达1-2米。与终端设备有关联。

(2)定位性能:支持定位引擎的集群式扩展扩容。

(3)地图性能:海量矢量图形数据的秒级渲染显示,支持集群扩展。

(4)数据库兼容:支持Sqlserver、Oracle、Mysql等常用数据库系统。

(5)跨平台:支持Windows、Linux、Unix等多种平台。

(6)标准化:支持标准化矢量数据MIF等文件格式。

猜你喜欢

转载自www.cnblogs.com/3DGIS-BIM-VR/p/12350338.html