{ "name": "overlay_crosses", "type": "function", "groups": ["GeometryGroup"], "description": "Returns whether the current feature spatially crosses at least one feature from a target layer, or an array of expression-based results for the features in the target layer crossed by the current feature.

Read more on the underlying GEOS \"Crosses\" predicate, as described in PostGIS ST_Crosses function.", "arguments": [{ "arg": "layer", "description": "the layer whose overlay is checked" }, { "arg": "expression", "description": "an optional expression to evaluate on the features from the target layer. If not set, the function will just return a boolean indicating whether there is at least one match.", "optional": true }, { "arg": "filter", "description": "an optional expression to filter the target features to check. If not set, all the features will be checked.", "optional": true }, { "arg": "limit", "description": "an optional integer to limit the number of matching features. If not set, all the matching features will be returned.", "optional": true }, { "arg": "cache", "description": "set this to true to build a local spatial index (most of the time, this is unwanted, unless you are working with a particularly slow data provider)", "optional": true, "default": "false" }], "examples": [{ "expression": "overlay_crosses('regions')", "returns": "TRUE if the current feature spatially crosses a region" }, { "expression": "overlay_crosses('regions', filter:= population > 10000)", "returns": "TRUE if the current feature spatially crosses a region with a population greater than 10000" }, { "expression": "overlay_crosses('regions', name)", "returns": "an array of names, for the regions crossed by the current feature" }, { "expression": "array_to_string(overlay_crosses('regions', name))", "returns": "a string as a comma separated list of names, for the regions crossed by the current feature" }, { "expression": "array_sort(overlay_crosses(layer:='regions', expression:=\"name\", filter:= population > 10000))", "returns": "an ordered array of names, for the regions crossed by the current feature and with a population greater than 10000" }, { "expression": "overlay_crosses(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2)", "returns": "an array of geometries (in WKT), for up to two regions crossed by the current feature" }], "tags": ["predicate", "st_crosses", "crosses", "current", "target", "array", "geos", "underlying", "features", "crossed"] }