Skip to content

v0.2.48..v0.2.49 changeset ConfigOptions.asciidoc

Garret Voltz edited this page Oct 2, 2019 · 1 revision
diff --git a/conf/core/ConfigOptions.asciidoc b/conf/core/ConfigOptions.asciidoc
index 6bf0388..f2d4996 100644
--- a/conf/core/ConfigOptions.asciidoc
+++ b/conf/core/ConfigOptions.asciidoc
@@ -48,6 +48,25 @@ the same key as one specified in add.attributes.visitor.kvps, then the AddAttrib
 add the attribute.  If false, then AddAttributesVisitor will add the attribute to the element
 regardless.
 
+=== add.attributes.visitor.chain.element.criteria
+
+* Data Type: bool
+* Default Value: `false`
+
+If set to true and multiple criterion are specified in add.attributes.visitor.element.criteria,
+the attributes of elements will be modified only if they satisfy all of the criteria.  If set to
+false, then only one of the specified criteria must be met in order to modify the attributes of an
+element.
+
+=== add.attributes.visitor.element.criteria
+
+* Data Type: list
+* Default Value: ``
+
+One or more element criteria used for selecting elements whose attributes to modify. Delimit names
+with '='. From the command line, names with ';' and surround the entire list in double quotes.
+E.g. "hoot::TagCriterion;hoot::ReviewRelationCriterion"
+
 === add.attributes.visitor.kvps
 
 * Data Type: list
@@ -244,6 +263,14 @@ reference dataset will be lost.
 If true, all reviews outside of the score range established by the configuration options
 review.score.criterion.max/min.threshold will be removed.
 
+=== attribute.conflation.suppress.building.tag.on.multipoly.relation.constituents
+
+* Data Type: bool
+* Default Value: `true`
+
+If true, any buildings that are part of a multipolygon relation will have their building=yes tags
+removed during Attribute Conflation.
+
 === attribute.score.extractor.use.weight
 
 * Data Type: bool
@@ -360,15 +387,6 @@ See also:
 
  * _Estimate Pairwise Relationships_, <<hootalgo>>
 
-=== building.outline.update.op.remove.building.relations
-
-* Data Type: bool
-* Default Value: `false`
-
-If true, when building outlines are updated the updater will remove the source building relations
-used to create the outline multipolygon relation.  If false, both source building relations and
-outline multipolygon relations will remain.
-
 === building.part.merger.thread.count
 
 * Data Type: int
@@ -541,7 +559,7 @@ local path and then `$HOOT_HOME/conf/`.
 * Data Type: double
 * Default Value: `0.6`
 
-The default threshold at which a match is called a match.
+The default threshold at which a match is called a match. Valid values are between 0.0 and 1.0.
 
 See also:
 
@@ -552,7 +570,7 @@ See also:
 * Data Type: double
 * Default Value: `0.6`
 
-The default threshold at which a miss is called a miss.
+The default threshold at which a miss is called a miss. Valid values are between 0.0 and 1.0.
 
 See also:
 
@@ -601,7 +619,7 @@ See also: <<MapCleanerTransforms,map.cleaner.transforms>>
 * Default Value: `0.6`
 
 The default threshold at which a review is called a review. Reviews are also declared in some
-other situations when the relationship is not clear.
+other situations when the relationship is not clear. Valid values are between 0.0 and 1.0.
 
 See also:
 
@@ -613,7 +631,7 @@ See also:
 * Default Value: ``
 
 The string that lists the types of conflation used in the user interface.  The possible values
-are: reference, cookieCutter, average, and advancedConflation.
+are: reference, cookieCutter, average, and advancedConflation. TODO: Is this used anywhere?
 
 === conflate.tag.disable.value.truncation
 
@@ -673,9 +691,9 @@ ID of the node that ContainsNodeCriterion should search for.
 * Default Value: ``
 
 If specified, supporting readers will limit data read from the data source to only features that
-intersect the given bounding box. The format is "minx,miny,maxx,maxy" specified in the projection
-of the input data source.  This setting can be used with both the convert and conflate commands.
-See the documentation for more details.
+intersect the given bounding box. The format is "minx,miny,maxx,maxy" or "min_lon,min_lat,max_lon,max_lat"
+specified in the projection of the input data source.  This setting can be used with both the convert and
+conflate commands. See the documentation for more details.
 
 Example Usage:
 
