otbutz
otbutz
Removing FlagEncoders requires #2460 to be solved but we can implement it without removing FlagEncoders. At least that is my understanding of it. The benefit is that users can perform...
Quick comparison with Google Maps: First [route](https://www.google.com/maps/dir/'49.967067,11.584911'/'49.970545,11.567595'/@49.9690784,11.5748548,16z/data=!4m11!4m10!1m3!2m2!1d11.584911!2d49.967067!1m3!2m2!1d11.567595!2d49.970545!3e2!5i1) :arrow_upper_right: 14m :arrow_lower_right: 27m:  Tried to replicate the second [route](https://www.google.com/maps/dir/'50.916252,14.161785'/50.9093799,14.1886611/50.9043087,14.2082074/50.8905788,14.231588/@50.8988695,14.2171955,16.67z/data=!4m21!4m20!1m5!1m1!1s0x0:0x72913f76e605372!2m2!1d14.1618506!2d50.9162369!1m0!1m10!3m4!1m2!1d14.2123572!2d50.9028603!3s0x4709a6cd85a47b17:0x84296f804ef22d74!3m4!1m2!1d14.2316392!2d50.8907635!3s0x4709a0d698d36215:0x1195356cd5d41c18!1m0!3e2) as good as possible :arrow_upper_right: 67m :arrow_lower_right: 57m:  With Google Maps...
Have you tried Visvalingam or a simple moving average?
> somehow define a maximum slope change That one might make sense. It's elevation data for routes after all. An unpassable incline should be filtered out.
> We already store access flags for each vehicle. The more fine-grained logic is only used within the FlagEncoders: https://github.com/graphhopper/graphhopper/blob/1e5f4e74f8365bf322bd3ab001afb78e638198e1/core/src/main/java/com/graphhopper/routing/util/AbstractFlagEncoder.java#L86 The RoadAccess EV only represents the access for `TransportationMode.CAR`: https://github.com/graphhopper/graphhopper/blob/1e5f4e74f8365bf322bd3ab001afb78e638198e1/core/src/main/java/com/graphhopper/routing/util/EncodingManager.java#L312-L315
If we store this per transportation mode, we can get away with only a subset of those values. The RoadAccess stored in the graph could be simplified to `YES`, `AVOID`...
> Conditional tags are likely a different beast (?) Apart from *very* simple cases like the one above...totally > How would a custom_model look like if you had a separate...
The problem is that a truck doesn't necessarily translate to "equal or less" in terms of road access compared to car. If the car profile blocks access to `delivery`, we...
@easbar interesting thought. Our current implementation is mostly blacklist based which would fit a BooleanEncodedValue. The more fine-grained handling is only necessary for RoadAccess values which roughly translate to "avoid...
We should remove it if we don't actually use it for something like detecting duplicates. Otherwise i'd follow JTS Point implementation which treats `equals(Object)` internally as `equalsExact(Geometry,double)` with a tolerance...