backport fixes from trunk for null and multipatch shape types

This commit is contained in:
Dane Springmeyer 2011-05-19 22:00:41 +00:00
parent fffae3c3d6
commit fa6eb983af
2 changed files with 11 additions and 6 deletions

View file

@ -158,11 +158,9 @@ void shape_datasource::init(shape_io& shape)
throw datasource_exception((boost::format("invalid version number: %d") % version).str());
}
#ifdef MAPNIK_DEBUG
int shape_type = shape.shp().read_ndr_integer();
#else
shape.shp().skip(4);
#endif
if (shape_type == shape_io::shape_multipatch)
throw datasource_exception("Shape Plugin: shapefile multipatch type is not supported");
shape.shp().read_envelope(extent_);
#ifdef MAPNIK_DEBUG

View file

@ -129,8 +129,15 @@ feature_ptr shape_index_featureset<filterT>::next()
while(!filter_.pass(shape_.current_extent()) &&
itr_!=ids_.end())
{
pos=*itr_++;
shape_.move_to(pos);
if (shape_.type() != shape_io::shape_null)
{
pos=*itr_++;
shape_.move_to(pos);
}
else
{
return feature_ptr();
}
}
switch (type)