Creating sequences of activity points from GPS data












0














I created this pseudo code for this section from a paper by Schüssler, N., & Axhausen, K. (2009):




Flag an activity when the point density in a sequence of GPS points is higher than 15 points for at least two-third of the points and the sequence lasts for at least 10 points or 300 s.




Pseudo code:
1.Start at beginning of trip file
2.Create Seq of 10 observations
3. If (#PD>15)>⅔*length(Seq)
a.Create copy of Seq: Seq2
b.While ((#PD>15)>⅔*length(Seq2))
i.Mark all of Seq2 as A
ii.If start of Seq2 = start of file then break
iii.Add 1 observation to start of Seq2 from preceding observations
c.Create copy of Seq: Seq3
d.While ((#PD>15)>⅔*length(Seq3))
i.Mark all of Seq3 as A
ii.If end of Seq3 = end of file then break
iii.Add 1 observation to end of Seq3 from following observations
4.Step forward 1 observation and return to (2)


This is my code in R (trip is a data frame and every row represents 1-second movement, p_dens is density of point):



trip$label_dns<-"trip"

for ( i in (1:nrow(trip)))
{
c<-length(which(trip$p_dens[c(i:(i+9))]>=15))
if(c>=7)
{seq_2<-c(i:(i+9))
seq_3<-c(i:(i+9))
while(length(which(trip$p_dens[seq_2]>=15))> (2/3)*length(seq_2))
{trip$label_dns[seq_2]<-"activity"
if(seq_2[1]!=1) {seq_2<-c((seq_2[1]-1):(seq_2[length(seq_2)]))}}
while(length(which(trip$p_dens[seq_3]>=15))> (2/3)*length(seq_3))
{trip$label_dns[seq_3]<-"activity"
if(seq_3[length(seq_3)]!=nrow(trip)) {seq_3<-c((seq_3[1]):
(seq_3[length(seq_3)]+1))}}
}
}


My concern is that it gets stuck in an infinite loop because it has been running for 7 days now for 1700 trips (in total 2000 hr GPS data).










share|improve this question









New contributor




Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0














    I created this pseudo code for this section from a paper by Schüssler, N., & Axhausen, K. (2009):




    Flag an activity when the point density in a sequence of GPS points is higher than 15 points for at least two-third of the points and the sequence lasts for at least 10 points or 300 s.




    Pseudo code:
    1.Start at beginning of trip file
    2.Create Seq of 10 observations
    3. If (#PD>15)>⅔*length(Seq)
    a.Create copy of Seq: Seq2
    b.While ((#PD>15)>⅔*length(Seq2))
    i.Mark all of Seq2 as A
    ii.If start of Seq2 = start of file then break
    iii.Add 1 observation to start of Seq2 from preceding observations
    c.Create copy of Seq: Seq3
    d.While ((#PD>15)>⅔*length(Seq3))
    i.Mark all of Seq3 as A
    ii.If end of Seq3 = end of file then break
    iii.Add 1 observation to end of Seq3 from following observations
    4.Step forward 1 observation and return to (2)


    This is my code in R (trip is a data frame and every row represents 1-second movement, p_dens is density of point):



    trip$label_dns<-"trip"

    for ( i in (1:nrow(trip)))
    {
    c<-length(which(trip$p_dens[c(i:(i+9))]>=15))
    if(c>=7)
    {seq_2<-c(i:(i+9))
    seq_3<-c(i:(i+9))
    while(length(which(trip$p_dens[seq_2]>=15))> (2/3)*length(seq_2))
    {trip$label_dns[seq_2]<-"activity"
    if(seq_2[1]!=1) {seq_2<-c((seq_2[1]-1):(seq_2[length(seq_2)]))}}
    while(length(which(trip$p_dens[seq_3]>=15))> (2/3)*length(seq_3))
    {trip$label_dns[seq_3]<-"activity"
    if(seq_3[length(seq_3)]!=nrow(trip)) {seq_3<-c((seq_3[1]):
    (seq_3[length(seq_3)]+1))}}
    }
    }


    My concern is that it gets stuck in an infinite loop because it has been running for 7 days now for 1700 trips (in total 2000 hr GPS data).










    share|improve this question









    New contributor




    Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0







      I created this pseudo code for this section from a paper by Schüssler, N., & Axhausen, K. (2009):




      Flag an activity when the point density in a sequence of GPS points is higher than 15 points for at least two-third of the points and the sequence lasts for at least 10 points or 300 s.




      Pseudo code:
      1.Start at beginning of trip file
      2.Create Seq of 10 observations
      3. If (#PD>15)>⅔*length(Seq)
      a.Create copy of Seq: Seq2
      b.While ((#PD>15)>⅔*length(Seq2))
      i.Mark all of Seq2 as A
      ii.If start of Seq2 = start of file then break
      iii.Add 1 observation to start of Seq2 from preceding observations
      c.Create copy of Seq: Seq3
      d.While ((#PD>15)>⅔*length(Seq3))
      i.Mark all of Seq3 as A
      ii.If end of Seq3 = end of file then break
      iii.Add 1 observation to end of Seq3 from following observations
      4.Step forward 1 observation and return to (2)


      This is my code in R (trip is a data frame and every row represents 1-second movement, p_dens is density of point):



      trip$label_dns<-"trip"

      for ( i in (1:nrow(trip)))
      {
      c<-length(which(trip$p_dens[c(i:(i+9))]>=15))
      if(c>=7)
      {seq_2<-c(i:(i+9))
      seq_3<-c(i:(i+9))
      while(length(which(trip$p_dens[seq_2]>=15))> (2/3)*length(seq_2))
      {trip$label_dns[seq_2]<-"activity"
      if(seq_2[1]!=1) {seq_2<-c((seq_2[1]-1):(seq_2[length(seq_2)]))}}
      while(length(which(trip$p_dens[seq_3]>=15))> (2/3)*length(seq_3))
      {trip$label_dns[seq_3]<-"activity"
      if(seq_3[length(seq_3)]!=nrow(trip)) {seq_3<-c((seq_3[1]):
      (seq_3[length(seq_3)]+1))}}
      }
      }


      My concern is that it gets stuck in an infinite loop because it has been running for 7 days now for 1700 trips (in total 2000 hr GPS data).










      share|improve this question









      New contributor




      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      I created this pseudo code for this section from a paper by Schüssler, N., & Axhausen, K. (2009):




      Flag an activity when the point density in a sequence of GPS points is higher than 15 points for at least two-third of the points and the sequence lasts for at least 10 points or 300 s.




      Pseudo code:
      1.Start at beginning of trip file
      2.Create Seq of 10 observations
      3. If (#PD>15)>⅔*length(Seq)
      a.Create copy of Seq: Seq2
      b.While ((#PD>15)>⅔*length(Seq2))
      i.Mark all of Seq2 as A
      ii.If start of Seq2 = start of file then break
      iii.Add 1 observation to start of Seq2 from preceding observations
      c.Create copy of Seq: Seq3
      d.While ((#PD>15)>⅔*length(Seq3))
      i.Mark all of Seq3 as A
      ii.If end of Seq3 = end of file then break
      iii.Add 1 observation to end of Seq3 from following observations
      4.Step forward 1 observation and return to (2)


      This is my code in R (trip is a data frame and every row represents 1-second movement, p_dens is density of point):



      trip$label_dns<-"trip"

      for ( i in (1:nrow(trip)))
      {
      c<-length(which(trip$p_dens[c(i:(i+9))]>=15))
      if(c>=7)
      {seq_2<-c(i:(i+9))
      seq_3<-c(i:(i+9))
      while(length(which(trip$p_dens[seq_2]>=15))> (2/3)*length(seq_2))
      {trip$label_dns[seq_2]<-"activity"
      if(seq_2[1]!=1) {seq_2<-c((seq_2[1]-1):(seq_2[length(seq_2)]))}}
      while(length(which(trip$p_dens[seq_3]>=15))> (2/3)*length(seq_3))
      {trip$label_dns[seq_3]<-"activity"
      if(seq_3[length(seq_3)]!=nrow(trip)) {seq_3<-c((seq_3[1]):
      (seq_3[length(seq_3)]+1))}}
      }
      }


      My concern is that it gets stuck in an infinite loop because it has been running for 7 days now for 1700 trips (in total 2000 hr GPS data).







      beginner algorithm time-limit-exceeded r






      share|improve this question









      New contributor




      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 30 mins ago









      Jamal

      30.3k11116226




      30.3k11116226






      New contributor




      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 9 hours ago









      Elmira BerjisianElmira Berjisian

      1




      1




      New contributor




      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Elmira Berjisian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Elmira Berjisian is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f211123%2fcreating-sequences-of-activity-points-from-gps-data%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Elmira Berjisian is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Elmira Berjisian is a new contributor. Be nice, and check out our Code of Conduct.













          Elmira Berjisian is a new contributor. Be nice, and check out our Code of Conduct.












          Elmira Berjisian is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f211123%2fcreating-sequences-of-activity-points-from-gps-data%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          Refactoring coordinates for Minecraft Pi buildings written in Python