@@ -840,6 +858,21 @@ If true, will not break apart features crossing the crop bounds. Ignored if crop
 If true, will throw out any features that do not fall completely within the crop bounds. Ignored if
 crop.invert is enabled.
 
+=== crop.random.max.node.count
+
+* Data Type: int
+* Default Value: `-1`
+
+The maximum number of nodes to be cropped out when running either the `crop-random` command or
+`RandomMapCropper`.
+
+=== crop.random.pixel.size
+
+* Data Type: double
+* Default Value: `0.001`
+
+The pixel size used when running either the `crop-random` command or `RandomMapCropper`.
+
 === debug.maps.filename
 
 * Data Type: string
@@ -862,7 +895,7 @@ significantly.
 * Default Value: `true`
 
 If false, when running Differential Conflation the reference elements will not be dropped from the
-output.
+output. Setting this to false is primarily useful when debugging unconnected way snapping issues.
 
 === differential.snap.unconnected.roads
 
@@ -988,10 +1021,8 @@ Size of the in memory way cache used when streaming I/O is used with ways.
 * Data Type: bool
 * Default Value: `false`
 
-If true, element criterions passed to an ElementCriterionConsumer will be negated.  May not be
-honored by all ElementCriterionConsumers.  Example setting which pass element criterions to
-ElementCriterionConsumers: remove.elements.visitor.element.criterion,
-set.tag.value.visitor.element.criterion, etc.
+If true, element criterions passed to an ElementCriterionConsumer will be negated.  Not honored by
+all ElementCriterionConsumers.
 
 === element.sorter.element.buffer.size
 
@@ -1168,7 +1199,7 @@ is required for unit tests, but shouldn't be used in normal operation.
 * Data Type: double
 * Default Value: `0.161`
 
-The threshold at which a match is called a match for roads.
+The threshold at which a match is called a match for roads. Valid values are between 0.0 and 1.0.
 
 See also:
 
@@ -1686,29 +1717,6 @@ Write out empty OSM tags to JSON such as `"text":""`
 
 Write out JSON in a more legible manner
 
-=== json.reader.http.bbox.max.size
-
-* Data Type: double
-* Default Value: `0.25`
-
-Maximum size of an HTTP request's bounding box in degrees before it is split up into smaller bounding
-boxes and run in parallel
-
-=== json.reader.http.bbox.parallel
-
-* Data Type: bool
-* Default Value: `false`
-
-Split the bounding box of an HTTP read request into smaller bounding boxes that can be run in parallel
-
-=== json.reader.http.bbox.thread.count
-
-* Data Type: int
-* Default Value: `8`
-
-Number of threads in the thread pool to process HTTP requests that contain bounding boxes that are too
-large to query at once (see `json.reader.http.bbox.max.size`).
-
 === language.detection.detector
 
 * Data Type: string
@@ -2056,10 +2064,11 @@ matching ways.  Larger values may increase runtime performance but decrease conf
 === merge.nearby.nodes.distance
 
 * Data Type: double
-* Default Value: `1.0`
+* Default Value: `0.0001`
 
-When merging nodes during convert, determines what tolerance should be used for deciding two nodes
-are identical. Units in meters and defaults to 1.0m.
+When merging nodes during convert, determines what tolerance should be used for deciding if two
+nodes are identical. Larger values are more likely to merge nodes which are not true duplicates of
+each other. The units are in meters, and the value must be greater than zero.
 
 [[merger.creators]]
 === merger.creators
@@ -2582,7 +2591,7 @@ Merges nearby nodes together when converting from an OGR format to OSM.
 === ogr2osm.simplify.complex.buildings
 
 * Data Type: bool
-* Default Value: `true`
+* Default Value: `false`
 
 Implicitly merges certain individual building parts into a single part when converting from an OGR
 format to OSM.
@@ -2713,31 +2722,6 @@ If true, the data is rubbersheeted before conflation, moving perturbed data clos
 The PERTY D value. D is used in e ^ (-perty.grid.spacing / D). Defaults to 1000. Larger values
 result in a more correlated permutation grid.
 
