Hi Saka,
No worries, and it's a great question. I'm happy that Andrea pointed
out the WFS 2.0 joins!
The first solution does require some coding. Which JavaScript libraries
are you using? I'm unsure what geometry functions are available in
OpenLayers and Leaflet; worst case, you could check out Turf.js or JSTS.
All that assumes that the 'cross-layer' filtering doesn't work for you!
Cheers,
Jim
1. http://turfjs.org/
2. https://github.com/bjornharrtell/jsts
On 8/7/2016 5:06 PM, Saka Royban wrote:
Thanks Jim and Andrea
1. first solution sounds a bit overwhelming. Running the first phase
and getting result feature from server, then converting that geometry
to WKT in client-side and putting it to another filter and sending to
server to get the final result. Am i in the right way?
2. Thanks for pointing this plugin. I was aware of this plugin but it
didn't came into my mind that in this plugin i can set layer B = layer
A (All my data is in one layer). I'm gonna give it a try.
3. Thanks again for this solution. Although, i'm currently using
shapefiles, but knowing this feature of GeoServer will be useful for
the future.
4. Around 4th solution, i'm not sure i can handle it. I'm not that
professional and waiting for future mature releases of this feature
maybe the right choice for me.
Regards
------------------------------------------------------------------------
*From:* Jim Hughes <[email protected]>
*To:* [email protected]
*Sent:* Sunday, August 7, 2016 6:58 PM
*Subject:* Re: [Geoserver-users] Combining comparison and spatial
predicates in CQL
Hi Saka,
It sounds like you want to select a list of features and then find
additional features within a small distance of the first features?
CQL by itself (with no functions) is not powerful enough to express
that in one go. I think of CQL as the 'where' clause for a single SQL
statement with no joins.
Given all that, there are two, maybe three options: 1. Handle the two
phases of querying yourself in client code (as you suggested) or 2.
Use the GeoServer Cross-Layer filtering plugin(1). 3. If all your
queries look mostly the same, you might be able to get away with a SQL
View assuming you are using a traditional database like PostGIS.
The benefit (and downside) of #1 is that you'll have complete control
over the process. If I were doing this, I'd probably start with #2.
The biggest gotchas there are with memory management.
Hope that help!
Jim
1.
http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html
2. http://docs.geoserver.org/stable/en/user/data/database/sqlview.html
On 8/7/2016 3:45 AM, Saka Royban wrote:
Hi all.
I've searched google a lot for a question that sounds common to me
but i didn't found even a page.
How to combine comparison (attribute-based) predicates and spatial
(topological) predicates in a filter in CQL (though, i think there
would be no difference between CQL and filter encoding and solution
for one can be converted to other)?
I'm aware of logical operators but that doesn't satisfy my need. For
example, finding a feature which its name = 'someName' and then
finding adjacent features to this feature. Is it possible to combine
these two filter expression, at all? or it needs more javascript
programming than writing a simple filter string?
Regards
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users