CN106339443A - 一种位置与轨迹管理方法及装置 - Google Patents
一种位置与轨迹管理方法及装置 Download PDFInfo
- Publication number
- CN106339443A CN106339443A CN201610707337.5A CN201610707337A CN106339443A CN 106339443 A CN106339443 A CN 106339443A CN 201610707337 A CN201610707337 A CN 201610707337A CN 106339443 A CN106339443 A CN 106339443A
- Authority
- CN
- China
- Prior art keywords
- data
- monitor
- user
- track
- conservator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Abstract
本发明涉及一种位置与轨迹管理方法及装置,属于地理信息管理领域。该方法及装置提供的位置与轨迹定位方法则不限于定位方式,定位源数据可以由传统方式生成,也可以由外置定位接收机生成,并且提供了位置监听器接口,允许用户通过任何定位方式提供位置源数据,从而实现了数据来源多样化,数据生成逻辑参数可配置化,进而提供了完整的位置与轨迹管理解决方案。
Description
技术领域
本发明涉及一种位置与轨迹管理方法及装置,属于地理信息管理领域。
背景技术
在外业业务中,例如国土巡查、电力巡线、城管执法,客户要求APP可以即时跟踪记录设备的位置,并将位置数据整理成轨迹数据,以反映业务员的当前位置和位置动态。
在地理信息行业领域,几乎每一种类型的移动应用都需要对移动设备进行位置定位和轨迹跟踪,力求以最直观和最直接的方式展示业务人员的工作动态。
但是,市面上的APP的定位方式都单一,只能通过手机内置GPS模块结合WIFI网络和蜂窝通讯网络执行定位工作。特别是在VPN专网环境中,设备因为不能访问外网而缺少Wifi和通讯基站的定位数据,致使设备不能通过AGPS技术定位,对定位速度和准度都造成影响。
此外,现有技术r数据生成逻辑固定,不能用一个通用的处理方法以满足许多业务场景的需求。
发明内容
本发明主要是解决现有技术所存在的传统方法定位方式单一,数据生成逻辑固定,未提供数据查询等服务的技术问题,提供了一种位置与轨迹管理方法及装置。该方法及装置提供的位置与轨迹定位方法则不限于定位方式,定位源数据可以由传统方式生成,也可以由外置定位接收机生成,并且提供了位置监听器接口,允许用户通过任何定位方式提供位置源数据,从而实现了数据来源多样化,数据生成逻辑参数可配置化,进而提供了完整的位置与轨迹管理解决方案。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种位置与轨迹管理方法,包括:
配置文件管理步骤,用于建立并维护一个用于配置定位参数和轨迹参数的配置文件,其中,定位参数包括:定位频率、硬件功率、定位精度;轨迹参数包括位置点数量;所述配置文件中配置数据上传的服务路径,包括位置上传服务的网络路径和轨迹上传服务的网络路径以及PING服务路径;
定位监听器初始步骤,用于在在后台Service中运行定位监听器,所述监听器包括启动或停止监听方法;当用户退出APP但没有销毁APP进程的时候,或者当平板熄屏的时候,监听器仍需保持工作;每当成功定位后,监听器将定位结果通过接口传递到数据保存器,监听器与保存器保持相对独立,互不干扰;监听器的工作参数由管理器配置文件配置;提供监听器接口方法,允许用户自定义监听逻辑,当监听器工作过程中发生错误时,抛出错误信息而不能引起程序闪退;
数据保存器初始步骤,用于初始化数据保存器,所述数据保存器包括位置数据保存器和轨迹数据保存器,两者由不同的实现接口;当保存器接收到来自监听器的定位结果后,需要经过定位结果合法性分析逻辑以后方能入库;当保存器接收到来自监听器的定位结果后,提供数据加工方法,允许用户对原始定位数据进行加工;保存器包含一个SQLiteOpenHelper实例,执行与数据库有关的操作,数据库的建表和表属性的更新根据配置文件完成,并且提供数据库数据入库、查询、删除等操作接口方法;除了保存默认的表字段数据以外,用户还可以传入哈希表扩展数据保存的内容;数据入库完成后,将数据传递给上传器,同时通知状态监视器已经完成了数据入库工作;
上传器初始化步骤,用于初始化一个上传器,所述上传器包括位置数据上传器和轨迹数据上传器,两者属于不同的实现接口;当上传器接收到来自保存器的结果后,提供数据加工方法,允许用户对保存后的位置数据进行加工;上传工作在独立的线程中完成,并在上传后改变数据表中“上传状态”属性值;默认上传器在数据上传前要通过调用PING服务进行网络状态判断,只有在PING服务畅通有返回值的情况下开始数据上传工作;数据上传完成后,通知状态监视器已经完成了数据上传工作;
状态监视器初始步骤,用于初始化一个状态监视器,在定位开始后定位成功后、保存器获取到定位数据后、完成数据保存工作后、上传器获取到保存器传递的数据后、完成数据上传工作后调用状态监视器以让用户监视数据的处理过程;
其中,数据处理流程如下:
步骤1,将定位源数据进行过滤,先把精度误差超限的数据删除,再根据与上一个点的距离与时间差求出来的速度删除由于定位漂移而带来错误定位数据;
步骤2,对定位数据进行坐标系转换,对定位坐标进行纠偏,将坐标从2000坐标系转换成用户地图坐标系,其中转换参数可配置,也可以配置目标坐标系的名称;
步骤3,对定位数据进行数据级的加密,对定位数据进行DES加密,定位数据加密后与用户信息进行绑定,在数据中保存位置坐标和用户ID以及时间戳信息;
步骤4,按照用户配置的轨迹参数生成轨迹数据,一共要建两个数据表,一个是位置数据表,一个是轨迹数据表,每条轨迹由多个位置点组成,如果本地没有数据库,则程序自动新建一个数据库并新建数据表;
步骤5,提供位置信息和轨迹信息查询方法,根据用户在方法中传入时间区间、用户ID信息完成数据查询和数据解密工作,并返回位置或轨迹对象集,方便用户后续操作。
步骤6,提供位置与轨迹数据绘制方法,根据用户传入位置或轨迹对象集和地图控件对象在地图对象中绘制位置点和轨迹线段。
一种位置与轨迹管理装置,包括:
配置文件管理模块,用于建立并维护一个用于配置定位参数和轨迹参数的配置文件,其中,定位参数包括:定位频率、硬件功率、定位精度;轨迹参数包括位置点数量;所述配置文件中配置数据上传的服务路径,包括位置上传服务的网络路径和轨迹上传服务的网络路径以及PING服务路径;
定位监听器初始模块,用于在在后台Service中运行定位监听器,所述监听器包括启动或停止监听方法;当用户退出APP但没有销毁APP进程的时候,或者当平板熄屏的时候,监听器仍需保持工作;每当成功定位后,监听器将定位结果通过接口传递到数据保存器,监听器与保存器保持相对独立,互不干扰;监听器的工作参数由管理器配置文件配置;提供监听器接口方法,允许用户自定义监听逻辑,当监听器工作过程中发生错误时,抛出错误信息而不能引起程序闪退;
数据保存器初始模块,用于初始化数据保存器,所述数据保存器包括位置数据保存器和轨迹数据保存器,两者由不同的实现接口;当保存器接收到来自监听器的定位结果后,需要经过定位结果合法性分析逻辑以后方能入库;当保存器接收到来自监听器的定位结果后,提供数据加工方法,允许用户对原始定位数据进行加工;保存器包含一个SQLiteOpenHelper实例,执行与数据库有关的操作,数据库的建表和表属性的更新根据配置文件完成,并且提供数据库数据入库、查询、删除等操作接口方法;除了保存默认的表字段数据以外,用户还可以传入哈希表扩展数据保存的内容;数据入库完成后,将数据传递给上传器,同时通知状态监视器已经完成了数据入库工作;
上传器初始化模块,用于初始化一个上传器,所述上传器包括位置数据上传器和轨迹数据上传器,两者属于不同的实现接口;当上传器接收到来自保存器的结果后,提供数据加工方法,允许用户对保存后的位置数据进行加工;上传工作在独立的线程中完成,并在上传后改变数据表中“上传状态”属性值;默认上传器在数据上传前要通过调用PING服务进行网络状态判断,只有在PING服务畅通有返回值的情况下开始数据上传工作;数据上传完成后,通知状态监视器已经完成了数据上传工作;
状态监视器初始模块,用于初始化一个状态监视器,在定位开始后定位成功后、保存器获取到定位数据后、完成数据保存工作后、上传器获取到保存器传递的数据后、完成数据上传工作后调用状态监视器以让用户监视数据的处理过程;
其中,数据处理流程如下:
步骤1,将定位源数据进行过滤,先把精度误差超限的数据删除,再根据与上一个点的距离与时间差求出来的速度删除由于定位漂移而带来错误定位数据;
步骤2,对定位数据进行坐标系转换,对定位坐标进行纠偏,将坐标从2000坐标系转换成用户地图坐标系,其中转换参数可配置,也可以配置目标坐标系的名称;
步骤3,对定位数据进行数据级的加密,对定位数据进行DES加密,定位数据加密后与用户信息进行绑定,在数据中保存位置坐标和用户ID以及时间戳信息;
步骤4,按照用户配置的轨迹参数生成轨迹数据,一共要建两个数据表,一个是位置数据表,一个是轨迹数据表,每条轨迹由多个位置点组成,如果本地没有数据库,则程序自动新建一个数据库并新建数据表;
步骤5,提供位置信息和轨迹信息查询方法,根据用户在方法中传入时间区间、用户ID信息完成数据查询和数据解密工作,并返回位置或轨迹对象集,方便用户后续操作。
步骤6,提供位置与轨迹数据绘制方法,根据用户传入位置或轨迹对象集和地图控件对象在地图对象中绘制位置点和轨迹线段。
因此,本发明具有如下优点:1.本发明提供了位置监听器接口,允许用户通过任何定位方式提供位置源数据;并且允许用户修改和扩展位置记录与轨迹生成的方法,进一步提升模块的兼容性和应用面。
2.提供了一套完整的位置记录与轨迹生成逻辑,位置与轨迹管理器提供默认的一套位置记录与轨迹生成接口方法,通过用户提供的配置文件,实现灵活可变的位置记录与轨迹生成逻辑,延伸了本发明的使用场景,使用户在使用本发明完成位置与轨迹管理功能的时候不再局限于既定的方法参数。
3.提供数据管理逻辑,除了自动完成数据表的维护和数据插入以外,还集成数据访问和筛选功能,让本模块为用户提供完整的位置与轨迹管理解决方案,而不是仅仅提供位置轨迹的记录服务。
附图说明
附图1是本发明的位置与轨迹管理数据处理方法示意图;
附图2是本发明的配置文件示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本实施例的位置与轨迹管理器依赖配置文件初始化,管理器的所有组件都在Service中运行,因此管理器提供方法启动与停止Service的工作。
在定位接口中,支持配置内置GPS定位与CORS接收机定位两种方式,也可两种并存。定位成功后提供位置数据处理接口方法,供用户完成自定义位置数据加工工作,例如坐标的纠偏工作。
定位成功后位置数据通过观察者模式传递到数据保存器,由保存器完成数据保存工作。
数据保存成功后数据的ID将通过观察者模式传递到数据上传器,由上传器完成数据上传工作。
位置数据在生产、处理、保存和上传过程中的关键工序节点都会通知状态监视器,用户可以通过实现状态监视器的各个接口方法完成工序结束后的自定义操作,例如定位成功后将位置点绘制在地图上、上传失败时将信息记录到日志中。
位置与轨迹管理器的功能涉及本地数据库保存和网络通讯,管理器默认使用一种建表方式和通讯数据结构。用户也可以通过实现接口自定义建表方式和通讯数据结构。具体描述如下。
一、配置文件管理
其中,本实施例的置文件中可以配置定位参数和轨迹参数,具体为:
定位参数:定位频率、硬件功率、定位精度。
轨迹参数:位置点数量。
本实施例可以配置数据库表列。生成器会在应用数据库中建立两个数据表,分别为位置表和轨迹表。位置表默认拥有“用户ID”、“定位方向”、“经度”、“纬度”、“定位时间”、“上传状态”共6列,轨迹表默认拥有“用户ID”、“轨迹开始时间”、“轨迹结束时间”、“坐标集字符串”、“上传状态”共5列。用户可以在配置文件中描述需要增加的列名,例如在位置表中增加名为“所在城市”一列,在配置文件中描述后程序会自动在位置表中新增一列,这一列的数据怎样入库将在后面的章节中介绍。
本实施例可以配置数据上传的服务路径。包括位置上传服务的网络路径和轨迹上传服务的网络路径以及PING服务路径(PING服务是什么详见约束性需求)。
可以配置定位方式。当使用CORS接收机定位时适用。
其中,在使用位置与轨迹管理器的时候,用户必须在服务端提供PING服务,以供移动端作为判断网络是否通畅之用。当用户向PING服务发出请求时,收到返回值“PANG”则表示服务通畅。
其中,当解析位置与轨迹管理器配置文件过程中发生错误时,应抛出错误信息而不能引起程序闪退。
二、定位监听器
本实施例的定位监听需要在后台Service中运行,并提供方法启动或停止监听。
当用户退出APP但没有销毁APP进程的时候,或者当平板熄屏的时候,监听器仍需保持工作。
每当成功定位后,监听器将定位结果通过接口传递到数据保存器,监听器与保存器保持相对独立,互不干扰。
当监听器成功获取定位位置后,除了通知保存器以外,也要通知状态监视器。监听器的工作参数由管理器配置文件配置。
本实施例暴露监听器接口方法,允许用户自定义监听逻辑。当监听器工作过程中发生错误时,应抛出错误信息而不能引起程序闪退。
三、数据保存器
本实施例的数据保存器包括位置数据保存器和轨迹数据保存器,两者同属保存器范畴,但属于不同的实现接口。
当保存器接收到来自监听器的定位结果后,需要经过定位结果合法性分析逻辑以后方能入库。
当保存器接收到来自监听器的定位结果后,提供数据加工方法,允许用户对原始定位数据进行加工,例如坐标系转换工作。默认的保存器接口实例均不进行任何加工工作。
保存器包含一个SQLiteOpenHelper实例,执行与数据库有关的操作。数据库的建表和表属性的更新需要自动根据配置完成,暴露数据库数据入库、查询、删除等操作接口方法。
除了保存默认的表字段数据以外,用户还可以传入哈希表扩展数据保存的内容。例如用户在位置表中,增加名为“所在城市”一列,在配置文件中增加新增列的描述后,程序会自动在位置表中新增一列,在实例化保存器接口时,用户可以传入包含“所在城市”信息的哈希表,“所在城市”信息将随位置信息一并保存到位置表。
数据入库完成后,将数据传递给上传器。同时,通知状态监视器已经完成了数据入库工作。
本实施例中暴露定位结果的合法性分析逻辑方法,允许用户自定义方法的具体实现。
本实施列暴露数据库数据入库、查询、删除等操作接口方法,允许用户自定义方法的具体实现。
当数据保存工作过程中发生错误时,应抛出错误信息而不能引起程序闪退。
四、上传器
上传器包括位置数据上传器和轨迹数据上传器,两者同属上传器范畴,但属于不同的实现接口。
当上传器接收到来自保存器的结果后,提供数据加工方法,允许用户对保存后的位置数据进行加工,例如坐标系转换工作。默认的上传器接口实例均不进行任何加工工作。
上传工作在独立的线程中完成,并在上传后改变数据表中“上传状态”属性值。默认上传器在数据上传前要通过调用PING服务进行网络状态判断,只有在PING服务畅通有返回值的情况下开始数据上传工作。
数据上传完成后,通知状态监视器已经完成了数据上传工作。
本实施例暴露上传器接口方法,允许用户自定义上传和网络状态判断逻辑。当上传器工作过程中发生错误时,应抛出错误信息而不能引起程序闪退。
五、状态监视器
在位置与轨迹管理器工作到如下步骤时,需要调用状态监视器的对应方法以让用户监视管理器的工作过程包括:定位开始后定位成功后、保存器获取到定位数据后、完成数据保存工作后、上传器获取到保存器传递的数据后、完成数据上传工作后
默认的状态监视器的所有方法都不执行任何操作,用户可以自行实现监视器接口并实现各个方法。例如在定位成功后调用的方法内,实现将坐标点绘制在地图上的逻辑。
六、整体设计
位置与轨迹管理器包括以下几个部分:
(1)LocationMng类:通过Builder模式设置属性和实例化的类,用户主要面对的类,提供各种位置与轨迹管理操作方法。
(2)ILocationListener位置监听器接口:启动定位功能,获取设备位置信息。
(3)ILocationSaver位置信息保存接口:接收位置监听器的定位信息,保存用户位置信息至本地。
(4)ITrailSaver轨迹信息保存接口:接收位置监听器的定位信息,生成轨迹数据并保存至本地。
(5)ILocationUploader位置信息上传接口:接收位置信息保存接口的保存结果信息,对位置信息进行自定义处理后,将位置信息上传到指定服务器。
(6)ITrailUploader轨迹信息上传接口:接收轨迹信息保存接口的保存结果信息,对轨迹信息进行自定义处理后,将轨迹信息上传到指定服务器。
(7)IStateMonitor状态监视器接口:接收各个接口在关键工作节点的通知信息,调用对应的方法后执行不同的操作。默认的状态监视器接口实例的所有方法都不执行任何操作。
下面把接口中的一些关键方法进行介绍如下:
1、LocationMng类
LocationMng类需要通过Builder创建实例,用户可以通过Builder设置DynamicList对象中的各个接口实例,如果不设置任何接口实例,那么LocationMng对象就会使用默认的接口实例,在UML类图中,所有Common前缀的接口实例都是默认的接口实例。
startLocation():启动定位Service服务。
stopLocation():停止定位Service服务。
setUserID(StringUserID):设置用户ID,随定位信息一并保存至数据库。
getLocation(LongstartTime,LongendTime,StringUserID,Map<Strin g,String>):获取某时间区间内的位置信息。
getTrial(LongstartTime,LongendTime,StringUserID,Map<String,S tring>):获取某时间区间内的轨迹信息。
setAdditionalDataMap(Map<String,String>):设置附加保存信息哈希表。哈希表内的内容会作为附加信息连同位置信息或轨迹信息一并入库。
2、ILocationListener位置监听器接口
beginLocation():根据用户配置的定位模式以及定位参数,开启定位线程。
OnLocationUpdate(Locationlocation,Map<String,String>):通过观察者模式,利用接口返回定位数据,将定位数据传递到保存器接口,同时也将定位结果传递到状态监视器接口。
3、ILocationSaver位置信息保存接口
saveLocation():保存位置信息到本地数据库,若本地数据库的表列与配置文件中描述的表列不符,则更新数据库表。
OnSaveFinish(Locationlocation,Map<String,String>):通过观察者模式,利用接口返回保存结果,将保存结果传递到上传器接口,同时也将保存结果传递到状态监视器接口。
4、ILocationUploader位置信息上传接口
UploadLocation():按照配置地址,以固定的数据结构将位置信息上传到指定服务器。
OnUploadFinish(Locationlocation,Map<String,String>):通过观察者模式,利用接口返回上传结果,将保存结果传递到状态监视器接口。
5、IStateMonitor状态监视器接口:
默认接口实例中的各个方法都不执行任何操作,具体包括:
beginLocation():定位线程开启时调用。
LocationUpdate(Locationlocation,Map<String,String>):每次定位成功后调用。
beforeSaveLocation(Locationlocation,Map<String,String>):每次定位信息保存前调用。
afterSaveLocation(BooleanisSuccess,Locationlocation,Map<Stri ng,String>):每次定位信息保存后调用。
beforeUploadLocation(Locationlocation,Map<String,String>):每次定位信息上传前调用。
afterUploadLocation(BooleanisSuccess,Locationlocation,Map<St ring,String>):每次定位信息上传后调用。
endLocation():定位线程结束时调用。
七、配置文件设计
位置与轨迹管理器配置文件中具备以下几种标签:
示例1:
现在需要启动一个位置定位与轨迹记录功能,相隔5秒定位一次,高功率高精度,数据库表除了保存默认的信息外还要保存“所在城市”信息,轨迹每6个位置点生成一次。位置与轨迹管理器配置文件如图2所示。
八、数据处理流程
将定位源数据进行过滤,先把精度误差超限的数据删除,再根据与上一个点的距离与时间差求出来的速度删除由于定位漂移而带来错误定位数据,如上一个点与本次定位点的距离为50米,间隔1秒,那么速度就是每秒50米,而人的步行不可能达到每秒50米,所以这个点事漂移点,要剔除,速度阈值可配置,用户可以根据具体业务配置过滤阈值。
对定位数据进行坐标系转换,GPS定位源数据是2000坐标系,而用户的地图坐标系一般都不是2000坐标系,所以本实施例要对定位坐标进行纠偏,将坐标从2000坐标系转换成用户地图坐标系。转换参数可配置,也可以配置目标坐标系的名称,例如配置成西安坐标系,那么程序就会自动使用西安的参数进行纠偏。用户的位置信息会保存在数据库中,而直接把数据原封不动地保存是不安全的,所以本实施例会对定位数据进行数据级的加密,对定位数据进行DES加密。
定位数据加密后,还会与用户信息进行绑定,在数据中保存位置坐标和用户ID以及时间戳信息。方面后面的数据筛选工作。
按照用户配置的轨迹参数生成轨迹数据,一共要建两个数据表,一个是位置数据表,一个是轨迹数据表,每条轨迹由多个位置点组成。如果本地没有数据库,则程序自动新建一个数据库并新建数据表。
模块提供位置信息和轨迹信息查询方法,用户可以在方法中传入时间区间、用户ID信息,程序就会自动完成数据查询和数据解密工作,并返回位置或轨迹对象集,方便用户后续操作。
模块提供位置与轨迹数据绘制方法,用户传入位置或轨迹对象集和地图控件对象,程序就会自动在地图对象中绘制位置点和轨迹线段,地图控件对象支持ArcGIS、GeoGlobe和百度地图。位置点和轨迹线段的绘制样式可配置,包括颜色、线宽等。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (2)
1.一种位置与轨迹管理方法,其特征在于,包括:
配置文件管理步骤,用于建立并维护一个用于配置定位参数和轨迹参数的配置文件,其中,定位参数包括:定位频率、硬件功率、定位精度;轨迹参数包括位置点数量;所述配置文件中配置数据上传的服务路径,包括位置上传服务的网络路径和轨迹上传服务的网络路径以及PING服务路径;
定位监听器初始步骤,用于在在后台Service中运行定位监听器,所述监听器包括启动或停止监听方法;当用户退出APP但没有销毁APP进程的时候,或者当平板熄屏的时候,监听器仍需保持工作;每当成功定位后,监听器将定位结果通过接口传递到数据保存器,监听器与保存器保持相对独立,互不干扰;监听器的工作参数由管理器配置文件配置;提供监听器接口方法,允许用户自定义监听逻辑,当监听器工作过程中发生错误时,抛出错误信息而不能引起程序闪退;
数据保存器初始步骤,用于初始化数据保存器,所述数据保存器包括位置数据保存器和轨迹数据保存器,两者由不同的实现接口;当保存器接收到来自监听器的定位结果后,需要经过定位结果合法性分析逻辑以后方能入库;当保存器接收到来自监听器的定位结果后,提供数据加工方法,允许用户对原始定位数据进行加工;保存器包含一个SQLiteOpenHelper实例,执行与数据库有关的操作,数据库的建表和表属性的更新根据配置文件完成,并且提供数据库数据入库、查询、删除等操作接口方法;除了保存默认的表字段数据以外,用户还可以传入哈希表扩展数据保存的内容;数据入库完成后,将数据传递给上传器,同时通知状态监视器已经完成了数据入库工作;
上传器初始化步骤,用于初始化一个上传器,所述上传器包括位置数据上传器和轨迹数据上传器,两者属于不同的实现接口;当上传器接收到来自保存器的结果后,提供数据加工方法,允许用户对保存后的位置数据进行加工;上传工作在独立的线程中完成,并在上传后改变数据表中“上传状态”属性值;默认上传器在数据上传前要通过调用PING服务进行网络状态判断,只有在PING服务畅通有返回值的情况下开始数据上传工作;数据上传完成后,通知状态监视器已经完成了数据上传工作;
状态监视器初始步骤,用于初始化一个状态监视器,在定位开始后定位成功后、保存器获取到定位数据后、完成数据保存工作后、上传器获取到保存器传递的数据后、完成数据上传工作后调用状态监视器以让用户监视数据的处理过程;
其中,数据处理流程如下:
步骤1,将定位源数据进行过滤,先把精度误差超限的数据删除,再根据与上一个点的距离与时间差求出来的速度删除由于定位漂移而带来错误定位数据;
步骤2,对定位数据进行坐标系转换,对定位坐标进行纠偏,将坐标从2000坐标系转换成用户地图坐标系,其中转换参数可配置,也可以配置目标坐标系的名称;
步骤3,对定位数据进行数据级的加密,对定位数据进行DES加密,定位数据加密后与用户信息进行绑定,在数据中保存位置坐标和用户ID以及时间戳信息;
步骤4,按照用户配置的轨迹参数生成轨迹数据,一共要建两个数据表,一个是位置数据表,一个是轨迹数据表,每条轨迹由多个位置点组成,如果本地没有数据库,则程序自动新建一个数据库并新建数据表;
步骤5,提供位置信息和轨迹信息查询方法,根据用户在方法中传入时间区间、用户ID信息完成数据查询和数据解密工作,并返回位置或轨迹对象集,方便用户后续操作。
步骤6,提供位置与轨迹数据绘制方法,根据用户传入位置或轨迹对象集和地图控件对象在地图对象中绘制位置点和轨迹线段。
2.一种位置与轨迹管理装置,其特征在于,包括:
配置文件管理模块,用于建立并维护一个用于配置定位参数和轨迹参数的配置文件,其中,定位参数包括:定位频率、硬件功率、定位精度;轨迹参数包括位置点数量;所述配置文件中配置数据上传的服务路径,包括位置上传服务的网络路径和轨迹上传服务的网络路径以及PING服务路径;
定位监听器初始模块,用于在在后台Service中运行定位监听器,所述监听器包括启动或停止监听方法;当用户退出APP但没有销毁APP进程的时候,或者当平板熄屏的时候,监听器仍需保持工作;每当成功定位后,监听器将定位结果通过接口传递到数据保存器,监听器与保存器保持相对独立,互不干扰;监听器的工作参数由管理器配置文件配置;提供监听器接口方法,允许用户自定义监听逻辑,当监听器工作过程中发生错误时,抛出错误信息而不能引起程序闪退;
数据保存器初始模块,用于初始化数据保存器,所述数据保存器包括位置数据保存器和轨迹数据保存器,两者由不同的实现接口;当保存器接收到来自监听器的定位结果后,需要经过定位结果合法性分析逻辑以后方能入库;当保存器接收到来自监听器的定位结果后,提供数据加工方法,允许用户对原始定位数据进行加工;保存器包含一个SQLiteOpenHelper实例,执行与数据库有关的操作,数据库的建表和表属性的更新根据配置文件完成,并且提供数据库数据入库、查询、删除等操作接口方法;除了保存默认的表字段数据以外,用户还可以传入哈希表扩展数据保存的内容;数据入库完成后,将数据传递给上传器,同时通知状态监视器已经完成了数据入库工作;
上传器初始化模块,用于初始化一个上传器,所述上传器包括位置数据上传器和轨迹数据上传器,两者属于不同的实现接口;当上传器接收到来自保存器的结果后,提供数据加工方法,允许用户对保存后的位置数据进行加工;上传工作在独立的线程中完成,并在上传后改变数据表中“上传状态”属性值;默认上传器在数据上传前要通过调用PING服务进行网络状态判断,只有在PING服务畅通有返回值的情况下开始数据上传工作;数据上传完成后,通知状态监视器已经完成了数据上传工作;
状态监视器初始模块,用于初始化一个状态监视器,在定位开始后定位成功后、保存器获取到定位数据后、完成数据保存工作后、上传器获取到保存器传递的数据后、完成数据上传工作后调用状态监视器以让用户监视数据的处理过程;
其中,数据处理流程如下:
步骤1,将定位源数据进行过滤,先把精度误差超限的数据删除,再根据与上一个点的距离与时间差求出来的速度删除由于定位漂移而带来错误定位数据;
步骤2,对定位数据进行坐标系转换,对定位坐标进行纠偏,将坐标从2000坐标系转换成用户地图坐标系,其中转换参数可配置,也可以配置目标坐标系的名称;
步骤3,对定位数据进行数据级的加密,对定位数据进行DES加密,定位数据加密后与用户信息进行绑定,在数据中保存位置坐标和用户ID以及时间戳信息;
步骤4,按照用户配置的轨迹参数生成轨迹数据,一共要建两个数据表,一个是位置数据表,一个是轨迹数据表,每条轨迹由多个位置点组成,如果本地没有数据库,则程序自动新建一个数据库并新建数据表;
步骤5,提供位置信息和轨迹信息查询方法,根据用户在方法中传入时间区间、用户ID信息完成数据查询和数据解密工作,并返回位置或轨迹对象集,方便用户后续操作。
步骤6,提供位置与轨迹数据绘制方法,根据用户传入位置或轨迹对象集和地图控件对象在地图对象中绘制位置点和轨迹线段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610707337.5A CN106339443B (zh) | 2016-08-23 | 2016-08-23 | 一种位置与轨迹管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610707337.5A CN106339443B (zh) | 2016-08-23 | 2016-08-23 | 一种位置与轨迹管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339443A true CN106339443A (zh) | 2017-01-18 |
CN106339443B CN106339443B (zh) | 2019-06-25 |
Family
ID=57825525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610707337.5A Active CN106339443B (zh) | 2016-08-23 | 2016-08-23 | 一种位置与轨迹管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339443B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634958A (zh) * | 2018-11-23 | 2019-04-16 | 北斗天地股份有限公司 | 一种多系统位置数据处理的方法及系统 |
CN112487038A (zh) * | 2020-12-15 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 水源监测轨迹数据处理方法、装置、设备及存储介质 |
CN112596457A (zh) * | 2020-12-09 | 2021-04-02 | 厦门牧云数据技术有限公司 | 一种餐厨处置收运智能控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030085837A1 (en) * | 2001-11-06 | 2003-05-08 | Global Locate, Inc. | Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal |
CN1623826A (zh) * | 2003-12-01 | 2005-06-08 | 海信集团有限公司 | 公交车载机控制系统及其方法 |
US20050174235A1 (en) * | 2002-05-07 | 2005-08-11 | Davis Brian J. | Tracking system and assosciated method |
CN102783194A (zh) * | 2010-02-25 | 2012-11-14 | 高通股份有限公司 | 用于利用辅助的用户配置文件增强室内定位的方法和装置 |
CN104155666A (zh) * | 2014-08-11 | 2014-11-19 | 常州光电技术研究所 | Sbas和gps兼容的多模式信号处理系统及其信号处理方法 |
CN104951515A (zh) * | 2015-05-29 | 2015-09-30 | 四川效率源信息安全技术有限责任公司 | 一种提取并分析Android手机行踪轨迹的方法 |
-
2016
- 2016-08-23 CN CN201610707337.5A patent/CN106339443B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030085837A1 (en) * | 2001-11-06 | 2003-05-08 | Global Locate, Inc. | Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal |
US20050174235A1 (en) * | 2002-05-07 | 2005-08-11 | Davis Brian J. | Tracking system and assosciated method |
CN1659602A (zh) * | 2002-05-07 | 2005-08-24 | 阿果技术公司 | 跟踪系统和相关方法 |
CN1623826A (zh) * | 2003-12-01 | 2005-06-08 | 海信集团有限公司 | 公交车载机控制系统及其方法 |
CN102783194A (zh) * | 2010-02-25 | 2012-11-14 | 高通股份有限公司 | 用于利用辅助的用户配置文件增强室内定位的方法和装置 |
CN104155666A (zh) * | 2014-08-11 | 2014-11-19 | 常州光电技术研究所 | Sbas和gps兼容的多模式信号处理系统及其信号处理方法 |
CN104951515A (zh) * | 2015-05-29 | 2015-09-30 | 四川效率源信息安全技术有限责任公司 | 一种提取并分析Android手机行踪轨迹的方法 |
Non-Patent Citations (2)
Title |
---|
刘奕夫 等: ""国产大型地理信息系统软件—吉奥之星"", 《测绘地理信息》 * |
马燕 等: ""基于WiFi与GPS组合定位算法的无缝定位方法研究"", 《地理与地理信息科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634958A (zh) * | 2018-11-23 | 2019-04-16 | 北斗天地股份有限公司 | 一种多系统位置数据处理的方法及系统 |
CN112596457A (zh) * | 2020-12-09 | 2021-04-02 | 厦门牧云数据技术有限公司 | 一种餐厨处置收运智能控制方法及系统 |
CN112487038A (zh) * | 2020-12-15 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 水源监测轨迹数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106339443B (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014161433A1 (en) | System and method for positioning terminal | |
US10904294B2 (en) | Systems and methods for managing lost devices of multiple types with multiple policies using melded profiles associated with groups | |
CN1419774A (zh) | 带上下文的计算设备和方法 | |
US11122443B2 (en) | Automated access point mapping systems and methods | |
CN1585942A (zh) | 上下文关系察觉系统和利用层级树型结构的方法 | |
CN102215449B (zh) | Set终端定位方法、装置和系统 | |
CN109474481B (zh) | 设备部署方法和系统、网管服务器、移动终端、存储介质 | |
CN105745949A (zh) | 基于位置的软件更新 | |
CN102264029A (zh) | 终端信息共享的方法及其设备 | |
CN106339443A (zh) | 一种位置与轨迹管理方法及装置 | |
CN108712477B (zh) | 获取通信系统中的用户设备的信息的方法和设备 | |
CN105740137A (zh) | 分桶测试方法和提供配置信息的方法、装置及系统 | |
CN108011769A (zh) | 一种可视化运维系统的实现方法 | |
CN106412078A (zh) | 精准信息推送方法、装置和系统 | |
CN104619019A (zh) | 基于WiFi-Direct的室内定位的方法和系统 | |
CN105897917A (zh) | 多媒体数据分享方法及装置 | |
CN105912583A (zh) | 移动终端会员服务数据交互方法及装置 | |
CN102932823A (zh) | 关联报告的方法及装置 | |
CN105100691A (zh) | 一种数据的获取方法、装置及移动终端 | |
CN106533974A (zh) | 应用程序的流量管理方法、系统及具有该系统的终端设备 | |
CN103874014A (zh) | 基于终端位置信息的业务服务方法、服务提供装置及终端 | |
CN105871567A (zh) | 基于地理坐标建立临时会话群的方法及装置 | |
CN109116815A (zh) | 一种基于mqtt注塑机管理系统、方法及存储介质 | |
CN110019321A (zh) | 问题定界方法、装置及设备 | |
CN108449562A (zh) | 一种在网络硬盘录像机中添加网络摄像机的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co.,Ltd. Address before: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |