Merge pull request #417 from mapbox/only-warn-once

Only warn once about invalid polygon encoding in tippecanoe-decode
This commit is contained in:
Eric Fischer
2017-05-12 11:24:02 -07:00
committed by GitHub
3 changed files with 23 additions and 7 deletions
+4
View File
@@ -1,3 +1,7 @@
## 1.18.1
* Only warn once about invalid polygons in tippecanoe-decode
## 1.18.0 ## 1.18.0
* Fix compression of tiles in tile-join * Fix compression of tiles in tile-join
+18 -6
View File
@@ -271,9 +271,15 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe, st
if (i + 1 >= ops.size() || ops[i + 1].op == VT_MOVETO) { if (i + 1 >= ops.size() || ops[i + 1].op == VT_MOVETO) {
if (ops[i].op != VT_CLOSEPATH) { if (ops[i].op != VT_CLOSEPATH) {
fprintf(stderr, "Ring does not end with closepath (ends with %d)\n", ops[i].op); static bool warned = false;
if (!force) {
exit(EXIT_FAILURE); if (!warned) {
fprintf(stderr, "Ring does not end with closepath (ends with %d)\n", ops[i].op);
if (!force) {
exit(EXIT_FAILURE);
}
warned = true;
} }
} }
} }
@@ -307,9 +313,15 @@ void handle(std::string message, int z, unsigned x, unsigned y, int describe, st
int state = 0; int state = 0;
for (size_t i = 0; i < rings.size(); i++) { for (size_t i = 0; i < rings.size(); i++) {
if (i == 0 && areas[i] < 0) { if (i == 0 && areas[i] < 0) {
fprintf(stderr, "Polygon begins with an inner ring\n"); static bool warned = false;
if (!force) {
exit(EXIT_FAILURE); if (!warned) {
fprintf(stderr, "Polygon begins with an inner ring\n");
if (!force) {
exit(EXIT_FAILURE);
}
warned = true;
} }
} }
+1 -1
View File
@@ -1 +1 @@
#define VERSION "tippecanoe v1.18.0\n" #define VERSION "tippecanoe v1.18.1\n"