一种GPS轨迹优化的方法及系统与流程

文档序号:14388117阅读:467来源:国知局
一种GPS轨迹优化的方法及系统与流程

本发明涉及到gps轨迹定位技术领域,尤其涉及一种gps轨迹优化的方法及系统。



背景技术:

可穿戴设备的gps定位精准度和轨迹显示一直研究热点与难点,其中在特定的运用场景,如用户短距离跑圈(典型的如绕400米椭圆操场跑)模式下,其轨迹显示更是难上加难。

一般的,如果用户进行长距离运动,其轨迹显示拉的相对较长,受限于gps本身定位精度,其轨迹在拉伸的情况下显示不会太粗糙难看。但如果用户在短距离跑圈模式下,受限于本身gps的定位精度,设备抓取到的定位点,在操场椭圆形跑道显示出来显得很是杂乱,用户需要花费较长时间才能从杂乱的轨迹中获得自己的历史轨迹信息。现有的gps轨迹还存在位置点丢星和漂移的情况,在轨迹上会产生很多杂乱无序的位置点,容易混淆用户。

专利号为cn103809195a的专利提供了一种gps轨迹曲线的生成方法,包括gps位置点获取步骤、校正对象选择步骤、漂移点筛选步骤以及曲线生成步骤。在校正对象选择步骤中,根据预设的处理点条件进行判断,选择所需的校正对象;在漂移点筛选步骤中,根据预设的筛选条件进行判断,判断当前校正对象中的处理点是否为漂移点,在生成曲线时则将筛选出的所有处理点滤除。通过对漂移点进行筛除,使gps轨迹各个位置点准确无误,但是缺乏进一步的曲线优化处理,gps位置点轨迹通过直线进行连接,折线感很强,不够圆滑。



技术实现要素:

本发明的目的在于,针对现有技术的上述不足,提出一种使gps轨迹显示的更加圆滑、准确,便于用户快速获取历史轨迹信息的一种gps轨迹优化的方法及系统。

本发明解决其技术问题采用的技术方案是,提出一种gps轨迹优化的方法及系统,其包括:

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

一种gps轨迹优化的方法,包括步骤:

s1:通过gps定位获取若干位置点信息;

s2:遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除;

s3:对筛除后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

进一步的,还包括步骤:

获取所述位置点的当前时间及二维坐标值信息,根据当前时间点及二维坐标值,对所述若干位置点进行标记。

进一步的,所述步骤s2还包括步骤:

将所述若干位置点的二维坐标值与预设坐标值进行比对,当与预设坐标值一致时,标记该位置点为丢星点,并将该位置点筛除;

计算任意相邻位置点之间的距离,当所述距离大于预设距离时,标记该位置点为漂移点,并将其筛除。

进一步的,所述步骤s3还包括步骤:

对筛选后位置点构成的轨迹进行最小二乘法下的椭圆曲线拟合,一般椭圆方程可表示为:

x2+axy+by2+cx+dy+e=0

a,b,c,d,e表示上式一般椭圆方程中的五个参数值,

设定一函数:

上述公式中,xi表示任一位置点的经度值,yi表示任一位置点的维度值,n表示所述筛除后的位置点总个数,

计算上式中a,b,c,d,e的数值:

表示对函数求偏导数。

进一步的,还包括步骤:

判断所述筛除后的位置点总数是否大于预设阈值,若否,则发送优化失败信号以提示继续获取位置点信息。

一种gps轨迹优化的系统,包括:

位置点获取模块:用于通过gps定位获取若干位置点信息;

筛选模块:用于遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除;

轨迹优化模块:用于对筛选后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

进一步的,还包括:

位置点标记模块:用于获取所述位置点的当前时间及二维坐标值信息,根据当前时间点及二维坐标值,对所述若干位置点进行标记。

进一步的,所述筛选模块还包括:

丢星点筛除单元:用于将所述若干位置点的二维坐标值与预设坐标值进行比对,当与预设坐标值一致时,标记该位置点为丢星点,并将该位置点筛除;

