Skip to content
This repository was archived by the owner on Jun 15, 2021. It is now read-only.

Commit ceca7cc

Browse files
committedSep 16, 2014
Excluding duplicated time entries
1 parent 2998d8e commit ceca7cc

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed
 

‎src/Wrappers.cpp

+19-10
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,30 @@ List getTrajectorySpaceTimeFeatures(SEXP datasetSEXP)
2626
// Move to begin
2727
dataset->moveBeforeFirst();
2828
std::size_t i = 0;
29+
std::string previous_datetime = "";
2930
while(dataset->moveNext())
3031
{
3132
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());
3739

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+
}
4245
}
43-
46+
if(i < size)
47+
{
48+
x.erase(i, size);
49+
y.erase(i, size);
50+
posixct.erase(i, size);
51+
}
52+
4453
NumericMatrix points(x.size(), 2);
4554
points(_,0) = x;
4655
points(_,1) = y;

0 commit comments

Comments
 (0)