Opened 9 years ago

Last modified 7 years ago

#9066 new Bugs

Add support for MultiPoint WKB format

Reported by: Mateusz Loskot Owned by: Mateusz Loskot
Milestone: To Be Determined Component: geometry
Version: Boost Development Trunk Severity: Not Applicable
Keywords: wkb Cc:

Description

Mats Taraldsvik posted three patches to the list with MultiPoint WKB support:

  • 0001-Adds-an-equal-check-for-MultiPoints-with-number-of-p.patch
  • 0002-Adds-support-for-reading-MultiPoint-WKB.patch
  • 0003-Add-tests-for-MultiPoint-WKB.patch

Those patches have been generated in Git format against the Git mirros. I have refactored them into SVN format using simple command.

So, here is combined version of Mats' changes in more convenient form ready for review.

I also have added Jamfile.v2 files, so it is ready to build and test.

Attachments (6)

Mats-Taraldsvik-MultiPoint-WKB.patch (11.5 KB ) - added by Mateusz Loskot 9 years ago.
Combined patch with Mats' changes generated against SVN trunk r85516
Mats-Taraldsvik-MultiPoint-WKB-linestring-test-fixed.patch (12.0 KB ) - added by Mateusz Loskot 9 years ago.
This is Mats' patch with missing #include <boost/geometry/strategies/strategies.hpp> added to fix compilation of linestring test case
Mats-Taraldsvik-MultiPoint-WKB-linestring-test-fixed-polygon-added.patch (13.3 KB ) - added by Mateusz Loskot 9 years ago.
Previous version of the patch with polygon test added: compiles using GCC 4.8 and clang 3.3. svn diff against trunk r86415
Mats-Taraldsvik-AddMultiWKBSupport.patch (31.2 KB ) - added by mats.taraldsvik@… 9 years ago.
Current complete patchset for multigeometry WKB support
Mats-Taraldsvik-AddMultiLineStringMultiPolygonSupport.patch (27.1 KB ) - added by mats.taraldsvik@… 9 years ago.
Add support for MultiLinestring and MultiPolygon
complete-extensions-gis-io-wkb-with-multi.patch (79.5 KB ) - added by Mateusz Loskot 9 years ago.
Updated last patch from Mats with WKB support for simple and multi-geometries. Added Jamfile.v2 files, fixed compiler warnings and added TODO comment.

Download all attachments as: .zip

Change History (9)

by Mateusz Loskot, 9 years ago

Combined patch with Mats' changes generated against SVN trunk r85516

comment:1 by Mateusz Loskot, 9 years ago

The patch looks good to me. It's a good start for the WKB support for multi-geometries.

The read_wkb tests pass:

$ cd ~/dev/boost/_svn/trunk/libs/geometry/extensions/test/gis/io/wkb
$ b2  
...patience...
...patience...
...found 1506 targets...
...updating 4 targets...
gcc.compile.c++ ../../../../../../../bin.v2/libs/geometry/extensions/test/gis/io/wkb/read_wkb.test/gcc-4.8.1/debug/read_wkb.o
In file included from ../../../../../../../boost/bind/bind.hpp:29:0,
                 from ../../../../../../../boost/bind.hpp:22,
                 from ../../../../../../../boost/test/impl/framework.ipp:46,
                 from ../../../../../../../boost/test/included/test_exec_monitor.hpp:22,
                 from read_wkb.cpp:14:
../../../../../../../boost/bind/arg.hpp: In constructor ‘boost::arg<I>::arg(const T&)’:
../../../../../../../boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally defined but not used [-Wunused-local-typedefs]
         typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
                      ^
In file included from ../../../../../../../boost/tuple/tuple.hpp:33:0,
                 from ../../../../../../../boost/geometry/policies/relate/tupled.hpp:15,
                 from ../../../../../../../boost/geometry/strategies/intersection.hpp:17,
                 from ../../../../../../../boost/geometry/algorithms/detail/overlay/get_turns.hpp:43,
                 from ../../../../../../../boost/geometry/algorithms/disjoint.hpp:32,
                 from ../../../../../../../boost/geometry/algorithms/num_points.hpp:26,
                 from ../../../../../../../boost/geometry/algorithms/equals.hpp:36,
                 from read_wkb.cpp:19:
../../../../../../../boost/tuple/detail/tuple_basic.hpp: In function ‘typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons<HT, TT>&)’:
../../../../../../../boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef ‘cons_element’ locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
In file included from ../../../../../../../boost/geometry/extensions/gis/io/wkb/read_wkb.hpp:18:0,
                 from read_wkb.cpp:22:
../../../../../../../boost/geometry/extensions/gis/io/wkb/detail/parser.hpp: In static member function ‘static bool boost::geometry::detail::wkb::linestring_parser<L>::parse(Iterator&, Iterator, L&, boost::geometry::detail::wkb::byte_order_type::enum_t)’:
../../../../../../../boost/geometry/extensions/gis/io/wkb/detail/parser.hpp:239:46: warning: typedef ‘point_type’ locally defined but not used [-Wunused-local-typedefs]
         typedef typename point_type<L>::type point_type;
                                              ^
read_wkb.cpp: In function ‘int test_main(int, char**)’:
read_wkb.cpp:74:47: warning: typedef ‘linestring_type’ locally defined but not used [-Wunused-local-typedefs]
     typedef bg::model::linestring<point_type> linestring_type;
                                               ^
gcc.link ../../../../../../../bin.v2/libs/geometry/extensions/test/gis/io/wkb/read_wkb.test/gcc-4.8.1/debug/read_wkb
testing.capture-output ../../../../../../../bin.v2/libs/geometry/extensions/test/gis/io/wkb/read_wkb.test/gcc-4.8.1/debug/read_wkb.run
**passed** ../../../../../../../bin.v2/libs/geometry/extensions/test/gis/io/wkb/read_wkb.test/gcc-4.8.1/debug/read_wkb.test
...updated 4 targets...

by Mateusz Loskot, 9 years ago

This is Mats' patch with missing #include <boost/geometry/strategies/strategies.hpp> added to fix compilation of linestring test case

by Mateusz Loskot, 9 years ago

Previous version of the patch with polygon test added: compiles using GCC 4.8 and clang 3.3. svn diff against trunk r86415

by mats.taraldsvik@…, 9 years ago

Current complete patchset for multigeometry WKB support

by mats.taraldsvik@…, 9 years ago

Add support for MultiLinestring and MultiPolygon

comment:2 by mats.taraldsvik@…, 9 years ago

I have implemented support and tests for MultiLinestring and MultiPolygon as well, and attached a patch for this, as well as a complete diff for the whole WKB support. I have used the git diff command described in the earlier comment to make it svn compatible.

by Mateusz Loskot, 9 years ago

Updated last patch from Mats with WKB support for simple and multi-geometries. Added Jamfile.v2 files, fixed compiler warnings and added TODO comment.

comment:3 by Mateusz Loskot, 7 years ago

This ticket can be considered addressed by this PR https://github.com/boostorg/geometry/pull/322

Note: See TracTickets for help on using tickets.