Hi,

By "inaccurate bounding box" I was meaning that rectangular box can contain lot 
of extra area outside the real region of interest 
http://www.openstreetmap.org/#map=5/-42.423/165.059. But I am not sure how 
often it would be an advantage to use a better fitted ROI. For example in your 
use case the main reason for the trouble seems to be that Oracle fails with 
requests which go outside the spatial index of the table which is limited to 
the area that is defined by DIM_INFO in the sdo_geom_metadata. That feels like 
an Oracle bug, but on the other hand, you have configured the bounds of the 
layer for Geoserver and you are right that it can know already before sending 
the request that the result will be empty.


I believe that for most non-buggy datastores which support indexes the queries 
outside the data bounds are very fast. But the "Honour the configured BBOX" 
should be good for CSV which can't be indexed. And lazy users may have database 
tables without spatial indexes, or SQL view, or the filter in WMS/WFS request 
creates such SQL queries which make the database backend to cease using spatial 
index. And who knows what a cascaded WMS/WFS server sends back when the BBOX is 
unreasonable, and network latency may make it slow to get even a valid, empty 
response. All this makes me think that the "Honour the BBOX" might  indeed be a 
good thing to have for some configurations.


-Jukka Rahkonen-


________________________________
Victor Tey wrote:

Hi Jukka,

What one of our developer have found with oracle enterprise edition is that the 
 database actually optimize the query when a query is made outside the bounds 
of the dataset. However when we ran the same query on a oracle standard 
edition, the query crashed the database. We have logged a ticket with Oracle as 
part of our contract with them and its currently under investigation.

You are right when you mention that data added in the future may fall outside 
the bbox range specified hence as part of the requirement, it has to be an 
optional configuration.

I am unsure why would bbox be inaccurate. The idea is not to filter against a 
preset bbox for a particular country, rather to filter only on data that reside 
within the bounding box specified.  The bbox in Geoserver currently for each 
layer can be calculated or manually added. This bbox can potentially span 
across countries however as far as we are concerned, if the option is turned 
on, any queries that does not intersect with the bbox should  return a empty 
result. Please explain if I have misinterpreted something, my spatial knowledge 
is still rudimental.


From: Rahkonen Jukka (MML) [mailto:[email protected]]
Sent: Friday, 6 February 2015 7:22 AM
To: Jiang, Lingbo (Digital, Marsfield); 
[email protected]<mailto:[email protected]>
Subject: Re: [Geoserver-devel] Propose to add an option for latLongBoundingBox 
range checking before database query.


Hi,



I think that such check should be optional. The bounding box that gets saved 
when the layer is created may not stay valid if the data are updated and new 
features are added with WFS-T or just directly to the data source. And 
obviously the check should only stop the queries if BBOX is totally outside the 
data extents.



I do not know how expensive the out-of-range requests are but I guess that 
bounding box filter could only make things faster but not any slower. But if 
you decide to go that way, why to do the test with an inaccurate bounding box? 
About 50% of the BBOX of Finland is actually Sweden, Russia, Norway, or empty 
sea. How about making an additional configuration option "Bounding Polygon" and 
use that? A further development step would be to make the integrated GWC to 
utilize this Bounding Polygon as well.



-Jukka Rahkonen-



________________________________
Lingbo Jiang wrote:

Hi Geoserver community,
For every WMS layer that has latLongBoundingBox set up in the config, GeoServer 
may restrict the request to the configured latLongBoundingBox. At the moment, 
it doesn't, and this results in unnecessary query and wastes connections and 
cursors (for Oracle).
Thus I propose to add an option in the code for latLongBoundingBox range 
checking. the option will allow to filter the none result query which is out of 
latLongBoundingBox range and improve the performance.
If community reckon that it is the right way, I am willing to submit a code 
patch to implement it if necessary.
Thanks first,
Lingbo

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to