geo.regionClean(
$region as cts.region,
[$options as String[]]
) as cts.region

Summary

This function fixes various problems with the region or raises an error if it is
not repairable. The only relevant fix for MarkLogic is to remove duplicate
adjacent vertices in polygons (including inner and outer polygons of
complex polygons). The only relevant options are options controlling the
coordinate system and the tolerance option.

Parameters

$region

A cts region.

$options

The tolerance, units, coordinate system.

Options include:

"coordinate-system=value"

Use the given coordinate system. Valid values are
wgs84, wgs84/double, etrs89,
etrs89/double, raw
and raw/double. Defaults to the governing coordinating
system.

"precision=value"

Use the coordinate system at the given precision. Allowed values:
float and double. Defaults to the precision
of the governing coordinate system.

"units=value"

Measure distance, radii of circles, and tolerance in the
specified units. Allowed values: miles (default),
km, feet, meters.

"tolerance=distance"

Tolerance is the largest allowable variation in geometry calculations.
If the distance between two points is less than tolerance, then the two
points are considered equal. For the raw coordinate system, use the units
of the coordinates. For geographic coordinate systems, use the units
specified by the units option.

Usage Notes

The value of the precision option takes precedence over
that implied by the governing coordinate system name, including the
value of the coordinate-system option. For example, if the
governing coordinate system is "wgs84/double" and the precision
option is "float", then the operation uses single precision.

geo.regionClean(
cts.polygon([
cts.point(40.1234567890,-120.1234567890),
cts.point(40.123456543,-120.123456543),
cts.point(40.12455,-120.123467),
cts.point(40.13456,-120.1455195)]))
// => a cts.region with the following coordinates:
// 40.123457,-120.12346 40.12455,-120.12347 40.13456,-120.14552
// 40.123457,-120.12346"

## Comments