Dear Andrea,

I look at the implementation of the filter functions in geotools to wrap them to the SFSSQL definitions.

I have troubles with some implementations that seem weird to me. I shared an issue here https://osgeo-org.atlassian.net/browse/GEOT-6873

What is the reference specification used by geotools?

I thought it was about "Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture ",

but it seems there is a shift in term of semantic.

e.g Geotools internal filter has the getGeometryN name and OGC and ISO use the GeometryN name.

On the other hand, there are some unusual things about the implementations.

e.g internal area function returns -1 when the input geometry is null. If I'm not wrong when this function is translated to db provider for example PostGIS, it will return NULL.

Any comments are welcome

Thanks

Erwan


Le 16/04/2021 à 17:40, Andrea Aime a écrit :
Functions are global, they are part of the OGC Filter subsystem. They are not specific to a store, they end up in the capabilities document of a WFS, they can be used in SLD no matter what the underlying store is.
A store can only have a specific (optimized) translation of them.

Cheers
Andrea

On Fri, Apr 16, 2021 at 5:37 PM Erwan Bocher <erwan.boc...@univ-ubs.fr <mailto:erwan.boc...@univ-ubs.fr>> wrote:

    Hi Andrea

    Le 16/04/2021 à 17:05, Andrea Aime a écrit :
    Hi Erwan,
    databases are not the only source of data. A function must be
    able to work in memory first, so that it works
    with shapefiles, elasticsearch, mongo and so on as well. Then
    there can be an optimization translating
    them down to SQL.
    There is a filter splitter slicing filters in two parts, one that
    can be encoded down into the datasources,
    and one that will run in memory as a post filter. If the
    datastore filter capabilities declare support for the
    function, it will be encoded and executed in the database, not in
    memory, regardless of whether it has
    code to be executed in memory.
    Each datastore can decide to translate the bits of filters and
    functions in a different way, based on what
    can or cannot be translated down to native filtering.

    Ok but to do that the function must be declared on the datastore
    driver no ?

    e.g if I extend Area to ST_Area, ST_AREA must be declared as Area.
    I think for PostGIS  about the  public static FilterCapabilities
    createFilterCapabilities(boolean encodeFunctions)  method ?

    Did I miss something ?

    Cheers

    Erwan


    Cheers
    Andrea

    On Fri, Apr 16, 2021 at 4:53 PM Erwan Bocher
    <erwan.boc...@univ-ubs.fr <mailto:erwan.boc...@univ-ubs.fr>> wrote:

        Hi Andrea,

        I'm extending some filter functions  to be compliant with
        SFSSQL.

        What about adding this feature in the main geotools module
        and declare those new functions in the DB FilterToSQLHelper
        classes ?

        If we have an external module, these functions will not be
        optimized in SQL.

        Erwan


        Le 29/12/2020 à 15:45, Andrea Aime a écrit :
        On Wed, Dec 23, 2020 at 3:55 PM Erwan Bocher
        <erwan.boc...@univ-ubs.fr <mailto:erwan.boc...@univ-ubs.fr>>
        wrote:

            This is my idea : add support to SFS names in CQL
            (filter and expression) without breaking anything in the
            parser ;-)


        As long as they are handled "in memory" I have no objection,
        just make sure the semantics is the same as the current
        functions, if not, create a separate one.
        What alarmed me was the possibility of blindly translating
        it down to SQL. That should be done on a database by
        database basis, checking what they
        support, and under which semantics.

        Different semantics between CQL and SQL is an annoying
        source of issues. For example, CQL has two valued logic, but
        SQL has three valued logic (null gets its own category).
        There is a filter translator we created to make sure the SQL
        generated behaves in a two-way, which caused several people
        to complain about performance (the generated
        queries do a number of null checks, and harder to read and
        optimize)

        Cheers
        Andrea

        == GeoServer Professional Services from the experts! Visit
        http://goo.gl/it488V for more information. == Ing. Andrea
        Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di
        Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313
        fax: +39 0584 1660272 mob: +39 339 8844549
        http://www.geo-solutions.it
        http://twitter.com/geosolutions_it
        ------------------------------------------------------- /Con
        riferimento alla normativa sul trattamento dei dati
        personali (Reg. UE 2016/679 - Regolamento generale sulla
        protezione dei dati “GDPR”), si precisa che ogni circostanza
        inerente alla presente email (il suo contenuto, gli
        eventuali allegati, etc.) è un dato la cui conoscenza è
        riservata al/i solo/i destinatario/i indicati dallo
        scrivente. Se il messaggio Le è giunto per errore, è
        tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
        sarei comunque grato se potesse darmene notizia. This email
        is intended only for the person or entity to which it is
        addressed and may contain information that is privileged,
        confidential or otherwise protected from disclosure. We
        remind that - as provided by European Regulation 2016/679
        “GDPR” - copying, dissemination or use of this e-mail or the
        information herein by anyone other than the intended
        recipient is prohibited. If you have received this email by
        mistake, please notify us immediately by telephone or e-mail./

-- Ingénieur de Recherche CNRS - HDR,
        Laboratoire Lab-STICC – UMR 6285
        Equipe DECIDE
        Institut Universitaire de Technologie de Vannes
        8, Rue Montaigne - BP 561 56017 Vannes Cedex
        T: +33 2 97 62 64 92
        W:https://cv.archives-ouvertes.fr/erwan-bocher
        W:http://www.labsticc.fr



--
    Regards, Andrea Aime

    == GeoServer Professional Services from the experts! Visit
    http://goo.gl/it488V for more information. == Ing. Andrea Aime
    @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A
    55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272
    mob: +39 339 8844549 http://www.geo-solutions.it
    http://twitter.com/geosolutions_it
    ------------------------------------------------------- /Con
    riferimento alla normativa sul trattamento dei dati personali
    (Reg. UE 2016/679 - Regolamento generale sulla protezione dei
    dati “GDPR”), si precisa che ogni circostanza inerente alla
    presente email (il suo contenuto, gli eventuali allegati, etc.) è
    un dato la cui conoscenza è riservata al/i solo/i destinatario/i
    indicati dallo scrivente. Se il messaggio Le è giunto per errore,
    è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
    sarei comunque grato se potesse darmene notizia. This email is
    intended only for the person or entity to which it is addressed
    and may contain information that is privileged, confidential or
    otherwise protected from disclosure. We remind that - as provided
    by European Regulation 2016/679 “GDPR” - copying, dissemination
    or use of this e-mail or the information herein by anyone other
    than the intended recipient is prohibited. If you have received
    this email by mistake, please notify us immediately by telephone
    or e-mail./

-- Ingénieur de Recherche CNRS - HDR,
    Laboratoire Lab-STICC – UMR 6285
    Equipe DECIDE
    Institut Universitaire de Technologie de Vannes
    8, Rue Montaigne - BP 561 56017 Vannes Cedex
    T: +33 2 97 62 64 92
    W:https://cv.archives-ouvertes.fr/erwan-bocher
    W:http://www.labsticc.fr



--

Regards, Andrea Aime

== GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- /Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail./

--
Ingénieur de Recherche CNRS - HDR,
Laboratoire Lab-STICC – UMR 6285
Equipe DECIDE
Institut Universitaire de Technologie de Vannes
8, Rue Montaigne - BP 561 56017 Vannes Cedex
T: +33 2 97 62 64 92
W: https://cv.archives-ouvertes.fr/erwan-bocher
W: http://www.labsticc.fr

_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to