mirror of
https://github.com/felt/tippecanoe.git
synced 2026-10-06 02:15:41 +02:00
Include the layer number in the serialized geometry
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user