Hi Alev,

alev mutlu wrote On 11-5-2014 14:16:

Hi all,

I have the following code. I can correctly print the content of line_smp with boost::geometry::dsv but get strange results when I copy line_smp into a vector and then print the content of the vector.

Any ideas on what I am doing wrong?

bg::model::d2::point_xy p;
while(rs->next()){
bg::set<0>(p, i);
bg::set<1>(p, rs->getDouble("num"));
i++;
line +=p;
}
boost::geometry::simplify(line, line_smp, 0.3);

std::cout<< "  original: " << boost::geometry::dsv(line) << std::endl
           << "simplified: " <<boost::ge
ometry::dsv(line_smp) << std::endl;

         std::vector<xy> v;
         v.clear();
         std::copy(line_smp.begin(), line_smp.end(), std::back_inserter(v));

         stringstream sa, ssa;
         for(int ia = 0; ia < v.size(); ia++){
             sa << bg::get<1>(v[i]);
             cout << sa;
             sa.str("");
         }

Hard to say, basically the procedure seems OK. I see several things:
- line type is not included in your fragment, what does += for example?
- point type is point_xy or xy?
- you print v[i] while your loop variable is ia (this is probably the reason for strange results)

HTH,
Barend