use mapnik geometry!
This commit is contained in:
parent
4debc817b5
commit
2e832586ab
2 changed files with 5 additions and 9 deletions
|
@ -33,6 +33,7 @@
|
|||
#include <mapnik/unicode.hpp>
|
||||
#include <mapnik/value_types.hpp>
|
||||
#include <mapnik/box2d.hpp>
|
||||
#include <mapnik/geometry_adapters.hpp>
|
||||
#include <mapnik/json/topojson_grammar.hpp>
|
||||
#include <mapnik/json/topojson_utils.hpp>
|
||||
#include <mapnik/util/variant.hpp>
|
||||
|
@ -218,7 +219,7 @@ void topojson_datasource::parse_topojson(T const& buffer)
|
|||
{
|
||||
extent_.expand_to_include(box);
|
||||
}
|
||||
values.emplace_back(box_type(point_type(box.minx(),box.miny()),point_type(box.maxx(),box.maxy())), geometry_index);
|
||||
values.emplace_back(box, geometry_index);
|
||||
++geometry_index;
|
||||
}
|
||||
}
|
||||
|
@ -278,10 +279,9 @@ mapnik::layer_descriptor topojson_datasource::get_descriptor() const
|
|||
mapnik::featureset_ptr topojson_datasource::features(mapnik::query const& q) const
|
||||
{
|
||||
// if the query box intersects our world extent then query for features
|
||||
mapnik::box2d<double> const& b = q.get_bbox();
|
||||
if (extent_.intersects(b))
|
||||
mapnik::box2d<double> const& box = q.get_bbox();
|
||||
if (extent_.intersects(box))
|
||||
{
|
||||
box_type box(point_type(b.minx(),b.miny()),point_type(b.maxx(),b.maxy()));
|
||||
topojson_featureset::array_type index_array;
|
||||
if (tree_)
|
||||
{
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#pragma GCC diagnostic ignored "-Wunused-variable"
|
||||
#pragma GCC diagnostic ignored "-Wunused-local-typedef"
|
||||
#include <boost/geometry/geometries/point_xy.hpp>
|
||||
#include <boost/geometry/geometries/box.hpp>
|
||||
#include <boost/geometry/geometries/geometries.hpp>
|
||||
#include <boost/geometry.hpp>
|
||||
#include <boost/version.hpp>
|
||||
|
@ -57,9 +55,7 @@
|
|||
class topojson_datasource : public mapnik::datasource
|
||||
{
|
||||
public:
|
||||
using point_type = boost::geometry::model::d2::point_xy<double>;
|
||||
using box_type = boost::geometry::model::box<point_type>;
|
||||
|
||||
using box_type = mapnik::box2d<double>;
|
||||
using item_type = std::pair<box_type,std::size_t>;
|
||||
using linear_type = boost::geometry::index::linear<16,4>;
|
||||
using spatial_index_type = boost::geometry::index::rtree<item_type,linear_type>;
|
||||
|
|
Loading…
Reference in a new issue