cts.elementPairGeospatialValues( element-names as xs.QName[], latitude-names as xs.QName[], longitude-names as xs.QName[], [start as cts.point?], [options as String[]], [query as cts.query?], [quality-weight as Number?], [forest-ids as (Number|String)[]] ) as Sequence
Returns values from the specified element-pair geospatial value lexicon(s). Element-pair geospatial value lexicons are implemented using geospatial indexes; consequently this function requires an element-pair geospatial index for each of the element combinations specified in the function. If there is not a geospatial index configured for each of the specified combinations, then an exception is thrown.
Parameters | |
---|---|
element-names | One or more element QNames identifying the parent element of the latitude and longitude elements. |
latitude-names | One or more latitude element QNames. |
longitude-names | One or more longitude element QNames. |
start | A starting value. If the parameter value is not in the lexicon, then the values are returned beginning with the next value. |
options |
Options. The default is ().
Options include:
|
query |
Only include values in fragments selected by this query,
and compute frequencies from this set of included values.
The values 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 "lazy" if "item-order" is specified, and "eager" if "frequency-order" is specified.
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.
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 query uses single precision.
If "sample=N" is not specfied in the options parameter,
then all included values 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 values 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.
When multiple element and/or child QNames are specified, then all possible element/child QName combinations are used to select the matching values. If an index does not exist for any parent-lat-lon element combination, an exception is thrown. For finer control over the expected index configuration, use cts.values.
cts.elementPairGeospatialValues( xs.QName("point"), xs.QName("lat"), xs.QName("lon"), cts.point(0,0) ); => (cts:point(0,0),cts:point(0,10),cts:point(0,20),...)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.