Hello everyone,

I'm new here so first of all I wanted to say hi.

We host a very large image set using GeoServer's imagemosaic. Our dataset
uses two dimensions (time and elevation). All WMS queries work like a charm
in less than 200ms (including round trip time) but WCS queries take from 5
to 11 seconds.

Looking into GeoServer's logs I've found that every time a WCS request is
processed there are two calls to the database querying for the full list of
values of each dimension. This is an example:

2019-03-21 20:57:02,688 DEBUG [geotools.jdbc] - CREATE
CONNECTION2019-03-21 20:57:02,689 DEBUG [geotools.filter] - exporting
PropertyName2019-03-21 20:57:02,689 DEBUG [geotools.jdbc] - SELECT
distinct("date") FROM "public"."data"2019-03-21 20:57:04,496 DEBUG
[geotools.jdbc] - CLOSE CONNECTION2019-03-21 20:57:04,505 DEBUG
[geotools.jdbc] - CREATE CONNECTION2019-03-21 20:57:04,506 DEBUG
[geotools.filter] - exporting PropertyName2019-03-21 20:57:04,506
DEBUG [geotools.jdbc] - SELECT distinct("asset") FROM
"public"."data"2019-03-21 20:57:06,604 DEBUG [geotools.jdbc] - CLOSE
CONNECTION

As you might see above, that full table queries take 4 seconds in a best
case scenario.

We are making the WCS request using the POST method with this XML for
example:

<GetCoverage service="WCS" version="2.0.1">
    <CoverageId>test__images</CoverageId>

    <Format>image/tiff</Format>

    <DimensionTrim>
        <Dimension>Lat</Dimension>
        <TrimLow>-34.677094</TrimLow>
        <TrimHigh>-34.667741</TrimHigh>
    </DimensionTrim>

    <DimensionTrim>
        <Dimension>Long</Dimension>
        <TrimLow>-61.546615</TrimLow>
        <TrimHigh>-61.526359</TrimHigh>
    </DimensionTrim>

    <DimensionSlice>
      <Dimension>elevation</Dimension>
      <SlicePoint>203</SlicePoint>
    </DimensionSlice>

    <DimensionSlice>
      <Dimension>time</Dimension>
      <SlicePoint>2019-03-18T00:00:00Z</SlicePoint>
    </DimensionSlice>
</GetCoverage>

We tried using the GET method also (using subset parameters) but we are
observing the same results.

Is there any way we can avoid WCS to make that full table query?

Thanks in advance,

Best
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to