mirror of
https://github.com/mapbox/tippecanoe.git
synced 2025-02-24 02:41:15 +00:00
Include the layer number in the serialized geometry
This commit is contained in:
parent
8002609f0c
commit
eb24c6e21e
@ -542,7 +542,8 @@ int read_json(FILE *f, const char *fname, const char *layername, int maxzoom, in
|
|||||||
|
|
||||||
long long geomstart = geompos;
|
long long geomstart = geompos;
|
||||||
|
|
||||||
serialize_int(geomfile, mb_geometry[t], &geompos, fname, jp);
|
serialize_byte(geomfile, mb_geometry[t], &geompos, fname, jp);
|
||||||
|
serialize_byte(geomfile, 0, &geompos, fname, jp); // XXX layer
|
||||||
serialize_long_long(geomfile, metastart, &geompos, fname, jp);
|
serialize_long_long(geomfile, metastart, &geompos, fname, jp);
|
||||||
parse_geometry(t, coordinates, bbox, &geompos, geomfile, VT_MOVETO, fname, jp);
|
parse_geometry(t, coordinates, bbox, &geompos, geomfile, VT_MOVETO, fname, jp);
|
||||||
serialize_byte(geomfile, VT_END, &geompos, fname, jp);
|
serialize_byte(geomfile, VT_END, &geompos, fname, jp);
|
||||||
@ -809,7 +810,7 @@ int read_json(FILE *f, const char *fname, const char *layername, int maxzoom, in
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* end of tile */
|
/* end of tile */
|
||||||
serialize_int(geomfile, -2, &geompos, fname, jp);
|
serialize_byte(geomfile, -2, &geompos, fname, jp);
|
||||||
fclose(geomfile);
|
fclose(geomfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
tile.cc
12
tile.cc
@ -385,13 +385,14 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u
|
|||||||
*geoms = og;
|
*geoms = og;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
int t;
|
signed char t;
|
||||||
deserialize_int(geoms, &t);
|
deserialize_byte(geoms, &t);
|
||||||
if (t < 0) {
|
if (t < 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int layer = 0; // XXX layer
|
signed char layer;
|
||||||
|
deserialize_byte(geoms, &layer);
|
||||||
|
|
||||||
long long metastart;
|
long long metastart;
|
||||||
deserialize_long_long(geoms, &metastart);
|
deserialize_long_long(geoms, &metastart);
|
||||||
@ -470,7 +471,8 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u
|
|||||||
}
|
}
|
||||||
|
|
||||||
//printf("type %d, meta %lld\n", t, metastart);
|
//printf("type %d, meta %lld\n", t, metastart);
|
||||||
serialize_int(geomfile[j], t, &geompos[j], fname, jp);
|
serialize_byte(geomfile[j], t, &geompos[j], fname, jp);
|
||||||
|
serialize_byte(geomfile[j], layer, &geompos[j], fname, jp);
|
||||||
serialize_long_long(geomfile[j], metastart, &geompos[j], fname, jp);
|
serialize_long_long(geomfile[j], metastart, &geompos[j], fname, jp);
|
||||||
|
|
||||||
for (unsigned u = 0; u < geom.size(); u++) {
|
for (unsigned u = 0; u < geom.size(); u++) {
|
||||||
@ -590,7 +592,7 @@ long long write_tile(char **geoms, char *metabase, unsigned *file_bbox, int z, u
|
|||||||
int j;
|
int j;
|
||||||
for (j = 0; j < 4; j++) {
|
for (j = 0; j < 4; j++) {
|
||||||
if (within[j]) {
|
if (within[j]) {
|
||||||
serialize_int(geomfile[j], -2, &geompos[j], fname, jp);
|
serialize_byte(geomfile[j], -2, &geompos[j], fname, jp);
|
||||||
within[j] = 0;
|
within[j] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user