Boost logo

Geometry :

Subject: [ggl] Re: Using Dissolve
From: DominikR (inikofdoom)
Date: 2011-11-04 06:47:05


Hi Barend.

Barend wrote:
>
> All extensions are not within the Boost releases, so not in Boost 1.48
> beta. For extensions you have to use the Trunk (e.g. from SVN).
>

Well, it's not that there's anything missing. Extensions folder, dissolve
headers and so on are all there. I guess it's built from a trunk snapshot.

However, just to be sure, I checked out the boost trunk from
http://svn.boost.org/svn/boost/trunk and tried again. The error is slightly
different, but looks pretty familiar (this is the polygon->polygon version
from the last mail):

make all
Building file: ../src/testBoostGeometry1.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP
-MF"src/testBoostGeometry1.d" -MT"src/testBoostGeometry1.d" -o
"src/testBoostGeometry1.o" "../src/testBoostGeometry1.cpp"
In file included from ../src/testBoostGeometry1.cpp:5:0:
/usr/include/boost/geometry/extensions/gis/io/wkt/wkt.hpp:21:2: warning:
#warning "wkt is moved to boost/geometry/domains/gis/io/wkt, please update
include file"
In file included from /usr/include/boost/aligned_storage.hpp:24:0,
                 from /usr/include/boost/type_traits/aligned_storage.hpp:11,
                 from /usr/include/boost/type_traits.hpp:20,
                 from /usr/include/boost/geometry/core/cs.hpp:19,
                 from /usr/include/boost/geometry/geometry.hpp:20,
                 from /usr/include/boost/geometry.hpp:17,
                 from ../src/testBoostGeometry1.cpp:1:
/usr/include/boost/mpl/eval_if.hpp: In instantiation of
?boost::mpl::eval_if_c<false,
boost::range_const_iterator&lt;boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >,
boost::range_mutable_iterator<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> > >?:
/usr/include/boost/range/iterator.hpp:63:63: instantiated from
?boost::range_iterator<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >?
/usr/include/boost/range/value_type.hpp:31:5: instantiated from
?boost::range_value<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >?
/usr/include/boost/geometry/extensions/algorithms/dissolve.hpp:262:59:
instantiated from ?void boost::geometry::dissolve(const Geometry&,
Collection&) [with Geometry =
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>, Collection =
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>]?
../src/testBoostGeometry1.cpp:16:46: instantiated from here
/usr/include/boost/mpl/eval_if.hpp:60:31: error: no type named ?type? in
?struct boost::mpl::eval_if_c<false,
boost::range_const_iterator&lt;boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >,
boost::range_mutable_iterator<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> > >::f_?
In file included from ../src/testBoostGeometry1.cpp:2:0:
/usr/include/boost/geometry/extensions/algorithms/dissolve.hpp: In function
?void boost::geometry::dissolve(const Geometry&, Collection&) [with Geometry
=
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>, Collection =
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>]?:
../src/testBoostGeometry1.cpp:16:46: instantiated from here
/usr/include/boost/geometry/extensions/algorithms/dissolve.hpp:262:59:
error: no type named ?type? in ?struct
boost::range_value<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >?
/usr/include/boost/geometry/extensions/algorithms/dissolve.hpp:266:5: error:
no type named ?type? in ?struct
boost::range_value<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >?
In file included from /usr/include/c++/4.5/bits/stl_algobase.h:69:0,
                 from /usr/include/c++/4.5/bits/char_traits.h:41,
                 from /usr/include/c++/4.5/ios:41,
                 from /usr/include/c++/4.5/istream:40,
                 from /usr/include/c++/4.5/sstream:39,
                 from /usr/include/c++/4.5/complex:47,
                 from /usr/include/boost/type_traits/is_complex.hpp:12,
                 from /usr/include/boost/type_traits.hpp:47,
                 from /usr/include/boost/geometry/core/cs.hpp:19,
                 from /usr/include/boost/geometry/geometry.hpp:20,
                 from /usr/include/boost/geometry.hpp:17,
                 from ../src/testBoostGeometry1.cpp:1:
/usr/include/c++/4.5/bits/stl_iterator.h: At global scope:
/usr/include/c++/4.5/bits/stl_iterator.h: In instantiation of
?std::back_insert_iterator<boost::geometry::model::polygon&lt;boost::geometry::model::d2::point_xy&lt;double>
> >?:
/usr/include/boost/geometry/extensions/algorithms/dissolve.hpp:266:5:
instantiated from ?void boost::geometry::dissolve(const Geometry&,
Collection&) [with Geometry =
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>, Collection =
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>]?
../src/testBoostGeometry1.cpp:16:46: instantiated from here
/usr/include/c++/4.5/bits/stl_iterator.h:421:7: error: no type named
?const_reference? in ?class
boost::geometry::model::polygon<boost::geometry::model::d2::point_xy&lt;double>
>?
make: *** [src/testBoostGeometry1.o] Error 1

**** Build Finished ****

Barend wrote:
>
> Having said that, the dissolve algorithm is not working perfectly (and
> therefore not in release). You can try it and I hope that you get great
> results with it, but it is not "guaranteed".
>

I know, but I think it's worth a try. Adding ~10 lines of code would be much
easier than fixing the data.

Thanks,
Dominik

--
View this message in context: http://boost-geometry.203548.n3.nabble.com/Using-Dissolve-tp3476751p3478081.html
Sent from the Boost Geometry mailing list archive at Nabble.com.

Geometry list run by mateusz at loskot.net