-=== perty.duplicate.poi.duplicate.sigma
-
-* Data Type: double
-* Default Value: `1.0`
-
-The number of duplicate POIs is set as `round(abs(N(0, sigma^2))) + 1`. Setting sigma to 0 will
-guarantee that there will always be exactly one duplicate.
-
-=== perty.duplicate.poi.move.multiplier
-
-* Data Type: double
-* Default Value: `1.0`
-
-The distance that a feature is moved is based on the circular error of the source point. The
-new point will be put within N(0, sigma^2) * moveMultiplier meters of the source point where
-sigma is the standard deviation associated with the source point.
-
-=== perty.duplicate.poi.probability
-
-* Data Type: double
-* Default Value: `0.10`
-
-The probability of at least one duplicate being created. See setDuplicateSigma to determine
-how many duplicates will be created.
-
 === perty.grid.spacing
 
 * Data Type: double
@@ -2745,80 +2729,20 @@ how many duplicates will be created.
 
 The size of the PERTY grid spacing in meters.
 
-=== perty.name.change.probability
-
-* Data Type: double
-* Default Value: `0.05`
-
-The probability of a change to each character in the name. The expected number of changes is
-`perty.name.change.probability` * str.size().
-
-=== perty.name.probability
-
-* Data Type: double
-* Default Value: `0.05`
-
-The probability that a name will be modified.
-
 === perty.ops
 
 * Data Type: list
 * Default Value:
-** `hoot::PertyWaySplitVisitor`
-** `hoot::PertyWayGeneralizeVisitor`
-** `hoot::PertyRemoveRandomElementVisitor`
-** `hoot::PertyDuplicatePoiOp`
-** `hoot::PertyRemoveTagVisitor`
-** `hoot::PertyNameVisitor`
+** `hoot::RandomWaySplitter`
+** `hoot::RandomWayGeneralizer`
+** `hoot::RandomElementRemover`
+** `hoot::RandomNodeDuplicator`
+** `hoot::RandomTagModifier`
+** `hoot::RandomElementRenamer`
 
 A list of operations that should be applied after the geometries have been shifted by PERTY.
 'hoot info --operators | grep Perty' displays information about the available operations.
 
-=== perty.remove.random.probability
-
-* Data Type: double
-* Default Value: `0.05`
-
-The probability that a feature will be removed.
-
-=== perty.remove.tag.probability
-
-* Data Type: double
-* Default Value: `0.05`
-
-Set the probability that a tag will be removed.
-
-=== perty.remove.tag.visitor.exempt.tag.keys
-
-* Data Type: list
-* Default Value:
-** `REF1`
-** `REF2`
-** `hoot:status`
-** `uuid`
-
-A list of tag keys which are exempt from the tag removal done by PertyRemoveTagsVisitor.  This is
-useful for preventing the removal of tags Hootenanny relies on during conflation.
-
-=== perty.remove.tag.visitor.substitution.keys
-
-* Data Type: list
-* Default Value:
-** `highway`
-
-A list of tag keys which, rather than being removed by the PertyRemoveTagVisitor, will have their
-values replaced instead.  The tag keys in the list match one to one with the replacement values in
-perty.remove.tag.visitor.subsitution.values.
-
-=== perty.remove.tag.visitor.substitution.values
-
-* Data Type: list
-* Default Value:
-** `road`
-
-A list of tag values which, should be substituted by PertyRemoveTagVisitor.  The tag values in the
-list match one to one with the replacement values in perty.remove.tag.visitor.subsitution.keys.
-
 === perty.search.distance
 
 * Data Type: double
@@ -2829,16 +2753,6 @@ during conflation of reference and perturbed datasets.  This is equivalent in na
 'error:circular' tag used in Hootenanny conflation, however this setting is used instead for
 PERTY scoring only.
 
-=== perty.seed
-
-* Data Type: int
-* Default Value: `-1`
-
-A random seed integer passed to the random number generator accessed by PERTY to give consistent
-results over multiple runs. A value of -1 will generate a seed based on the time to provide
-pseudo-random results in the output.  Other seed values will yield repeatable results when the
-same seed is used in consecutive calls to the PERTY related commands.
-
 === perty.systematic.error.x
 
 * Data Type: double
@@ -2942,35 +2856,6 @@ The number of simulations per test run executed by `perty-test`.  A test run is
 multiple simulations.  Scores all simulation executed by the test run are averaged to give the
 final PERTY score for the test run.
 
