mirror of
https://github.com/felt/tippecanoe.git
synced 2026-10-06 10:25:41 +02:00
No need to split features into child tiles when processing the final zoom.
This commit is contained in:
@@ -283,7 +283,7 @@ void check(int geomfd[4], off_t geom_size[4], char *metabase, unsigned *file_bbo
|
|||||||
fprintf(stderr, " %3.1f%% %d/%u/%u \r",
|
fprintf(stderr, " %3.1f%% %d/%u/%u \r",
|
||||||
(((geom - geomstart + along) / (double) todo) + z) / (maxzoom + 1) * 100, z, x, y);
|
(((geom - geomstart + along) / (double) todo) + z) / (maxzoom + 1) * 100, z, x, y);
|
||||||
|
|
||||||
long long len = write_tile(&geom, metabase, file_bbox, z, x, y, z == maxzoom ? full_detail : low_detail, maxzoom, file_keys, layername, outdb, droprate, buffer, fname, jp, sub, minzoom);
|
long long len = write_tile(&geom, metabase, file_bbox, z, x, y, z == maxzoom ? full_detail : low_detail, maxzoom, file_keys, layername, outdb, droprate, buffer, fname, jp, sub, minzoom, maxzoom);
|
||||||
|
|
||||||
if (z == maxzoom && len > most) {
|
if (z == maxzoom && len > most) {
|
||||||
*midx = x;
|
*midx = x;
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ void evaluate(std::vector<coalesce> &features, char *metabase, struct pool *file
|
|||||||
pool_free(&keys);
|
pool_free(&keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, unsigned tx, unsigned ty, int detail, int basezoom, struct pool *file_keys, const char *layername, sqlite3 *outdb, double droprate, int buffer, const char *fname, json_pull *jp, FILE *geomfile[4], int file_minzoom) {
|
long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, unsigned tx, unsigned ty, int detail, int basezoom, struct pool *file_keys, const char *layername, sqlite3 *outdb, double droprate, int buffer, const char *fname, json_pull *jp, FILE *geomfile[4], int file_minzoom, int file_maxzoom) {
|
||||||
int line_detail;
|
int line_detail;
|
||||||
static bool evaluated = false;
|
static bool evaluated = false;
|
||||||
|
|
||||||
@@ -419,7 +419,7 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (line_detail == detail) { /* only write out the next zoom once, even if we retry */
|
if (line_detail == detail) { /* only write out the next zoom once, even if we retry */
|
||||||
if (geom.size() > 0) {
|
if (geom.size() > 0 && z + 1 <= file_maxzoom) {
|
||||||
int j;
|
int j;
|
||||||
for (j = 0; j < 4; j++) {
|
for (j = 0; j < 4; j++) {
|
||||||
int xo = j & 1;
|
int xo = j & 1;
|
||||||
|
|||||||
@@ -36,4 +36,4 @@ struct index {
|
|||||||
int candup : 1;
|
int candup : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
long long write_tile(char **geom, char *metabase, unsigned *file_bbox, int z, unsigned x, unsigned y, int detail, int basezoom, struct pool *file_keys, const char *layername, sqlite3 *outdb, double droprate, int buffer, const char *fname, struct json_pull *jp, FILE *geomfile[4], int file_minzoom);
|
long long write_tile(char **geom, char *metabase, unsigned *file_bbox, int z, unsigned x, unsigned y, int detail, int basezoom, struct pool *file_keys, const char *layername, sqlite3 *outdb, double droprate, int buffer, const char *fname, struct json_pull *jp, FILE *geomfile[4], int file_minzoom, int file_maxzoom);
|
||||||
|
|||||||
Reference in New Issue
Block a user