[generator][search][routing] Long time Generator refactoring. #6537

Merged
vng merged 82 commits from vng-gen-1 into master 2023-11-22 15:39:59 +00:00

82 commits

Author SHA1 Message Date
Viktor Govako
21fa00c0af [generator] Fixed Metadata parsing for multiple keys.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
ad7b7e7c19 [generator][search] Do not inherit "population" from Relation.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
6c1effbc83 [generator] Do not add a "building-address" type for a single "entrance" type.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
3eefa4a0d0 [generator] Minor fixes and TODOs in FeaturesCollector2 geometry building.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
e5cc510a9b [generator][search] Treat addr:city and addr:suburb as Place without addr:street or addr:place.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
e8f5aa1afd [generator] Clear metadata for World linear features.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
75dc16331b [generator][routing] Added locked=yes access type.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
b4af77b639 [generator] Added "brand" meta. Choose one (best) value for "operator" and "brand".
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
7eb3a4e0f4 [generator] Do not save villages as cities in the World (for USA where fancy place-boundary mapping).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
1881cbff3a [generator] Validate OsmElement relations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
65d60e7c8b [search] Added Feature->Place index.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
9806945c9a [generator][test] Added cycle_barrier test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
203e464798 [generator] Don't store name (and meta) for "disused" or "abandoned" POIs.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
418e0cb0be [generator] Save extended address data (place, suburb).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
321e02dabd [generator] Do not set useless hwtag=yescar.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:14 -03:00
Viktor Govako
bd4439430f [generator] Set oneway together with junction=circular.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
eef8928c5c [generator] Do not accumulate tags from _useless_ boundary Relations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
ab82f8481d [generator] Do not generate place=country/state from Relations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
5e2f06accb [generator] Fixed some surface + smoothness combinations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
4c3ea5104c [generator] Process stop_position && funicular=yes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
4f35efa5c6 [generator] Assign hwtag=nocycleway/nosidewalk types. Parse bicycle_road, cyclestreet OSM tags.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
79044d3f88 [generator] Process route=road/bicycle/foot/hiking Relations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
40bf284d97 [generator] Process address "contact:housenumber/street/postcode" tags.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
4375a5331f [generator] FeatureBuilder's postcode refactoring.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
dab0e1bfcb [generator] Create building=address features with name only.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
d03fe3df31 [generator] Collect addr:interpolation features.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
ac5d092295 [generator] Fixed mini_roundabout's transformation.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
a3eb5c2877 [generator] Fixed Node vs Way places selector. Prefer Nodes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
2f6da7b330 [generator] Minor code prettify.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
0d34ce5a8e [generator] Use release CHECK to verify FeatureType geometry.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
385a8c6261 [generator] Process tags from route = ferry / train(shuttle) relations.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
6d9d0847b5 [generator][routing] Hack with highway=crossing AND bicycle=no.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
ae826235ef [generator] Fixed complex surface values.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
87d26ceb4e [generator] Fixed boundary selection for cities.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
785714f320 [generator][search] Assign synonyms.txt as "alt_name" for Country or State.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
6f2dc286d8 [generator][search] Print top street's name tokens.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
3cc05de45c [generator] Process barrier=* for Relation -> Way.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:13 -03:00
Viktor Govako
7d03dbb02e [generator] Skip cities when Node=village and Relation=city.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
11e6083b48 [generator] City boundaries refactoring.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
5b0737540d [generate] Make one FeatureBuilder for "point-only" area relations (like place).
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
e71ab5cde0 [generator] Added additional "postal_code" tag processing.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
72de4ca841 [generator] Correct shuttle_train process.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
228f313a17 [generator] Reduced threshold for World area objects.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
609c083313 [generator] Relaxed coastline area check.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
02746f004b [generator] Minor fixes.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
666fa1244f [generator] Fixed relation tags inheritance.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
01528fb830 [generator] Way->Node collectors refactoring.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
f3b8167ba6 [generator] Prettify CollectorInterface.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
17212d6634 [generator][routing] Ignore access=destination for motorway/trunk/primary.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
2330e29104 [generator][tests] Added place=region test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
dac4b3f7f6 [generator] Convert access=no + motor_vehicle=permit into RoadAccess::Private.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
82c8bafbff [generator] Correct parsing of area highway (pedestrian) multipolygons.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
8ca50180b4 [generator] Minor renaming.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
48aff0b7fb [generator] Use boost::polygon instead of boost::geometry as more robust in ProcessBuildingParts.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
0dc3ca3575 [generator][tests] Added CountryFinalProcessor::ProcessBuildingParts test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
df347851dc [generator][tests] Added MaxspeedsMwmCollector links test.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
405501aaf6 [generator] Always use MaxAccuracy for FeatureBuilder serialization.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
253982f729 [generator] Honest move semantic for FeatureBuilder in ForEachFeatureRawFormat.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
85cff7bd48 [generator] Move chunks vector in RawGenerator::GenerateFilteredFeatures.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
97d5404fd3 [generator] Fixed maxspeeds generation order.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
5d2bf27c2d [generator] FeatureBuilder geometry refactoring.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
3a387dfe4f [generator] Fixed bug with place GeoObjectId for boundaries.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
3efd0e8358 [tests] United metadata tests.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
ec2c7e74de [generator] Updated tests with search::CitiesBoundariesTable.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
5de9debf35 [generator] Prettify TownsDumper routine.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
51a9e1183e [generator] Fixed duplicating towns mostly in USA.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
f9bef8ce70 [generator][tests] Added TestRawGenerator component without Affiliations overhead.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:12 -03:00
Viktor Govako
cd5981323b [generator] Removed ComplexFeaturesMixer and ProcessorComplex as unused.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
c54fb42a4e [generator] Skip "bounds" tag in OSM dump.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
9101303e3b [generator] Fixed hwtag matching.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
23cb7253a2 [generator] Additional Feature classifier types checking and logging.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
f2075416bc [generator] Properly set postcode in Feature builder.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
700cabeb2e [generator] Removed dummy disable_cross_mwm_progress option.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
a5295defbc [generator] Fixed building:part vs building covering.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
7f1748c1e5 [generator] Fixed capitals.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
d1c7e59e82 [generator] Fixed getting origin point for OsmElement.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
43d352a7f3 [generator] Use ref in public_transport=platform.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
35a3e11c47 [generator] Reduced epsilon when checking point in MWM's poly to fix Cross MWMs routing.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
1443faea82 [generator] Skip highway=motorway_junction with access=private as a barrier.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
3adcdb86f5 [generator] Do not drop speed cameras.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
fab4079120 [generator] Use ref in aeroway=gate.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00
Viktor Govako
b2c63c3bab [generator] Added warnings on bad area geometry.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
2023-11-21 18:14:11 -03:00