$include_dir="/home/hyper-archives/geometry/include"; include("$include_dir/msg-header.inc") ?>
Subject: [ggl] intersection() and mixed geometries
From: Barend Gehrels (barend.gehrels)
Date: 2010-10-10 16:51:41
  Hi Bill,
>
> (...)
> ../../ext/boost-geometry/boost/geometry/algorithms/detail/overlay/assemble.hpp:651: error: 'apply' is not a member of 'boost::geometry::detail::overlay::add_to_containment<boost::geometry::multi_linestring_tag, GeoKit::impl::_GeometryMultiLinestring>'
Intersection of multi_linestrings were/are not supported.
This method from "apply" from some very internal function 
("add_to_containment") was somewhat awkward. So I changed the 
implementation and it will now give a more proper message (some MPL 
message saying that it is not implemented for that geometry type (or 
geometry type combination).
In the meantime I also added the intersection for two multi_linestrings, 
delivering intersection points. But IIUC you ask for an intersection of 
two multi_linestrings and want the intersection linestring pieces back; 
that is still not implemented and I don't think it will be in the near 
future (say, this year) - the basic stuff is not yet there for that 
functionality. It is also not there for two linestrings.
> The types _GeometryMultiLinestring and _GeometryMultiPolygon have been defined as follows:
> 	struct _GeometryMultiLinestring : std::vector<_GeometryLinestring>
> 	{
> 	};
> 	struct _GeometryMultiPolygon : std::vector<_GeometryPolygon>
> 	{
> 	};
>
> The following tags have also been defined:
> 	namespace boost { namespace geometry { namespace traits {
> 	template<>  struct tag<GeoKit::impl::_GeometryMultiPoint>
> 	{
> 	    typedef multi_point_tag type;
> 	};
> 	template<>  struct tag<GeoKit::impl::_GeometryMultiLinestring>
> 	{
> 	    typedef multi_linestring_tag type;
> 	};
> 	template<>  struct tag<GeoKit::impl::_GeometryMultiPolygon>
> 	{
> 	    typedef multi_polygon_tag type;
> 	};
> 	}}}
This all sounds OK to me.
Regards, Barend
-- ------------------------------------- Barend Gehrels ------------------------------------- http://www.erplex.com http://trac.osgeo.org/ggl http://www.geodan.nl ------------------------------------- Geodan President Kennedylaan 1 1079 MB Amsterdam The Netherlands ------------------------------------- Tel: +31 (0)20 5711 335 Mob: +31 (0)6 175 447 62 Fax: +31 (0)20 5711 333 ------------------------------------- E-mail: barend.gehrels_at_[hidden] Kvk-nummer: 33 207089 Disclaimer: www.geodan.nl/disclaimer -------------------------------------