-=== perty.way.generalize.epsilon
-
-* Data Type: double
-* Default Value: `1`
-
-Distance parameter, in meters, that determines to what degree a way is generalized by PERTY.
-Higher values result in more generalization (more nodes removed).
-
-=== perty.way.generalize.probability
-
-* Data Type: double
-* Default Value: `0.1`
-
-The probability between 0.0 and 1.0 that a way will be generalized by PERTY.
-
-=== perty.way.split.min.node.spacing
-
-* Data Type: double
-* Default Value: `1`
-
-The minimum spacing, in meters, that may occur between nodes created by PERTY way splits.
-
-=== perty.way.split.probability
-
-* Data Type: double
-* Default Value: `0.1`
-
-The probability between 0.0 and 1.0 that a way will be split into multiple features by PERTY.
-
 === phone.number.additional.tag.keys
 
 * Data Type: list
@@ -3148,8 +3033,7 @@ expensive when enabled.
 * Default Value: `true`
 
 If true, POI to Polygon conflation will attempt to reduce unnecessary reviews without increasing
-incorrect matches.  This setting is somewhat experimental and can be runtime expensive when
-enabled.
+incorrect matches.  This setting may be runtime expensive when enabled for large datasets.
 
 === poi.polygon.keep.closest.matches.only
 
@@ -3181,28 +3065,6 @@ features will be classified as a review or miss, depending on the value of
 'poi.polygon.review.evidence.threshold'.  Generally, this setting should not be changed except
 when working with specific POI/Polygon conflation use cases that require it.
 
-=== poi.polygon.match.threshold
-
-* Data Type: double
-* Default Value: `${conflate.match.threshold.default}`
-
-The threshold at which a match is called a match when comparing POIs to polygons.
-
-See also:
-
- * _Estimate Pairwise Relationships_, <<hootalgo>>
-
-=== poi.polygon.miss.threshold
-
-* Data Type: double
-* Default Value: `${conflate.miss.threshold.default}`
-
-The threshold at which a miss is called a miss when comparing POIs to polygons.
-
-See also:
-
- * _Estimate Pairwise Relationships_, <<hootalgo>>
-
 === poi.polygon.name.score.threshold
 
 * Data Type: double
@@ -3306,14 +3168,6 @@ If true, POI to polygon conflation always marks matches between POIs and polygon
 building polygons are present as needing review.  The definition of multi-use buildings is
 controlled by the Hootenanny schema.
 
-=== poi.polygon.review.threshold
-
-* Data Type: double
-* Default Value: `${conflate.review.threshold.default}`
-
-The threshold at which a review is called a review for PoiPolygon. See
-`conflate.review.threshold.default`.
-
 === poi.polygon.source.tag.key
 
 * Data Type: string
@@ -3328,7 +3182,7 @@ The source tag key to be used in conjunction with poi.polygon.disable.same.sourc
 
 The tag merger used by POI/Polygon conflation. See 'tag.merger.default' for more information. If
 'poi.polygon.auto.merge.many.poi.to.one.poly.matches' is set to true then 'PreserveTypesTagMerger'
-is always used.
+is always used and changes to this option value are ignore.
 
 === poi.polygon.type.score.threshold
 
@@ -3477,6 +3331,28 @@ See also:
 
 The way subline matcher to use when determining matching sublines.
 
+=== random.element.remover.probability
+
+* Data Type: double
+* Default Value: `0.05`
+
+The probability that a feature will be removed.
+
+=== random.element.renamer.change.probability
+
+* Data Type: double
+* Default Value: `0.05`
+
+The probability of a change to each character in the name. The expected number of changes is
+`perty.name.change.probability` * str.size().
+
+=== random.element.renamer.probability
+
+* Data Type: double
+* Default Value: `0.05`
+
+The probability that a name will be modified.
+
 === random.forest.model.trees
 
 * Data Type: int
@@ -3484,6 +3360,100 @@ The way subline matcher to use when determining matching sublines.
 
 The number of trees used to train a random forest conflation model.
 
