Fixes #696, a regression introduced in the v3.0 work:
fix bug in thread locals for generate_stream and generate_output
if the thread local was read on the main thread, we would previously fail to reset it for the subsequent PBF file
use the old NodeStore/WayStore when multiple input files are present
the optimization for Sort.Type_then_ID assumes IDs are monotonically increasing. This is not true when there are multiple PBFs, as the subsequent PBF restarts its numbering.
don't use lazy geometries when multiple input files present
Thanks! Tested with Oxfordshire+Worcestershire+Gloucestershire and works well. (I'd had a brief look previously and spotted the thread local issue but not the others.)
Fixes #696, a regression introduced in the v3.0 work:
generate_stream
andgenerate_output
Sort.Type_then_ID
assumes IDs are monotonically increasing. This is not true when there are multiple PBFs, as the subsequent PBF restarts its numbering.LeasedStore
assumed that there would be at most 1 PBF being read. This might be fixable by multiplyingthreadNum
by the number of PBFs to be read in the initializers here: https://github.com/systemed/tilemaker/blob/07e878fc5c382a9e1fd9ad255c13f6df533b86f5/src/tile_data.cpp#L54-L57For testing, I built a pmtiles with monaco + liechtenstein and verified they both showed up.
I think we could probably support lazy geometries, but have left it alone for now.