漂移点筛除单元:用于计算任意相邻位置点之间的距离,当所述距离大于预设距离时,标记该位置点为漂移点,并将其筛除。

进一步的,所述轨迹优化模块还包括:

计算单元:用于对筛选后位置点构成的轨迹进行最小二乘法下的椭圆曲线拟合,一般椭圆方程可表示为:

x2+axy+by2+cx+dy+e=0

a,b,c,d,e表示上式一般椭圆方程中的五个参数值,

设定一函数:

上述公式中,xi表示任一位置点的经度值,yi表示任一位置点的维度值,n表示所述筛选后的位置点总个数,

计算上式中a,b,c,d,e的数值:

表示对函数求偏导数。

进一步的,还包括:

位置点计数模块:用于判断所述筛除后的位置点总数是否大于预设阈值,若否,则发送优化失败信号以提示继续获取位置点信息。

采用本发明,将gps轨迹中的杂乱、不准确的位置点筛除,再通过最小二乘法下的椭圆拟合算法进一步优化,使用户在跑步中形成的轨迹更准确、圆滑,更直观、有效的将历史跑圈轨迹显示出来。

附图说明

图1是本发明提供的一种gps轨迹优化的方法流程图一;

图2是本发明提供的一种gps轨迹优化的方法流程图二;

图3是本发明提供的一种gps轨迹优化的方法流程图三;

图4是本发明提供的一种gps轨迹优化的系统结构图一;

图5是本发明提供的一种曲线优化后的轨迹对比图。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

本发明中,gps轨迹是采用gps轨迹记录仪采集的一系列户外活动的位置点,每个点至少包括日期、时间、经度、纬度、海拔信息,有的轨迹记录仪还包含速度等信息。gps轨迹采集主要有两种方式,按照时间间隔或按照距离间隔:时间间隔即每隔一个时间段,记录一次位置点,常用的时间间隔有1秒、5秒、10秒、15秒、30秒、60秒、120秒几种;距离间隔即每移动一段距离记录一次位置点,常用的距离间隔由50米、100米、150米、300米、500米、1000米几种。gps轨迹主要用来记录轨迹和回放轨迹,可以通过设备软件显示出来。

实施例一

本实施例提供了一种gps轨迹优化的方法,如图1所示,包括步骤:

s11:通过gps定位获取若干位置点信息;

s12:遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除;

s13:对筛除后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

现有的可穿戴设备的gps定位精准度和轨迹显示由于存在漂移点或是丢星点,总是显得粗糙杂乱,精确度也不高,本实施例提供一种gps轨迹优化的方法,通过算法对gps轨迹做进一步优化。

本实施例中,步骤s11为通过gps定位获取若干位置点信息。

具体的,

用户在户外出行中,通过设备中的gps进行定位,实时的获取用户当前及历史位置信息,gps设备按一定的时间或距离间隔采集一次用户的位置点,每个点至少包括日期、时间、经度、纬度、海拔信息,有的轨迹记录仪还包含速度等信息,再通过设备中的软件如百度地图、高德地图等将历史轨迹显示出来。

本实施例中,步骤s12为遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除。

具体地,

每个位置点通过当前时间及二维坐标值进行标记,由于gps定位的精度限制,总会存在一些错误的位置点,如漂移点和丢星点,一般gps设备如果抓不到gps信号,此时给出的位置点信息会是一个特殊值,这种位置点就是丢星点,而当用户处于静止状态时,gps由于定位精度问题,可能此时的位置点会发生漂移,定位在用户周围位置,这种位置点就是漂移点。通过预设的筛选条件,需要对这些问题点进行标记及筛除,才能获得较准确的位置轨迹。

本实施例中,步骤s13为对筛除后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

具体地,

