cts:geospatial-co-occurrences( $geo-element-name-1 as xs:QName, [$child-1-name-1 as xs:QName?], [$child-1-name-2 as xs:QName?], $geo-element-name-2 as xs:QName, [$child-2-name-1 as xs:QName?], [$child-2-name-2 as xs:QName?], [$options as xs:string*], [$query as cts:query?], [$quality-weight as xs:double?], [$forest-ids as xs:unsignedLong*] ) as element(cts:co-occurrence)*
Find value co-occurrences from two geospatial lexicons. Geospatial lexicons are implemented using geospatial indexes; consequently this function requires a geospatial index for each combination of elements and attributes or JSON properties specified in the function. If there is not a geospatial index configured for the specified element/attribute combination, then an exception is thrown.
Parameters | |
---|---|
geo-element-name-1 |
A QName identifying the first lexicon. This must reference a geospatial
lexicon. If it is an element child or JSON property child geospatial
lexicon, pass the child QName in the child-1-name-1
parameter. For an element, element attribute, or JSON property child pair
geospatial lexicon, pass the child QNames in
child-1-name-1 and child-1-name-2 .
|
child-1-name-1 |
An element, element attribute QName or JSON property name identifying
the child of geo-element-name-1 that holds either the lat and
longitude coordinates (element child geospatial lexicon) or the
latitude coordinate (element/attribute/JSON property child pair geospatial
lexicon). Use an empty sequence if geo-element-name-1
identifies an element or JSON property geospatial lexicon.
|
child-1-name-2 |
An element, element attribute QName or JSON property name identifying
the child of geo-element-name-1 that holds the
longitude coordinate when working with an element/attribute/JSON property
child pair geospatial lexicon. Use empty sequence for an
element or JSON property geospatial lexicon or element or JSON property
child geospatial lexicon.
|
geo-element-name-2 |
A QName identifying the first lexicon. This must reference a geospatial
lexicon. If it is an element child or JSON property child geospatial
lexicon, pass the child QName in the child-2-name-1
parameter. For an element, element attribute, or JSON property child pair
geospatial lexicon, pass the child QNames in
child-2-name-1 and child-2-name-2 .
|
child-2-name-1 |
An element, element attribute QName or JSON property name identifying
the child of geo-element-name-2 that holds either the lat and
longitude coordinates (element child geospatial lexicon) or the
latitude coordinate (element/attribute/JSON property child pair geospatial
lexicon). Use an empty sequence if geo-element-name-2
identifies an element or JSON property geospatial lexicon.
|
child-2-name-2 |
An element, element attribute QName or JSON property name identifying
the child of geo-element-name-2 that holds the
longitude coordinate when working with an element/attribute/JSON property
child pair geospatial lexicon. Use empty sequence for an
element or JSON property geospatial lexicon or element or JSON property
child geospatial lexicon.
|
options |
Options. The default is (). The following options are available:
|
query |
Only include co-occurrences in fragments selected by this query,
and compute frequencies from this set of included co-occurrences.
The co-occurrences do not need to match the query, but they must occur in
fragments selected by the query.
The fragments are not filtered to ensure they match the query,
but instead selected in the same manner as
"unfiltered" cts:search operations.
|
quality-weight | A document quality weight to use when computing scores. The default is 1.0. |
forest-ids | A sequence of IDs of forests to which the search will be constrained. An empty sequence means to search all forests in the database. The default is (). |
Only one of "frequency-order" or "item-order" may be specified in the options parameter. If neither "frequency-order" nor "item-order" is specified, then the default is "item-order".
Only one of "fragment-frequency" or "item-frequency" may be specified in the options parameter. If neither "fragment-frequency" nor "item-frequency" is specified, then the default is "fragment-frequency".
Only one of "ascending" or "descending" may be specified in the options parameter. If neither "ascending" nor "descending" is specified, then the default is "ascending" if "item-order" is specified, and "descending" if "frequency-order" is specified.
Only one of "eager" or "lazy" may be specified in the options parameter. If neither "eager" nor "lazy" is specified, then the default is "eager" if "frequency-order" or "map" is specified, otherwise "lazy".
Only one of "any", "document", "properties", or "locks" may be specified in the options parameter. If none of "any", "document", "properties", or "locks" are specified and there is a $query parameter, then the default is "document". If there is no $query parameter then the default is "any".
Only one of the "score-logtfidf", "score-logtf", "score-simple", "score-random", or "score-zero" options may be specified in the options parameter. If none of "score-logtfidf", "score-logtf", "score-simple", "score-random", or "score-zero" are specified, then the default is "score-logtfidf".
Only one of the "checked" or "unchecked" options may be specified in the options parameter. If neither "checked" nor "unchecked" are specified, then the default is "checked".
If "coordinate-system=name" is not specified in the options parameter, then the default coordinate system is used. If a lexicon with that coordinate system does not exist, an error is thrown.
If "sample=N" is not specfied in the options parameter,
then all included co-occurrences may be returned.
If a $query
parameter
is not present, then "sample=N" has no effect.
If "truncate=N" is not specfied in the options parameter,
then co-occurrences from all fragments selected by the
$query
parameter are included.
If a $query
parameter is not present, then
"truncate=N" has no effect.
To incrementally fetch a subset of the values returned by this function,
use fn:subsequence
on the output, rather than
the "skip" option. The "skip" option is based on fragments matching the
query
parameter (if present), not on values. A fragment
matched by the query might produce multiple values or no values.
The number of fragments skipped does not correspond to the number of
values. Also, the skip is applied to the relevance ordered query matches,
not to the ordered value list.
When using the "skip" option, use the "truncate" option rather than the "limit" option to control the number of matching fragments from which to draw values.
(: Get the co-occurrences of points encoded as "lat" and "long" children of "source" elements with points encoded as "lat" and "long" children of "destination" elements, where the source elements occur before the destination elements in the document. Return the co-occurrences as a map, where the key is the point from the first geospatial index and the values are the points from the second geospatial index. :) declare namespace geoex = "http://example.com/ns/geo"; cts:geospatial-co-occurrences( xs:QName("geoex:source"), xs:QName("geoex:lat"), xs:QName("geoex:long"), xs:QName("geoex:destination"), xs:QName("geoex:lat"), xs:QName("geoex:long"), ("ordered","map"))
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.