diff --git a/main.hpp b/main.hpp index 6b979cfa..5f7128b5 100644 --- a/main.hpp +++ b/main.hpp @@ -13,10 +13,11 @@ struct index { long long start = 0; // offset of data in geom file long long end = 0; - unsigned long long ix = 0; // quadkey or hilbert index - unsigned short t : 2; // geometry type - unsigned short dup : 8; // instance number of identical geometry - unsigned long long seq : (64 - 2 - 8); // input sequence number; pack with t and dup to stay in 32 bytes + unsigned long long ix = 0; // quadkey or hilbert index + unsigned short segment; // which reader thread produced this feature + unsigned short t : 2; // geometry type + unsigned short dup : 8; // instance number of identical geometry + unsigned long long seq : (64 - 16 - 2 - 8); // input sequence number; pack with segment and t and dup to stay in 32 bytes index() : t(0), diff --git a/serial.cpp b/serial.cpp index 224cd886..ef1ed435 100644 --- a/serial.cpp +++ b/serial.cpp @@ -883,6 +883,7 @@ int serialize_feature(struct serialization_state *sst, serial_feature &sf, std:: index.start = geomstart; index.end = r->geompos; index.seq = *(sst->layer_seq); + index.segment = sst->segment; index.t = sf.t; index.ix = bbox_index;