在筛除掉问题位置点过后,剩下的位置点构成了较准确的轨迹,但是,显示在界面上的折线感依然很强,在用户进行跑圈模式时,其轨迹不能直观的显示历史轨迹,需要利用最小二乘法下的椭圆拟合算法对其进行优化,使轨迹显示更加圆滑。

通过进一步的对轨迹进行曲线优化,使显示出来的轨迹能够更加圆滑,避免了杂乱的轨迹下用户无法获取正确轨迹信息的情况。

实施例二

本实施例提供了一种gps轨迹优化的方法,如图2所示,包括步骤:

s21:通过gps定位获取若干位置点信息;

s22:获取所述位置点的当前时间及二维坐标值信息,根据当前时间点及二维坐标值,对所述若干位置点进行标记;

s23:将所述若干位置点的二维坐标值与预设坐标值进行比对,当与预设坐标值一致时,标记该位置点为丢星点,并将该位置点筛除;

s24:计算任意相邻位置点之间的距离,当所述距离大于预设距离时,标记该位置点为漂移点,并将其筛除;

s25:对筛选后位置点构成的轨迹进行最小二乘法下的椭圆曲线拟合;

s26:判断所述筛除后的位置点总数是否大于预设阈值,若否,则发送优化失败信号以提示继续获取位置点信息。

本实施例中,步骤s22为获取所述位置点的当前时间及二维坐标值信息,根据当前时间点及二维坐标值,对所述若干位置点进行标记。

具体地,

根据位置点的当前时间及二维坐标值,设立时间t数组,其元素包括有t1,t2,t3…tn,设立经度lon数组,其元素包括有lon1,lon2,lon3…lonn,设立纬度lat数组,其元素包括lat1,lat2,lat3…latn,时间数组中的元素与经度和纬度中的元素想对应。

本实施例中,步骤s23为将所述若干位置点的二维坐标值与预设坐标值进行比对,当与预设坐标值一致时,标记该位置点为丢星点,并将该位置点筛除。

具体地,

丢星点表示设备gps在该当前时间抓取不到gps信号,其位置点信息为一个特殊值,比如0,通过检测位置点信息,将相应的丢星位置点进行标记,并筛除掉该问题位置点。

本实施例中,步骤s24为计算任意相邻位置点之间的距离,当所述距离大于预设距离时,标记该位置点为漂移点,并将其筛除。

具体地,

由于gps定位精确度的局限性,最小精度只能精确到10m,在定位过程中不可避免的漂移点,譬如用户处于静止状态时,gps设备也只能定位到用户周围10m范围的位置,存在漂移。以开始第一个位置点作为参考,设定用户极限移动速度为s,时间间隔t0内,用户移动最大距离为s*t0,计算轨迹内两相邻位置点的距离,当比用户移动最大距离大时,此时可以确定该位置点漂移点,通过此方法将gps获取的位置点中的漂移位置点筛除,最后得到定位最准确的剩余位置点。

本实施例中,步骤s25为对筛选后位置点构成的轨迹进行最小二乘法下的椭圆曲线拟合。

具体地,

从筛选后的位置点中选择出五个且其中三个不在同一条直线上的位置点,根据五个位置点信息中对应的时间元素和经纬度元素,利用最小二乘法原理,用椭圆曲线进行拟合,最后得到一个较圆滑的运动轨迹。

本实施例中,步骤s26为判断所述筛除后的位置点总数是否大于预设阈值,若否,则发送优化失败信号以提示继续获取位置点信息。

具体地,

通过最小二乘法的椭圆拟合算法对gps轨迹进行曲线优化时,需要五个且其中三个不在同一条直线上的位置点,若对gps定位获取到位置点进行筛除后剩余的位置点不能满足该条件,则无法进行曲线优化,此时发送提示信号提示用户需要继续获取位置点。

通过对获取的位置点进行筛除,可以获得较精确的轨迹,避免了gps定位时精确度导致轨迹杂乱粗糙的问题。

实施例三

本实施例提供一种gps轨迹优化的系统,如图3所示,包括:

位置点获取模块31:用于通过gps定位获取若干位置点信息;

