geo:complexpolygoncontains
geo:complexpolygoncontains(
$complexpolygon as cts:complexpolygon,
$region as cts:region*,
[$options as xs:string*]
) as xs:boolean
Summary
Returns true if the complexpolygon contains a region.
Parameters 
complexpolygon 
A geographic complex polygon.

region 
One or more geographic regions (boxes, circles, polygons, or points).
Where multiple regions are specified, return true if any region intersects
the target polygon.

options 
Options for the operation. The default is ().
Options include:
Options include:
 "coordinatesystem=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.
 "boundariesincluded"
 Points on boxes', circles', and complexpolygons' boundaries are
counted as matching. This is the default.
 "boundariesexcluded"
 Points on boxes', circles', and complexpolygons' boundaries are
not counted as matching.
 "boundarieslatitudeexcluded"
 Points on boxes' latitude boundaries are not counted as
matching.
 "boundarieslongitudeexcluded"
 Points on boxes' longitude boundaries are not counted as
matching.
 "boundariessouthexcluded"
 Points on the boxes' southern boundaries are not counted as
matching.
 "boundarieswestexcluded"
 Points on the boxes' western boundaries are not counted as
matching.
 "boundariesnorthexcluded"
 Points on the boxes' northern boundaries are not counted as
matching.
 "boundarieseastexcluded"
 Points on the boxes' eastern boundaries are not counted as
matching.
 "boundariescircleexcluded"
 Points on circles' boundary are not counted as matching.
 "boundariesendpointsexcluded"
 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
coordinatesystem
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
let $cp :=
cts:complexpolygon(
cts:polygon("0,0 10,0 10,10 0,10 0,0"),
cts:polygon("5,0 7,0 7,5 5,5 5,0"))
let $poly :=
cts:polygon("6,8 6.5,8 6.5,9 6,9 6,8")
return geo:complexpolygoncontains($cp, $poly)
(: returns true :)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.