diff --git a/DataStructures/SharedMemoryVectorWrapper.h b/DataStructures/SharedMemoryVectorWrapper.h index 536a7c5e2..78a77218e 100644 --- a/DataStructures/SharedMemoryVectorWrapper.h +++ b/DataStructures/SharedMemoryVectorWrapper.h @@ -82,7 +82,9 @@ public: SharedMemoryWrapper(DataT * ptr, std::size_t size) : m_ptr(ptr), m_size(size) - { } + { + SimpleLogger().Write(logDEBUG) << "generated std::vector of size " << size; + } void swap( SharedMemoryWrapper & other ) { BOOST_ASSERT_MSG(m_size != 0 || other.size() != 0, "size invalid"); @@ -143,7 +145,9 @@ public: SharedMemoryWrapper(unsigned * ptr, std::size_t size) : m_ptr(ptr), m_size(size) - { } + { + SimpleLogger().Write(logDEBUG) << "generated std::vector of size " << size; + } void swap( SharedMemoryWrapper & other ) { BOOST_ASSERT_MSG(m_size != 0 || other.size() != 0, "size invalid"); diff --git a/datastore.cpp b/datastore.cpp index 3c2f55048..3cfe295e3 100644 --- a/datastore.cpp +++ b/datastore.cpp @@ -192,6 +192,7 @@ int main( const int argc, const char * argv[] ) { shared_layout_ptr->via_node_list_size = number_of_original_edges; shared_layout_ptr->name_id_list_size = number_of_original_edges; shared_layout_ptr->turn_instruction_list_size = number_of_original_edges; + shared_layout_ptr->geometries_compression = number_of_original_edges; boost::filesystem::ifstream hsgr_input_stream( hsgr_path, @@ -316,6 +317,10 @@ int main( const int argc, const char * argv[] ) { shared_memory_ptr + shared_layout_ptr->GetTurnInstructionListOffset() ); + unsigned * geometries_index_ptr = (unsigned *)( + shared_memory + shared_layout_ptr->GetGeometriesIndicesOffset() + ); + OriginalEdgeData current_edge_data; for(unsigned i = 0; i < number_of_original_edges; ++i) { // SimpleLogger().Write() << i << "/" << number_of_edges; @@ -326,6 +331,11 @@ int main( const int argc, const char * argv[] ) { via_node_ptr[i] = current_edge_data.via_node; name_id_ptr[i] = current_edge_data.name_id; turn_instructions_ptr[i] = current_edge_data.turn_instruction; + + const unsigned bucket = i / 32; + const unsigned offset = i % 32; + geometries_index_ptr[bucket] |= (1 << offset); + } edges_input_stream.close();