[Pkg-javascript-commits] [node-mapnik] 01/11: Imported Upstream version 3.5.13+dfsg
Bas Couwenberg
sebastic at debian.org
Sat Aug 6 14:57:56 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository node-mapnik.
commit 033de56e170ec7549c903534ac10be6033731068
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Fri Aug 5 23:41:00 2016 +0200
Imported Upstream version 3.5.13+dfsg
---
.travis.yml | 7 ++
CHANGELOG.md | 4 +
package.json | 4 +-
src/mapnik_vector_tile.cpp | 8 +-
test/data/vector_tile/compositing/badtile.mvt | Bin 0 -> 3056 bytes
test/data/vector_tile/compositing/badtile.xml | 97 +++++++++++++++++++++
.../vector_tile/compositing/expected/2-1-1b.png | Bin 154481 -> 154578 bytes
.../expected/world-reencode-max-extent.png | Bin 7991 -> 7990 bytes
.../compositing/expected/world-reencode.png | Bin 7983 -> 7981 bytes
test/vector-tile.composite.test.js | 17 ++++
test/vector-tile.test.js | 2 +-
11 files changed, 132 insertions(+), 7 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 8c14ed3..4f9104b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -41,6 +41,9 @@ matrix:
env: NODE_VERSION="4" PUBLISHABLE=true # node abi 46
- os: linux
compiler: clang
+ env: NODE_VERSION="4" NPM_FLAGS="--debug" PUBLISHABLE=true # node abi 46
+ - os: linux
+ compiler: clang
env: NODE_VERSION="0.10" NPM_FLAGS="--debug" PUBLISHABLE=true # node abi 11
- os: linux
compiler: clang
@@ -57,6 +60,10 @@ matrix:
- os: osx
osx_image: xcode7
compiler: clang
+ env: NODE_VERSION="4" NPM_FLAGS="--debug" PUBLISHABLE=true # node abi 46
+ - os: osx
+ osx_image: xcode7
+ compiler: clang
env: NODE_VERSION="0.10" NPM_FLAGS="--debug" PUBLISHABLE=true # node abi 11
- os: osx
osx_image: xcode7
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c695f26..aeaa47c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+## 3.5.13
+
+- Updated to mapnik-vector-tile `1.2.0`, includes a fix for rare decoding situation in vector tiles where a tile would be incorrectly considered invalid.
+
## 3.5.12
- Fix performance regression when passing raster through vector tile (via upgrade to mapnik-vector-tile at 1.1.2)
diff --git a/package.json b/package.json
index e98b9e5..da3a48f 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"url": "http://github.com/mapnik/node-mapnik",
"homepage": "http://mapnik.org",
"author": "Dane Springmeyer <dane at mapbox.com> (mapnik.org)",
- "version": "3.5.12",
+ "version": "3.5.13",
"mapnik_version":"3.0.11",
"main": "./lib/mapnik.js",
"binary": {
@@ -41,7 +41,7 @@
}
],
"dependencies": {
- "mapnik-vector-tile": "1.1.2",
+ "mapnik-vector-tile": "1.2.0",
"nan": "~2.2.0",
"node-pre-gyp": "~0.6.25",
"protozero": "~1.3.0"
diff --git a/src/mapnik_vector_tile.cpp b/src/mapnik_vector_tile.cpp
index 66cf466..28ed166 100644
--- a/src/mapnik_vector_tile.cpp
+++ b/src/mapnik_vector_tile.cpp
@@ -2679,8 +2679,8 @@ NAN_METHOD(VectorTile::toJSON)
if (decode_geometry)
{
// Decode the geometry first into an int64_t mapnik geometry
- mapnik::vector_tile_impl::GeometryPBF<std::int64_t> geoms(geom_itr, 0, 0, 1.0, 1.0);
- mapnik::geometry::geometry<std::int64_t> geom = mapnik::vector_tile_impl::decode_geometry(geoms, geom_type_enum, version);
+ mapnik::vector_tile_impl::GeometryPBF geoms(geom_itr);
+ mapnik::geometry::geometry<std::int64_t> geom = mapnik::vector_tile_impl::decode_geometry<std::int64_t>(geoms, geom_type_enum, version, 0, 0, 1.0, 1.0);
v8::Local<v8::Array> g_arr = geometry_to_array<std::int64_t>(geom);
feature_obj->Set(Nan::New("geometry").ToLocalChecked(),g_arr);
std::string geom_type = geometry_type_as_string(geom);
@@ -5875,8 +5875,8 @@ void layer_not_valid(protozero::pbf_reader & layer_msg,
// Decode the geometry first into an int64_t mapnik geometry
mapnik::context_ptr ctx = std::make_shared<mapnik::context_type>();
mapnik::feature_ptr feature(mapnik::feature_factory::create(ctx,1));
- mapnik::vector_tile_impl::GeometryPBF<double> geoms(geom_itr, 0, 0, 1.0, 1.0);
- feature->set_geometry(mapnik::vector_tile_impl::decode_geometry(geoms, geom_type_enum, version));
+ mapnik::vector_tile_impl::GeometryPBF geoms(geom_itr);
+ feature->set_geometry(mapnik::vector_tile_impl::decode_geometry<double>(geoms, geom_type_enum, version, 0.0, 0.0, 1.0, 1.0));
mapnik::util::apply_visitor(
visitor_geom_valid(errors, feature, layer_name, split_multi_features),
feature->get_geometry());
diff --git a/test/data/vector_tile/compositing/badtile.mvt b/test/data/vector_tile/compositing/badtile.mvt
new file mode 100644
index 0000000..42d841d
Binary files /dev/null and b/test/data/vector_tile/compositing/badtile.mvt differ
diff --git a/test/data/vector_tile/compositing/badtile.xml b/test/data/vector_tile/compositing/badtile.xml
new file mode 100644
index 0000000..ed2bb15
--- /dev/null
+++ b/test/data/vector_tile/compositing/badtile.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Map srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" background-color="rgb(0,0,0)" base="/Users/mthompson/src/api-maps/node_modules/mapbox-maps/node_modules/tilelive-vector/" maximum-extent="-20037508.34,-20037508.34,20037508.34,20037508.34">
+ <Parameters>
+ <Parameter name="bounds">-180,-85.0511,180,85.0511</Parameter>
+ <Parameter name="center">0,0,3</Parameter>
+ <Parameter name="format">png8:m=h</Parameter>
+ <Parameter name="maxzoom">22</Parameter>
+ <Parameter name="minzoom">0</Parameter>
+ <Parameter name="scale">1</Parameter>
+ </Parameters>
+ <Style name="_image" filter-mode="first">
+ <Rule>
+ <RasterSymbolizer opacity="1"/>
+ </Rule>
+ </Style>
+ <Style name="contour" filter-mode="first" comp-op="screen">
+ <Rule>
+ <Filter>([mapnik::geometry_type]=3)</Filter>
+ <LineSymbolizer stroke="rgba(153,68,187,0.502)" stroke-width="0.5"/>
+ <PolygonSymbolizer fill="rgba(153,68,187,0.051)"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=2)</Filter>
+ <LineSymbolizer stroke="rgba(153,68,187,0.502)" stroke-width="1"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=1)</Filter>
+ <DotSymbolizer fill="rgba(153,68,187,0.502)" width="5"/>
+ <TextSymbolizer allow-overlap="true" dy="6" justify-alignment="left" face-name="Source Sans Pro Regular" size="12" fill="rgba(153,68,187,0.749)">[name]</TextSymbolizer>
+ </Rule>
+ </Style>
+ <Style name="contour-raster" filter-mode="first">
+ <Rule>
+ <ElseFilter/>
+ <RasterSymbolizer opacity="1"/>
+ </Rule>
+ </Style>
+ <Style name="hillshade" filter-mode="first" comp-op="screen">
+ <Rule>
+ <Filter>([mapnik::geometry_type]=3)</Filter>
+ <LineSymbolizer stroke="rgba(204,255,238,0.502)" stroke-width="0.5"/>
+ <PolygonSymbolizer fill="rgba(204,255,238,0.051)"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=2)</Filter>
+ <LineSymbolizer stroke="rgba(204,255,238,0.502)" stroke-width="1"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=1)</Filter>
+ <DotSymbolizer fill="rgba(204,255,238,0.502)" width="5"/>
+ <TextSymbolizer allow-overlap="true" dy="6" justify-alignment="left" face-name="Source Sans Pro Regular" size="12" fill="rgba(204,255,238,0.749)">[name]</TextSymbolizer>
+ </Rule>
+ </Style>
+ <Style name="hillshade-raster" filter-mode="first">
+ <Rule>
+ <ElseFilter/>
+ <RasterSymbolizer opacity="1"/>
+ </Rule>
+ </Style>
+ <Style name="landcover" filter-mode="first" comp-op="screen">
+ <Rule>
+ <Filter>([mapnik::geometry_type]=3)</Filter>
+ <LineSymbolizer stroke="rgba(238,102,68,0.502)" stroke-width="0.5"/>
+ <PolygonSymbolizer fill="rgba(238,102,68,0.051)"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=2)</Filter>
+ <LineSymbolizer stroke="rgba(238,102,68,0.502)" stroke-width="1"/>
+ </Rule>
+ <Rule>
+ <Filter>([mapnik::geometry_type]=1)</Filter>
+ <DotSymbolizer fill="rgba(238,102,68,0.502)" width="5"/>
+ <TextSymbolizer allow-overlap="true" dy="6" justify-alignment="left" face-name="Source Sans Pro Regular" size="12" fill="rgba(238,102,68,0.749)">[name]</TextSymbolizer>
+ </Rule>
+ </Style>
+ <Style name="landcover-raster" filter-mode="first">
+ <Rule>
+ <ElseFilter/>
+ <RasterSymbolizer opacity="1"/>
+ </Rule>
+ </Style>
+ <Layer name="landcover" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over">
+ <StyleName>landcover</StyleName>
+ <StyleName>landcover-raster</StyleName>
+ </Layer>
+ <Layer name="hillshade" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over">
+ <StyleName>hillshade</StyleName>
+ <StyleName>hillshade-raster</StyleName>
+ </Layer>
+ <Layer name="contour" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over">
+ <StyleName>contour</StyleName>
+ <StyleName>contour-raster</StyleName>
+ </Layer>
+ <Layer name="_image" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over">
+ <StyleName>_image</StyleName>
+ </Layer>
+</Map>
diff --git a/test/data/vector_tile/compositing/expected/2-1-1b.png b/test/data/vector_tile/compositing/expected/2-1-1b.png
index f06feac..04b020e 100644
Binary files a/test/data/vector_tile/compositing/expected/2-1-1b.png and b/test/data/vector_tile/compositing/expected/2-1-1b.png differ
diff --git a/test/data/vector_tile/compositing/expected/world-reencode-max-extent.png b/test/data/vector_tile/compositing/expected/world-reencode-max-extent.png
index d78b900..30ff8a6 100644
Binary files a/test/data/vector_tile/compositing/expected/world-reencode-max-extent.png and b/test/data/vector_tile/compositing/expected/world-reencode-max-extent.png differ
diff --git a/test/data/vector_tile/compositing/expected/world-reencode.png b/test/data/vector_tile/compositing/expected/world-reencode.png
index b1e913f..1414033 100644
Binary files a/test/data/vector_tile/compositing/expected/world-reencode.png and b/test/data/vector_tile/compositing/expected/world-reencode.png differ
diff --git a/test/vector-tile.composite.test.js b/test/vector-tile.composite.test.js
index c0b0512..826b113 100644
--- a/test/vector-tile.composite.test.js
+++ b/test/vector-tile.composite.test.js
@@ -800,4 +800,21 @@ describe('mapnik.VectorTile.composite', function() {
});
});
+ it('should correctly composite again -- numerical precision issue in mapnik vector tile area calculation - 2', function(done) {
+ // Tile data
+ var vtile = new mapnik.VectorTile(15,8816,12063);
+ var vt_data = fs.readFileSync('./test/data/vector_tile/compositing/badtile.mvt');
+ vtile.setData(vt_data);
+ assert(!vtile.empty());
+ assert.doesNotThrow(function() {
+ vtile.toGeoJSON('__all__');
+ });
+ var map = new mapnik.Map(256,256);
+ map.loadSync('./test/data/vector_tile/compositing/badtile.xml');
+ var opts = { z: 16, x: 17632, y: 24126, scale: 1, buffer_size: 256 };
+ vtile.render(map, new mapnik.Image(256,256), opts, function(err, image) {
+ if (err) throw err;
+ done();
+ });
+ });
});
diff --git a/test/vector-tile.test.js b/test/vector-tile.test.js
index f28ec3b..6719c5a 100644
--- a/test/vector-tile.test.js
+++ b/test/vector-tile.test.js
@@ -3509,7 +3509,7 @@ describe('mapnik.VectorTile ', function() {
'landcover', 'hillshade', 'contour']);
assert.equal(vtile.reportGeometryValidity().length, 0);
assert.equal(vtile.reportGeometryValidity({split_multi_features:true}).length, 0);
- assert.equal(vtile.reportGeometrySimplicity().length, 6);
+ assert.equal(vtile.reportGeometrySimplicity().length, 4);
done();
});
});
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/node-mapnik.git
More information about the Pkg-javascript-commits
mailing list