mirror of
https://github.com/mapbox/tippecanoe.git
synced 2025-02-24 02:41:15 +00:00
Include the segment number in the serialized geometry
This commit is contained in:
parent
1f335eec44
commit
de60545da8
@ -558,6 +558,7 @@ int serialize_geometry(json_object *geometry, json_object *properties, const cha
|
|||||||
serialize_int(geomfile, tippecanoe_maxzoom, geompos, fname);
|
serialize_int(geomfile, tippecanoe_maxzoom, geompos, fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
serialize_int(geomfile, segment, geompos, fname);
|
||||||
serialize_long_long(geomfile, metastart, geompos, fname);
|
serialize_long_long(geomfile, metastart, geompos, fname);
|
||||||
long long wx = initial_x, wy = initial_y;
|
long long wx = initial_x, wy = initial_y;
|
||||||
parse_geometry(t, coordinates, bbox, geompos, geomfile, VT_MOVETO, fname, line, &wx, &wy, &initialized);
|
parse_geometry(t, coordinates, bbox, geompos, geomfile, VT_MOVETO, fname, line, &wx, &wy, &initialized);
|
||||||
|
8
tile.cc
8
tile.cc
@ -362,7 +362,7 @@ struct sll {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int line_detail, int *within, long long *geompos, FILE **geomfile, const char *fname, signed char t, int layer, long long metastart, signed char feature_minzoom, int child_shards, int max_zoom_increment, long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom) {
|
void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, unsigned tx, unsigned ty, int buffer, int line_detail, int *within, long long *geompos, FILE **geomfile, const char *fname, signed char t, int layer, long long metastart, signed char feature_minzoom, int child_shards, int max_zoom_increment, long long seq, int tippecanoe_minzoom, int tippecanoe_maxzoom, int segment) {
|
||||||
if (geom.size() > 0 && nextzoom <= maxzoom) {
|
if (geom.size() > 0 && nextzoom <= maxzoom) {
|
||||||
int xo, yo;
|
int xo, yo;
|
||||||
int span = 1 << (nextzoom - z);
|
int span = 1 << (nextzoom - z);
|
||||||
@ -441,6 +441,7 @@ void rewrite(drawvec &geom, int z, int nextzoom, int maxzoom, long long *bbox, u
|
|||||||
if (tippecanoe_maxzoom != -1) {
|
if (tippecanoe_maxzoom != -1) {
|
||||||
serialize_int(geomfile[j], tippecanoe_maxzoom, geompos, fname);
|
serialize_int(geomfile[j], tippecanoe_maxzoom, geompos, fname);
|
||||||
}
|
}
|
||||||
|
serialize_int(geomfile[j], segment, &geompos[j], fname);
|
||||||
serialize_long_long(geomfile[j], metastart, &geompos[j], fname);
|
serialize_long_long(geomfile[j], metastart, &geompos[j], fname);
|
||||||
long long wx = initial_x, wy = initial_y;
|
long long wx = initial_x, wy = initial_y;
|
||||||
|
|
||||||
@ -556,6 +557,9 @@ long long write_tile(char **geoms, char *metabase, char *stringpool, int z, unsi
|
|||||||
}
|
}
|
||||||
layer >>= 2;
|
layer >>= 2;
|
||||||
|
|
||||||
|
int segment;
|
||||||
|
deserialize_int(geoms, &segment);
|
||||||
|
|
||||||
long long metastart;
|
long long metastart;
|
||||||
deserialize_long_long(geoms, &metastart);
|
deserialize_long_long(geoms, &metastart);
|
||||||
char *meta = metabase + metastart;
|
char *meta = metabase + metastart;
|
||||||
@ -630,7 +634,7 @@ long long write_tile(char **geoms, char *metabase, char *stringpool, int z, unsi
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (line_detail == detail && fraction == 1) { /* only write out the next zoom once, even if we retry */
|
if (line_detail == detail && fraction == 1) { /* only write out the next zoom once, even if we retry */
|
||||||
rewrite(geom, z, nextzoom, maxzoom, bbox, tx, ty, buffer, line_detail, within, geompos, geomfile, fname, t, layer, metastart, feature_minzoom, child_shards, max_zoom_increment, original_seq, tippecanoe_minzoom, tippecanoe_maxzoom);
|
rewrite(geom, z, nextzoom, maxzoom, bbox, tx, ty, buffer, line_detail, within, geompos, geomfile, fname, t, layer, metastart, feature_minzoom, child_shards, max_zoom_increment, original_seq, tippecanoe_minzoom, tippecanoe_maxzoom, segment);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (z < minzoom) {
|
if (z < minzoom) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user