+=== random.node.duplicator.move.multiplier
+
+* Data Type: double
+* Default Value: `1.0`
+
+The distance that a feature is moved is based on the circular error of the source point. The
+new point will be put within N(0, sigma^2) * moveMultiplier meters of the source point where
+sigma is the standard deviation associated with the source point.
+
+=== random.node.duplicator.probability
+
+* Data Type: double
+* Default Value: `0.10`
+
+The probability of at least one duplicate node being created. See `random.node.duplicator.sigma` to
+determine how many duplicates will be created.
+
+=== random.node.duplicator.sigma
+
+* Data Type: double
+* Default Value: `1.0`
+
+The number of duplicate nodes is set as `round(abs(N(0, sigma^2))) + 1`. Setting sigma to 0 will
+guarantee that there will always be exactly one duplicate.
+
+=== random.seed
+
+* Data Type: int
+* Default Value: `-1`
+
+A random seed integer passed to the random number generator accessed by map operations and 
+visitors that modify elements randomly (used by PERTY, RandomMapCropper, etc.). to give consistent
+results over multiple runs. A value of -1 will generate a seed based on the time to provide
+pseudo-random results in the output.
+
+=== random.tag.modifier.exempt.tag.keys
+
+* Data Type: list
+* Default Value:
+** `REF1`
+** `REF2`
+** `hoot:status`
+** `uuid`
+
+A list of tag keys which are exempt from the tag removal done by RandomTagModifier.  This is
+useful for preventing the removal of tags Hootenanny relies on during conflation.
+
+=== random.tag.modifier.probability
+
+* Data Type: double
+* Default Value: `0.05`
+
+Set the probability that a tag will be removed.
+
+=== random.tag.modifier.substitution.keys
+
+* Data Type: list
+* Default Value:
+** `highway`
+
+A list of tag keys which, rather than being removed by the PertyRemoveTagVisitor, will have their
+values replaced instead.  The tag keys in the list match one to one with the replacement values in
+random.tag.modifier.subsitution.values.
+
+=== random.tag.modifier.substitution.values
+
+* Data Type: list
+* Default Value:
+** `road`
+
+A list of tag values which, should be substituted by PertyRemoveTagVisitor.  The tag values in the
+list match one to one with the replacement values in random.tag.modifier.subsitution.keys.
+
+=== random.way.generalizer.probability
+
+* Data Type: double
+* Default Value: `0.1`
+
+The probability between 0.0 and 1.0 that a way will be generalized by PERTY.
+
+=== random.way.splitter.min.node.spacing
+
+* Data Type: double
+* Default Value: `1`
+
+The minimum spacing, in meters, that may occur between nodes created by PERTY way splits.
+
+=== random.way.splitter.probability
+
+* Data Type: double
+* Default Value: `0.1`
+
+The probability between 0.0 and 1.0 that a way will be split into multiple features by PERTY.
+
 === reader.add.source.datetime
 
 * Data Type: bool
@@ -3492,6 +3462,30 @@ The number of trees used to train a random forest conflation model.
 By default add the `source:datetime` or `source:ingest:datetime` stamp when reading files.  Not
 honored by all readers.
 
+=== reader.http.bbox.max.download.size
+
+* Data Type: double
+* Default Value: `1.0`
+
+Maximum size of an overall bounding box in degrees before Hootenanny rejects the request,
+reject anything larger than 1 square degree.
+
+=== reader.http.bbox.max.size
+
+* Data Type: double
+* Default Value: `0.25`
+
+Maximum size of an HTTP request's bounding box in degrees before it is split up into smaller bounding
+boxes and run in parallel
+
+=== reader.http.bbox.thread.count
+
+* Data Type: int
+* Default Value: `4`
+
+Number of threads in the thread pool to process HTTP requests that contain bounding boxes that are too
+large to query at once (see `reader.http.bbox.max.size`).
+
 === reader.keep.status.tag
 
 * Data Type: bool
@@ -3761,6 +3755,13 @@ If the script runs longer than the specified time, then it is forcefully stopped
 the value is set to -1, then there is no time limit for script tests.  This is useful when
 debugging tests which may hang on a remote build server.
 
+=== search.radius.area
+
+* Data Type: double
+* Default Value: `${search.radius.generic.polygon}`
+
+The search radius to use when conflating areas.  See `search.radius.default`
+
 === search.radius.calculator.element.criterion
 
 * Data Type: string
@@ -3824,14 +3825,24 @@ waterway.auto.calc.search.radius = true.  See `search.radius.default`.
 If true, any element with a value populated for the key defined by the set.tag.value.visitor.keys
 option will have the value specified in the set.tag.value.visitor.value option appended to it.
 
-=== set.tag.value.visitor.element.criterion
+=== set.tag.value.visitor.chain.element.criteria
 
