Loading TOC...

MarkLogic 12 EA 2 Product Documentation
geo.polygonContains

geo.polygonContains(
   polygon as cts.polygon,
   region as cts.region[],
   [options as String[]]
) as Boolean

Summary

Returns true if the polygon contains a region.

Parameters
polygon A geographic polygon.
region One or more geographic regions (boxes, circles, polygons, or points). Where multiple regions are specified, return true if any region contains the target polygon.
options Options for the operation. The default is ().

Options include:

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, 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.
"boundaries-included"
Points on boxes', circles', and polygons' boundaries are counted as matching. This is the default.
"boundaries-excluded"
Points on boxes', circles', and polygons' boundaries are not counted as matching.
"boundaries-latitude-excluded"
Points on boxes' latitude boundaries are not counted as matching.
"boundaries-longitude-excluded"
Points on boxes' longitude boundaries are not counted as matching.
"boundaries-south-excluded"
Points on the boxes' southern boundaries are not counted as matching.
"boundaries-west-excluded"
Points on the boxes' western boundaries are not counted as matching.
"boundaries-north-excluded"
Points on the boxes' northern boundaries are not counted as matching.
"boundaries-east-excluded"
Points on the boxes' eastern boundaries are not counted as matching.
"boundaries-circle-excluded"
Points on circles' boundary are not counted as matching.
"boundaries-endpoints-excluded"
Points on linestrings' boundary (the endpoints) are not counted as matching.

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.

See Also

Example

// Is the London Zoo in Regent's Park? Yes

geo.polygonContains(
    cts.polygon([
      cts.point(51.5298921,-0.1674557),
      cts.point(51.5327487,-0.1660395),
      cts.point(51.5343504,-0.1644945),
      cts.point(51.5354716,-0.1620483),
      cts.point(51.5367796,-0.1574993),
      cts.point(51.5374737,-0.1526499),
      cts.point(51.5369398,-0.1488304),
      cts.point(51.5351513,-0.1468134),
      cts.point(51.5319478,-0.1460838),
      cts.point(51.5284771,-0.1460409),
      cts.point(51.5253265,-0.1455688),
      cts.point(51.5237779,-0.1450968),
      cts.point(51.5227899,-0.1461697),
      cts.point(51.5233507,-0.1478004),
      cts.point(51.5246323,-0.1483583),
      cts.point(51.5248192,-0.1587868),
      cts.point(51.5266348,-0.1604605),
      cts.point(51.5292514,-0.1644945),
      cts.point(51.5298387,-0.1665545)
    ]),
    cts.polygon([
      cts.point(51.5361190,-0.1590335),
      cts.point(51.5366529,-0.1568234),
      cts.point(51.5372001,-0.1537657),
      cts.point(51.5372868,-0.1527464),
      cts.point(51.5334561,-0.1509440),
      cts.point(51.5332359,-0.1517808),
      cts.point(51.5348643,-0.1584756),
      cts.point(51.5355250,-0.1592481),
      cts.point(51.5360522,-0.1590765)
  ]));

=> true

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