0

A helper class I'm working on has to make an occasional requests to a GeoServer. These can be GET calls and I'd prefer them to be.

These are filtered with CQL. Here is an example, which is returning the ol' Could not parse CQL filter list error. The programmatically constructed uri looks like this:

https://site/geoserver/view/ows?
service=WFS&version=1.1.0&
request=GetFeature&
typename="view:mydbview"&
outputFormat=json&
maxFeatures=500&
cql_filter=INTERSECTS(geometry, LineString((-90 35,-80 35))) AND fieldname1 LIKE 'somevalue%'

What I've checked:

  • geometry holds the geometry in view:mydbview
  • fieldname1 does exist

What am I missing?

Willing to do my own homework but complex CQL/ECQL documentation is somewhat slender and I've not found a resource that shows explicitly how elements are to be appended to a URL request.

1
  • typename shouldn't have quotes
    – nmtoken
    Commented Jun 8, 2022 at 13:26

1 Answer 1

2

LineStrings only have one set of brackets, so

INTERSECTS(geometry, LineString(-90 35,-80 35))

will work. If it was a MultiLineString you would need 2 sets.

1
  • That was it. In this case I was coercing an ArcGIS-style WKT of a line geometry (which returns as MULTILINESTRING) to a LineString. Had neglected to remove a set of parentheses. Thanks!
    – auslander
    Commented Jun 8, 2022 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.