geo.arcIntersection(
p1 as cts.point,
p2 as cts.point,
q1 as cts.point,
q2 as cts.point,
[options as String[]]
) as cts.point

Summary

Returns the point at the intersection of two arcs. If the arcs do
not intersect, or lie on the same great circle, or if either arc covers
more than 180 degrees, an error is raised.

Parameters

p1

The starting point of the first arc.

p2

The ending point of the first arc.

q1

The starting point of the second arc.

q2

The ending point of the second arc.

options

Options for the operation. The default is ().

Options include:

"coordinate-system=string"

Use the given coordinate system. Valid values are:

wgs84

The WGS84 coordinate system with degrees as the angular unit.

wgs84/radians

The WGS84 coordinate system with radians as the angular unit.

wgs84/double

The WGS84 coordinate system at double precision with degrees as the angular unit.

wgs84/radians/double

The WGS84 coordinate system at double precision with radians as the angular unit.

etrs89

The ETRS89 coordinate system.

etrs89/double

The ETRS89 coordinate system at double precision.

raw

The raw (unmapped) coordinate system.

raw/double

The raw coordinate system at double precision.

"precision=value"

Use the coordinate system at the given precision. Allowed values:
float and double.

"units=value"

Measure distance and the radii of circles 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.

const sf = cts.point(37, -122);
const ny = cts.point(40, -73)
const a = cts.point(35,-100)
const b = cts.point(41,-70)
geo.arcIntersection(sf, ny, a, b);
=> 40.458347,-76.203682

Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.

Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.