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)
Change History (9)
by , 9 years ago
| Attachment: | Mats-Taraldsvik-MultiPoint-WKB.patch added |
|---|
comment:1 by , 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 , 9 years ago
| Attachment: | Mats-Taraldsvik-MultiPoint-WKB-linestring-test-fixed.patch added |
|---|
This is Mats' patch with missing #include <boost/geometry/strategies/strategies.hpp> added to fix compilation of linestring test case
by , 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 , 9 years ago
| Attachment: | Mats-Taraldsvik-AddMultiWKBSupport.patch added |
|---|
Current complete patchset for multigeometry WKB support
by , 9 years ago
| Attachment: | Mats-Taraldsvik-AddMultiLineStringMultiPolygonSupport.patch added |
|---|
Add support for MultiLinestring and MultiPolygon
comment:2 by , 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 , 9 years ago
| Attachment: | complete-extensions-gis-io-wkb-with-multi.patch added |
|---|
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 , 7 years ago
This ticket can be considered addressed by this PR https://github.com/boostorg/geometry/pull/322

Combined patch with Mats' changes generated against SVN trunk r85516