This repository was archived by the owner on Jun 15, 2021. It is now read-only.
File tree 1 file changed +19
-10
lines changed
1 file changed +19
-10
lines changed Original file line number Diff line number Diff line change @@ -26,21 +26,30 @@ List getTrajectorySpaceTimeFeatures(SEXP datasetSEXP)
26
26
// Move to begin
27
27
dataset->moveBeforeFirst ();
28
28
std::size_t i = 0 ;
29
+ std::string previous_datetime = " " ;
29
30
while (dataset->moveNext ())
30
31
{
31
32
std::auto_ptr<te::dt::DateTime> time = dataset->getTime ();
32
- // Datetime dt(time->toString(), FORMAT_TIME);
33
- // datetime.push_back(dt);
34
-
35
- std::auto_ptr<te::gm::Geometry> geom = dataset->getGeometry ();
36
- te::gm::Point *point = dynamic_cast <te::gm::Point *>(geom.get ());
33
+ std::string current_datetime = time ->toString ();
34
+ if (previous_datetime != current_datetime)
35
+ {
36
+ previous_datetime = current_datetime;
37
+ std::auto_ptr<te::gm::Geometry> geom = dataset->getGeometry ();
38
+ te::gm::Point *point = dynamic_cast <te::gm::Point *>(geom.get ());
37
39
38
- x[i] = point->getX ();
39
- y[i] = point->getY ();
40
- posixct[i] = time ->toString ();
41
- ++i;
40
+ x[i] = point->getX ();
41
+ y[i] = point->getY ();
42
+ posixct[i] = current_datetime;
43
+ ++i;
44
+ }
42
45
}
43
-
46
+ if (i < size)
47
+ {
48
+ x.erase (i, size);
49
+ y.erase (i, size);
50
+ posixct.erase (i, size);
51
+ }
52
+
44
53
NumericMatrix points (x.size (), 2 );
45
54
points (_,0 ) = x;
46
55
points (_,1 ) = y;
You can’t perform that action at this time.
0 commit comments