筛选模块32:用于遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除;

轨迹优化模块33:用于对筛选后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

本实施例中,位置点获取模块31用于通过gps定位获取若干位置点信息。

gps设备会按照时间间隔或距离间隔实时的获取用户的位置点,每个位置点至少包括日期、时间、经度、纬度、海拔等信息,有的轨迹记录仪还包含速度等信息。

本实施例中,筛选模块32:用于遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除。

具体地,

由于受到gps精准度的局限性,采集到的位置点信息有很多位置点并不准确,通过丢星点和漂移点的预设筛除标准,将位置点中的丢星点和漂移点筛除,确保剩余的位置点的精确度。

本实施例中,轨迹优化模块33:用于对筛选后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线。

通过最小二乘法下的椭圆一般方程x2+axy+by2+cx+dy+e=0,对gps轨迹进行曲线拟合,生成轨迹曲线,a,b,c,d,e表示椭圆方程中的五个参数值,设定函数从筛除后剩余的位置点中获取五个且其中三个不再同一条直线上的位置点,其中n≥5,n表示所述筛除后的位置点总个数,xi表示任一位置点的经度值,yi表示任一位置点的维度值,依据最小二乘法原理,函数f有如下约束条件:

计算得到a,b,c,d,e五个参数,由此可得出椭圆方程,根据椭圆方程对gps轨迹进行曲线拟合。

通过对原始的gps轨迹数据进行处理,筛除掉漂移点及丢星点,保证整体轨迹精度的情况下,对跑圈模式下的轨迹进行最小二乘法下的椭圆曲线拟合,使轨迹曲线显示的更加圆滑、直观。

实施例四

本实施例提供一种gps轨迹优化的系统,如图4所示,包括:

位置点获取模块41:用于通过gps定位获取若干位置点信息;

位置点标记模块42:用于获取所述位置点的当前时间及二维坐标值信息,根据当前时间点及二维坐标值,对所述若干位置点进行标记;

筛选模块43:用于遍历所述若干位置点信息,判断是否有位置点与预设筛选条件匹配,若是,则标记所述位置点并将其筛除;

轨迹优化模块44:用于对筛选后剩余的位置点构成的轨迹进行曲线优化,生成轨迹曲线;

位置点计数模块45:用于判断所述筛除后的位置点总数是否大于预设阈值,若否,则发送优化失败信号以提示继续获取位置点信息。

与上述实施例不同之处在于,筛选模块43还包括丢星点筛除单元431、漂移点筛除单元432,轨迹优化模块44还包括计算单元441。

本实施例中,丢星点筛除单元431用于将所述若干位置点的二维坐标值与预设坐标值进行比对,当与预设坐标值一致时,标记该位置点为丢星点,并将该位置点筛除。

本实施例中漂移点筛除单元432用于计算任意相邻位置点之间的距离,当所述距离大于预设距离时,标记该位置点为漂移点,并将其筛除。

本实施例中,计算单元441用于对筛选后位置点构成的轨迹进行最小二乘法下的椭圆曲线拟合。

具体地,

通过最小二乘法下的椭圆一般方程x2+axy+by2+cx+dy+e=0,对gps轨迹进行曲线拟合,生成轨迹曲线,a,b,c,d,e表示椭圆方程中的五个参数值,设定函数从筛除后剩余的位置点中获取五个且其中三个不再同一条直线上的位置点,其中n≥5,n表示所述筛除后的位置点总个数,xi表示任一位置点的经度值,yi表示任一位置点的维度值,依据最小二乘法原理,函数f有如下约束条件:

计算得到a,b,c,d,e五个参数,由此可得出椭圆方程,根据椭圆方程对gps轨迹进行曲线拟合。

通过最小二乘法下的椭圆拟合算法对用户在跑圈模式下的轨迹进行曲线拟合,可以得到较精确、圆滑、直观的轨迹,使用户能够更方便有效的获得历史轨迹信息。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1