diff --git a/src/feature_builder.hpp b/src/feature_builder.hpp index 1fa7bd0..8c8f7d4 100644 --- a/src/feature_builder.hpp +++ b/src/feature_builder.hpp @@ -196,7 +196,6 @@ struct overzoomed_feature_builder bool valid = false; for (auto const& l : result) { - valid = false; if (l.size() > 1) { feature_builder.add_linestring(static_cast(l.size())); diff --git a/test/fixtures/z15-road-segments.mvt b/test/fixtures/z15-road-segments.mvt new file mode 100644 index 0000000..4fa2203 Binary files /dev/null and b/test/fixtures/z15-road-segments.mvt differ diff --git a/test/vtcomposite-linestrings.test.js b/test/vtcomposite-linestrings.test.js index f4af004..7bf6842 100644 --- a/test/vtcomposite-linestrings.test.js +++ b/test/vtcomposite-linestrings.test.js @@ -70,3 +70,23 @@ test('[composite] overzooming success (linestring), with buffer - different zoom assert.end(); }); }); + + +test('[composite] overzooming success (linestring), with buffer - z14 -> z15', function(assert) { + const buffer1 = fs.readFileSync(__dirname + '/fixtures/z15-road-segments.mvt'); + + const tiles = [ + {buffer: buffer1, z:15, x: 29570, y:20109} + ]; + + const zxy = {z:16, x:59140, y:40218}; + + composite(tiles, zxy, {buffer_size:4080}, (err, vtBuffer) => { + assert.notOk(err); + const outputInfo = vtinfo(vtBuffer); + // Currently failing since it drops a very large feature when buffer_size = 4080 + // Although it does not drop this feature when buffer_size = 4079 or 4081 + assert.equal(outputInfo.layers.roads._features.length,5); + assert.end(); + }); +}); \ No newline at end of file