[Geoserver-devel] WMS GetMap Filters and getBounds - Simplify Filters method?

In the org.geoserver.wms.GetMap class, the method buildLayersFilters (line 676) uses an and to combine two filters. This ends up ANDing two INCLUDE filters. When the new gt-property-ng implementation goes to calculate bounds for this query, it checks to see if the Query has an Include filter to determine if it can do a quick bounds calculation. With the “INCLUDE AND INCLUDE” filter, this check fails.

Is there a method that can combine and simplify two filters, such that INCLUDE AND INCLUDE would be converted to INCLUDE?

If so, I intend to modify the GetMap.buildLayersFilters() class to call this, so that it is returning more correct filters.

Thanks,

Torben Barsballe

I am never quite sure where we should simplify filters. I know Andrea simplifies in StreamingRenderer somewhere - let me look up the code.

// simplify the filter
SimplifyingFilterVisitor simplifier = new SimplifyingFilterVisitor();
Filter simplifiedFilter = (Filter) query.getFilter().accept(simplifier, null);
query.setFilter(simplifiedFilter);

Hopefully that is clear?

Given the choice between the two I would simplify in GetMap, rather than in each and every DataStore.

···

On 2 January 2015 at 11:03, Torben Barsballe <tbarsballe@anonymised.com> wrote:

In the org.geoserver.wms.GetMap class, the method buildLayersFilters (line 676) uses an and to combine two filters. This ends up ANDing two INCLUDE filters. When the new gt-property-ng implementation goes to calculate bounds for this query, it checks to see if the Query has an Include filter to determine if it can do a quick bounds calculation. With the “INCLUDE AND INCLUDE” filter, this check fails.

Is there a method that can combine and simplify two filters, such that INCLUDE AND INCLUDE would be converted to INCLUDE?

If so, I intend to modify the GetMap.buildLayersFilters() class to call this, so that it is returning more correct filters.

Thanks,

Torben Barsballe


Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Jody Garnett

On Fri, Jan 2, 2015 at 8:03 PM, Torben Barsballe <
tbarsballe@anonymised.com> wrote:

In the org.geoserver.wms.GetMap class, the method buildLayersFilters (line
676) uses an and to combine two filters. This ends up ANDing two INCLUDE
filters. When the new gt-property-ng implementation goes to calculate
bounds for this query, it checks to see if the Query has an Include filter
to determine if it can do a quick bounds calculation. With the "INCLUDE AND
INCLUDE" filter, this check fails.

Is there a method that can combine and simplify two filters, such that
INCLUDE AND INCLUDE would be converted to INCLUDE?

Most stores use internally SimplifyingFilterVisitor. Please don't change
GetMap, no sense in trying to simplify a filter over and
over, and we cannot assume all store clients around are going to be well
behaved, so best to do the simplification inside
the store.

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Fri, Jan 2, 2015 at 8:43 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

I am never quite sure *where* we should simplify filters. I know Andrea
simplifies in StreamingRenderer somewhere - let me look up the code.

        // simplify the filter
        SimplifyingFilterVisitor simplifier = new
SimplifyingFilterVisitor();
        Filter simplifiedFilter = (Filter)
query.getFilter().accept(simplifier, null);
        query.setFilter(simplifiedFilter);

Hopefully that is clear?

Given the choice between the two I would simplify in GetMap, rather than
in each and every DataStore.

I disagree, GeoTools stores are not just used by GetMap, they have to work
properly
no matter what the client is.
Your suggestion makes sense only when there is one calling point and many
stores, but in fact
we have a many to many situation and no control over the client code
(GeoTools wise at least).

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Fri, Jan 2, 2015 at 8:51 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

I disagree, GeoTools stores are not just used by GetMap, they have to work
properly
no matter what the client is.
Your suggestion makes sense only when there is one calling point and many
stores, but in fact
we have a many to many situation and no control over the client code
(GeoTools wise at least).

Thinking about it a bit more, there are also stores that are not written
inside GeoTools and that
we cannot vet for sanity or good practices in general, so having also the
client code
buliding filters do a round of simplification might also make sense.

Streaming renderer does it because it makes a lenghtly combination of rule
filters in OR,
generating a possibly very complex filter that makes some databases choke.
I believe streaming renderer was the first user of the simplifier, and I
made the same reasoning
as you, "hard to apply it to every store, I'll change the renderer instead".

Today the situation is a bit the opposite, new stores not used in demanding
production
environments do not use the simplifier, but the important ones do.
And the GetMap chain ends in the streaming renderer, which should be doing
a step of
simplification.

So all things being equal, I prefer to have the store do the right thing,
and at most, if really
necessary, do an extra step of simplification in GetMap.

Given PropertyDataStore should mimick to the best possible the JDBC ones
(the production
ones), I'd still suggest to have at least the simplfication running in the
store code

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Sounds good, I wonder if we can handle simplification in ContentDataStore, so all the different “internal” methods we ask subclasses to implement do not have to each individually call simplify.

···

On 2 January 2015 at 11:50, Andrea Aime <andrea.aime@anonymised.com> wrote:


Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Jody Garnett

On Fri, Jan 2, 2015 at 8:03 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

In the org.geoserver.wms.GetMap class, the method buildLayersFilters (line 676) uses an and to combine two filters. This ends up ANDing two INCLUDE filters. When the new gt-property-ng implementation goes to calculate bounds for this query, it checks to see if the Query has an Include filter to determine if it can do a quick bounds calculation. With the “INCLUDE AND INCLUDE” filter, this check fails.

Is there a method that can combine and simplify two filters, such that INCLUDE AND INCLUDE would be converted to INCLUDE?

