mirror of
https://github.com/mapbox/tippecanoe.git
synced 2025-02-21 17:56:40 +00:00
Don't serialize the per-feature minzoom until geometry merging time
This commit is contained in:
parent
04157e7728
commit
c8a1b082e0
@ -424,7 +424,7 @@ int serialize_geometry(json_object *geometry, json_object *properties, json_obje
|
||||
}
|
||||
}
|
||||
|
||||
serialize_feature(geomfile, &sf, geompos, fname, *initial_x >> geometry_scale, *initial_y >> geometry_scale);
|
||||
serialize_feature(geomfile, &sf, geompos, fname, *initial_x >> geometry_scale, *initial_y >> geometry_scale, false);
|
||||
|
||||
struct index index;
|
||||
index.start = geomstart;
|
||||
|
1
main.cpp
1
main.cpp
@ -223,6 +223,7 @@ static void merge(struct mergelist *merges, int nmerges, unsigned char *map, FIL
|
||||
struct index *ix = (struct index *) (map + head->start);
|
||||
fwrite_check(geom_map + ix->start, 1, ix->end - ix->start, geom_out, "merge geometry");
|
||||
*geompos += ix->end - ix->start;
|
||||
serialize_byte(geom_out, 0, geompos, "merge geometry");
|
||||
|
||||
// Count this as an 75%-accomplishment, since we already 25%-counted it
|
||||
*progress += (ix->end - ix->start) * 3 / 4;
|
||||
|
@ -174,7 +174,7 @@ static void write_geometry(drawvec const &dv, long long *fpos, FILE *out, const
|
||||
}
|
||||
}
|
||||
|
||||
void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, const char *fname, long long wx, long long wy) {
|
||||
void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, const char *fname, long long wx, long long wy, bool include_minzoom) {
|
||||
serialize_byte(geomfile, sf->t, geompos, fname);
|
||||
serialize_long_long(geomfile, sf->seq, geompos, fname);
|
||||
|
||||
@ -207,5 +207,7 @@ void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, c
|
||||
serialize_long_long(geomfile, sf->values[i], geompos, fname);
|
||||
}
|
||||
|
||||
serialize_byte(geomfile, sf->feature_minzoom, geompos, fname);
|
||||
if (include_minzoom) {
|
||||
serialize_byte(geomfile, sf->feature_minzoom, geompos, fname);
|
||||
}
|
||||
}
|
||||
|
@ -44,4 +44,4 @@ struct serial_feature {
|
||||
long long metapos;
|
||||
};
|
||||
|
||||
void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, const char *fname, long long wx, long long wy);
|
||||
void serialize_feature(FILE *geomfile, serial_feature *sf, long long *geompos, const char *fname, long long wx, long long wy, bool include_minzoom);
|
||||
|
2
tile.cpp
2
tile.cpp
@ -361,7 +361,7 @@ void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, u
|
||||
}
|
||||
}
|
||||
|
||||
serialize_feature(geomfile[j], &sf, &geompos[j], fname, initial_x[segment] >> geometry_scale, initial_y[segment] >> geometry_scale);
|
||||
serialize_feature(geomfile[j], &sf, &geompos[j], fname, initial_x[segment] >> geometry_scale, initial_y[segment] >> geometry_scale, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user