-* Data Type: string
+* Data Type: bool
+* Default Value: `false`
+
+If set to true and multiple criterion are specified in set.tag.value.visitor.element.criteria,
+the tags of elements will be modified only if they satisfy all of the criteria.  If set to
+false, then only one of the specified criteria must be met in order to modify the tags of an
+element.
+
+=== set.tag.value.visitor.element.criteria
+
+* Data Type: list
 * Default Value: ``
 
-The plugin name of an element criterion used to select elements to add or modify tags on used by the
-SetTagValueVisitor and RecursiveSetTagValueOp classes.  To pass in complex nested criteria, use the
-Hootenanny Javascript interface instead.
+The element criteria used to select elements to add or modify tags on used by the SetTagValueVisitor
+and RecursiveSetTagValueOp classes.  To pass in complex nested criteria, use the Hootenanny
+Javascript interface instead.
 
 === set.tag.value.visitor.keys
 
@@ -3946,12 +3957,13 @@ Optional criterion class to filter the types of way nodes being snapped to.  An
 hoot::HighwayNodeCriterion.  If no criterion is specified, then all ways are considered as targets
 for way snapping.  This option is only used if snap.unconnected.ways.reuse.way.nodes is enabled.
 
-=== snap.unconnected.ways.snap.to.way.status
+=== snap.unconnected.ways.snap.to.way.statuses
 
-* Data Type: string
-* Default Value: `Input1`
+* Data Type: list
+* Default Value:
+** `Input1`
 
-Status of ways or way nodes being snapped to.  Valid values are 'Input1', 'Input2', or 'Conflated'.
+Statuses of ways or way nodes being snapped to.  Valid values are 'Input1', 'Input2', or 'Conflated'.
 Specify 'Input1' to snap secondary ways to reference ways or 'Input2' to snap reference ways to
 secondary ways. You may add multiple statuses and separate them with a semicolon. For example, to
 snap to both reference and conflated ways use: 'Input1;Conflated'.
@@ -3974,12 +3986,13 @@ Optional criterion class to filter the types of ways being snapped.  An example
 hoot::HighwayCriterion.  If no criterion is specified, then all ways are considered as sources for
 way snapping.
 
-=== snap.unconnected.ways.snap.way.status
+=== snap.unconnected.ways.snap.way.statuses
 
-* Data Type: string
-* Default Value: `Input2`
+* Data Type: list
+* Default Value:
+** `Input2`
 
-Status of ways being snapped.  Valid values are 'Input1', 'Input2', or 'Conflated'.  Specify
+Statuses of ways being snapped.  Valid values are 'Input1', 'Input2', or 'Conflated'.  Specify
 'Input1' to snap reference ways to secondary ways or 'Input2' to snap secondary ways to reference
 ways. You may add multiple statuses and separate them with a semicolon. For example, to snap both
 reference and conflated ways use: 'Input1;Conflated'.
@@ -4070,6 +4083,15 @@ Primarily, this is useful within the node.js interface.
 The default category to use when using the hoot::TagCategoryDifferencer class for comparing tags.
 Primarily, this is useful within the node.js interface.
 
+=== tag.contains.criterion.kvps
+
+* Data Type: list
+* Default Value: ``
+
+Key/value pairs to use with TagContainsCriterion. Delimit keys and values with '='.  From the
+command line, delimit multiple key/value pairs with ';' and surround the entire list in double
+quotes. E.g. "name=Java;name=Shop"
+
 === tag.criterion.kvps
 
 * Data Type: list
@@ -4112,6 +4134,15 @@ Specifies the default way of merging tags. This is used by most merge routines,
 depending on the specifics of the merger. 'hoot info --tag-mergers' displays information about the 
 available mergers.
 
+=== tag.merger.overwrite.exclude
+
+* Data Type: list
+* Default Value:
+** ``
+
+A list of tags not to be overwritten on target features during tag merging when using
+OverwriteTagMerger only. Please keep alphabetized.
+
 === tag.printing.format
 
 * Data Type: string
@@ -4393,6 +4424,15 @@ The way subline matcher to use when determining matching sublines.
 Distance, in meters, used for sampling way data during angle histogram extraction with the
 SampledAngleHistogramExtractor
 
+=== way.generalizer.epsilon
+
+* Data Type: double
+* Default Value: `1.0`
+
+Distance parameter, in meters, that determines to what degree a way is generalized by
+RdpWayGeneralizer, which is available standalone or as a part of PERTY. Higher values result in more
+generalization (more nodes removed).
+
 === way.joiner
 
 * Data Type: string
Clone this wiki locally