Most stores use internally SimplifyingFilterVisitor. Please don’t change GetMap, no sense in trying to simplify a filter over and
over, and we cannot assume all store clients around are going to be well behaved, so best to do the simplification inside
the store.

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Torben

···

On Fri, Jan 2, 2015 at 12:10 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Sounds good, I wonder if we can handle simplification in ContentDataStore, so all the different “internal” methods we ask subclasses to implement do not have to each individually call simplify.


Jody Garnett

On 2 January 2015 at 11:50, Andrea Aime <andrea.aime@anonymised.com> wrote:


Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

On Fri, Jan 2, 2015 at 8:03 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

In the org.geoserver.wms.GetMap class, the method buildLayersFilters (line 676) uses an and to combine two filters. This ends up ANDing two INCLUDE filters. When the new gt-property-ng implementation goes to calculate bounds for this query, it checks to see if the Query has an Include filter to determine if it can do a quick bounds calculation. With the “INCLUDE AND INCLUDE” filter, this check fails.

Is there a method that can combine and simplify two filters, such that INCLUDE AND INCLUDE would be converted to INCLUDE?

Most stores use internally SimplifyingFilterVisitor. Please don’t change GetMap, no sense in trying to simplify a filter over and
over, and we cannot assume all store clients around are going to be well behaved, so best to do the simplification inside
the store.

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <
tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor
once, just in the wrong place

Please clarify?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Fri, Jan 2, 2015 at 9:10 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Sounds good, I wonder if we can handle simplification in ContentDataStore,
so all the different "internal" methods we ask subclasses to implement do
not have to each individually call simplify.

Indeed that would be a good idea

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387

···

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Lets move that down. In GeoServer’s defence filter.and( filter ) used to simplify as it went. I expect this is just old code.

···

On 2 January 2015 at 12:17, Torben Barsballe <tbarsballe@anonymised.com> wrote:

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387


Jody Garnett

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com…1268…> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


I think we will need to keep the higher up call as well. That particular line is in an if/elseif… block, and the unmodified filter is used in some branches

···

On Fri, Jan 2, 2015 at 12:18 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Lets move that down. In GeoServer’s defence filter.and( filter ) used to simplify as it went. I expect this is just old code.


Jody Garnett

On 2 January 2015 at 12:17, Torben Barsballe <tbarsballe@anonymised.com> wrote:

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


So, are we in aggrement to add a call to SimplifyingFeatureVisitor to line 387 of GetMap? Do we also want to add a call to the relevant ContentDataStore methods over in geotools?

···

On Fri, Jan 2, 2015 at 12:21 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

I think we will need to keep the higher up call as well. That particular line is in an if/elseif… block, and the unmodified filter is used in some branches

On Fri, Jan 2, 2015 at 12:18 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Lets move that down. In GeoServer’s defence filter.and( filter ) used to simplify as it went. I expect this is just old code.


Jody Garnett

On 2 January 2015 at 12:17, Torben Barsballe <tbarsballe@anonymised.com> wrote:

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


That is my understanding from the discussion above.

a) A pull request for GetMap

b) A pull request for ContentDataStore (probably on each of the public methods accepting a Query)

···

On 2 January 2015 at 12:45, Torben Barsballe <tbarsballe@anonymised.com> wrote:

So, are we in aggrement to add a call to SimplifyingFeatureVisitor to line 387 of GetMap? Do we also want to add a call to the relevant ContentDataStore methods over in geotools?


Jody Garnett

On Fri, Jan 2, 2015 at 12:21 PM, Torben Barsballe <tbarsballe@anonymised.com3839…> wrote:

I think we will need to keep the higher up call as well. That particular line is in an if/elseif… block, and the unmodified filter is used in some branches

On Fri, Jan 2, 2015 at 12:18 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Lets move that down. In GeoServer’s defence filter.and( filter ) used to simplify as it went. I expect this is just old code.


Jody Garnett

On 2 January 2015 at 12:17, Torben Barsballe <tbarsballe@anonymised.com> wrote:

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


One (tiny) pull request for GetMap: https://github.com/geoserver/geoserver/pull/873

···

On Fri, Jan 2, 2015 at 2:23 PM, Jody Garnett <jody.garnett@anonymised.com403…> wrote:

That is my understanding from the discussion above.

a) A pull request for GetMap

b) A pull request for ContentDataStore (probably on each of the public methods accepting a Query)


Jody Garnett

On 2 January 2015 at 12:45, Torben Barsballe <tbarsballe@anonymised.com> wrote:

So, are we in aggrement to add a call to SimplifyingFeatureVisitor to line 387 of GetMap? Do we also want to add a call to the relevant ContentDataStore methods over in geotools?

On Fri, Jan 2, 2015 at 12:21 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

I think we will need to keep the higher up call as well. That particular line is in an if/elseif… block, and the unmodified filter is used in some branches

On Fri, Jan 2, 2015 at 12:18 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Lets move that down. In GeoServer’s defence filter.and( filter ) used to simplify as it went. I expect this is just old code.


Jody Garnett

On 2 January 2015 at 12:17, Torben Barsballe <tbarsballe@anonymised.com> wrote:

It calls SimplifyingFilterVisitor early in GetMap.executeInternal(), then later on ANDs the main dimension filter with a layer filter:
https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/GetMap.java#L387

On Fri, Jan 2, 2015 at 12:13 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Fri, Jan 2, 2015 at 9:12 PM, Torben Barsballe <tbarsballe@anonymised.com> wrote:

Looking deeper into GetMap, it already runs a SimplifyingFilterVisitor once, just in the wrong place

Please clarify?

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.