$include_dir="/home/hyper-archives/geometry/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [geometry] Integrating OGR library with Boost.Geometry
From: Eric MSP Veith (eveith_at_[hidden])
Date: 2015-05-22 04:39:41
Hello Menelaos,
thanks for your reply!
On Friday 22 May 2015, 08:42:58, Menelaos Karavelas wrote:
> I cannot really tell what the problem is but there is one thing that I
> think needs investigation:
>
> Please make sure that you have correctly defined the specializations
> required by Boost.Range. It seems that you are missing the
> range_mutable_iterator specialization. See
> http://www.boost.org/doc/libs/1_58_0/libs/range/doc/html/range/reference/ext
> ending.html for the details.
Doesn't range_mutable_iterator mean that the return type of the iterator's
dereference operator is a modifiable reference? If so, I cannot do this due to
the OGRLineString's API. :-/
Please correct me if I'm mistaken here; I'm by no means an expert in C++ STL-
conformant iterator design.
> Another thing: would it be possible to also try with boost 1.58? It
> would be helpful to know if the problem persists there.
Just upgraded to Boost 1.58.0. I used a different machine to make sure there
are no leftovers that interfer on the original machine. Same problem, sadly.
> > QCOMPARE(
> >
> > bg::distance(bls1, bls2),
> > bg::distance(*ls1, *ls2));
> >
> > QCOMPARE(
> >
> > bg::distance(*ls1, *ls2),
> > ls1->Distance(ls2));
>
> Which one(s) of the three tests above fail? All of them? Just the second?
These two both fail. From that I conclude that (a) the OGRPoint adapter to
Boost.Geometry works, since I can successfully use bg::distance with my
`typedef bg::model::linestring<OGRPoint> boostLinestring` linestring. However,
the OGRLineString version uses my iterator code and fails. So the only bug
that can be found here is most probably in my own iterator code.
Thanks
Eric