1#ifndef OSMSCOUT_IMPORT_GENOPTIMIZEWAYSLOWZOOM_H
2#define OSMSCOUT_IMPORT_GENOPTIMIZEWAYSLOWZOOM_H
23#include <osmscoutimport/ImportFeatures.h>
27#include <unordered_map>
45 typedef std::unordered_map<FileOffset,FileOffset> FileOffsetFileOffsetMap;
50 MagnificationLevel optLevel;
51 MagnificationLevel indexLevel;
59 uint8_t dataOffsetBytes;
69 inline bool HasEntries()
71 return indexCells>0 &&
77 void GetWayTypesToOptimize(
const TypeConfig& typeConfig,
78 std::set<TypeInfoRef>& types);
80 bool WriteTypeData(FileWriter& writer,
81 const TypeData& data);
83 bool WriteHeader(FileWriter& writer,
84 const std::list<TypeData>& wayTypesData,
85 MagnificationLevel optimizeMaxMap);
87 bool GetWays(
const TypeConfig& typeConfig,
88 const ImportParameter& parameter,
91 std::set<TypeInfoRef>& types,
92 std::vector<std::list<WayRef> >& ways);
94 void MergeWays(Progress& progress,
95 const std::list<WayRef>& ways,
96 std::list<WayRef>& newWays);
98 void GetWayIndexLevel(
const ImportParameter& parameter,
99 const std::list<WayRef>& ways,
102 void OptimizeWays(Progress& progress,
103 const std::list<WayRef>& ways,
104 std::list<WayRef>& optimizedWays,
109 const Magnification& magnification,
110 TransPolygon::OptimizeMethod optimizeWayMethod);
112 void WriteWays(
const TypeConfig& typeConfig,
114 const std::list<WayRef>& ways,
115 FileOffsetFileOffsetMap& offsets);
117 bool WriteWayBitmap(Progress& progress,
119 const std::list<WayRef>& ways,
120 const FileOffsetFileOffsetMap& offsets,
123 bool HandleWays(
const ImportParameter& parameter,
125 const TypeConfig& typeConfig,
127 const std::set<TypeInfoRef>& types,
128 std::list<TypeData>& typesData);
132 ImportModuleDescription& description)
const override;
void GetDescription(const ImportParameter ¶meter, ImportModuleDescription &description) const override
bool Import(const TypeConfigRef &typeConfig, const ImportParameter ¶meter, Progress &progress) override
Definition ImportModule.h:101
uint64_t FileOffset
Definition OSMScoutTypes.h:46
std::shared_ptr< TypeConfig > TypeConfigRef
Definition TypeConfig.h:1396
std::shared_ptr< TypeInfo > TypeInfoRef
Definition TypeConfig.h:61