My data set is a series of multilinestrings representing roads. During a WMS GetMap request, I want to specify a polygon and display only the portions of those roads that fall within the polygon. I am fine using ECQL or SLD.
My current CQL_FILTER looks like:
INTERSECTS(wkb_geometry, POLYGON((-117 34 ... ...)))
This returns all roads intersecting the polygon, but displays the full extent of those roads - i.e. it displays all vertices/segments for the entire road, not just those contained within the polygon. Image example:
Is there a way to extract the vertices from each geometry, and filter against those individual vertices, instead of the entire line?
Something like the following command, although this doesn't work,
INTERSECTS(VERTICES(wkb_geometry), POLYGON((... ...))))
Failing with the error message:
Rendering process failed Binary geometry filter, but first expression is not a property name? (it's a class org.geotools.filter.function.FilterFunction_vertices)
This makes sense, as VERTICES(wkb_geometry) doesn't actually return a property of the dataset, but an entirely new set of data. I assume this is called "geometry transformation", but I can't figure out whether it even CAN be done in this way, and if so, how.