Skip to main content
. 2016 Nov 23;16(11):1962. doi: 10.3390/s16111962
Algorithm 1 Pre-processing of a GPS trajectory in two stages
  •   1:

    INPUT 1)ΠR: rawTlist(), 2)lowSpeed: LST

  •   2:

    OUPUT ΠP[spatialFiltered:sfTlist();velocityFiltered:vfTlist()]

  •   3:

    PROCEDURE Spatial_Filter()

  •   4:

    rawTlist.size()=k1

  •   5:

    for i=0 to k1−1 do

  •   6:

        if rawTlist.get(i).getAccuracy()>40 then

  •   7:

            sfTlist.add(Pi)      # rawTlist.get(i)=Pi, where Pi is a GPS point in raw trajectory ΠR

  •   8:

        end if

  •   9:

    end for

  • 10:

    END PROCEDURE

  • 11:

    PROCEDURE Velocity_Filter()

  • 12:

    sfTlist.size()=k2

  • 13:

    for i=1 to k2−1 do

  • 14:

        if sfTlist.get(i1).getSpeed()>LST||sfTlist.get(i+1).getSpeed()>LST then

  • 15:

            vfTlist.add(Pi)

  • 16:

        else

  • 17:

            if sfTlist.get(i).getSpeed()<LST then

  • 18:

                if sfTlist.get(i1).getSpeed()LST||sfTlist.get(i+1).getSpeed()LST then

  • 19:

                       vfTlist.add(Pi)

  • 20:

                  end if

  • 21:

            end if

  • 22:

        end if

  • 23:

    end for

  • 24:

    END PROCEDURE