I'm resending this because the formatting was horrible in my previous attempt. 
I hope this comes through better.

--

I suspect that this is probably a QGIS question, but I thought I should check 
here first in case I've made a mistake configuring GeoServer (and because this 
community is so helpful).

I have an ImageMosaic store, and a layer based on that store. The mosaic is 
made of two GeoTIFF files, 20120101.tif and 20120102.tif. In the directory with 
these GeoTIFF files, I have timeregex.properties:

regex=^[0-9]{8}

and indexer.properties:

PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](timestamp)
Schema=*geom:Polygon,location:String,timestamp:java.util.Date
TimeAttribute=timestamp

I have GeoServer create the store using these files, and get the expected 
shapefile index, etc.

When I do NOT enable the Time dimension for this layer in GeoServer, and then 
add a WCS layer to my QGIS workspace against this GeoServer layer, QGIS uses 
this query URL:

http://localhost:8080/geoserver/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=GeoTIFF&COVERAGE=ws:m&BBOX=-9000000,-9000000,9000000,9000000&CRS=EPSG:6931&RESPONSE_CRS=EPSG:6931&WIDTH=720&HEIGHT=720

and I can view my data successfully.

However, when I enable the Time dimension (I choose Presentation: List, Default 
value: Use the biggest domain value), and then add a WCS layer, QGIS uses this 
query URL:

http://localhost:8080/geoserver/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=GeoTIFF&COVERAGE=ws:m&TIME=2012-01-01T00:00:00.000Z&BBOX=-180,-84.63404966614172054,180,90&CRS=EPSG:6931&RESPONSE_CRS=EPSG:6931&WIDTH=720&HEIGHT=720

Note how it has switched from meter coordinates (correct for EPSG:6931) to 
lat/lon coordinates. I think this is why the response from GeoServer is not 
what I'm expecting (but probably correct, if GeoServer interprets those lat/lot 
coordinates as meters).

But I don't understand how QGIS is making this decision. The WCS 
GetCapabilities document is nearly identical without vs with the Time dimension:

% diff gc0.xml gc1.xml
2c2
< <wcs:WCS_Capabilities version="1.0.0" xmlns:wcs="http://www.opengis.net/wcs"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:ogc="http://www.opengis.net/ogc"; 
xmlns:ows="http://www.opengis.net/ows/1.1"; 
xmlns:gml="http://www.opengis.net/gml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.opengis.net/wcs 
http://localhost:8080/geoserver/schemas/wcs/1.0.0/wcsCapabilities.xsd"; 
updateSequence="91">
---
> <wcs:WCS_Capabilities version="1.0.0" xmlns:wcs="http://www.opengis.net/wcs"; 
> xmlns:xlink="http://www.w3.org/1999/xlink"; 
> xmlns:ogc="http://www.opengis.net/ogc"; 
> xmlns:ows="http://www.opengis.net/ows/1.1"; 
> xmlns:gml="http://www.opengis.net/gml"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://www.opengis.net/wcs 
> http://localhost:8080/geoserver/schemas/wcs/1.0.0/wcsCapabilities.xsd"; 
> updateSequence="93">
88a89,92
>         <gml:timePosition>
>         2012-01-01T00:00:00.000Z</gml:timePosition>
>         <gml:timePosition>
>         2012-01-02T00:00:00.000Z</gml:timePosition>

The only differences are the "updateSequence" and the addition of the two 
"<gml:timePosition>" nodes.

The differences in the DescribeCoverage documents, without and with Time 
enabled, seem minor, too:

% diff dc0.xml dc1.xml
14a15,18
>       <gml:timePosition>
>       2012-01-01T00:00:00.000Z</gml:timePosition>
>       <gml:timePosition>
>       2012-01-02T00:00:00.000Z</gml:timePosition>
26c30
<         <gml:Envelope srsName="EPSG:6931">
---
>         <gml:EnvelopeWithTimePeriod srsName="EPSG:6931">
31c35,39
<         </gml:Envelope>
---
>           <gml:timePosition>
>           2012-01-01T00:00:00.000Z</gml:timePosition>
>           <gml:timePosition>
>           2012-01-02T00:00:00.000Z</gml:timePosition>
>         </gml:EnvelopeWithTimePeriod>
54a63,68
>       <wcs:temporalDomain>
>         <gml:timePosition>
>         2012-01-01T00:00:00.000Z</gml:timePosition>
>         <gml:timePosition>
>         2012-01-02T00:00:00.000Z</gml:timePosition>
>       </wcs:temporalDomain>

The one that makes me curious is the change from "<gml:Envelope>" to 
"<gml:EnvelopeWithTimePeriod>". It is that block (named either way) that 
contains

<gml:pos>
-9000000.0 -9000000.0</gml:pos>
<gml:pos>
9000000.0 9000000.0</gml:pos>

Could it be that QGIS does not recognize <gml:EnvelopeWithTimePeriod>, does not 
find out the value of the bounding box in meters, and naively makes a request 
with a lat/lon bounding box?

Since QGIS (at least the version I am using) does not recognize EPSG:6931, I 
had to define it as a Custom CRS. I am using the proj4 string

+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs

which seems to indicate that the units are meters, so I don't understand why 
QGIS would ever make a request in lat/lon. I have tried upgrading to the latest 
QGIS (v2.18.3), but it does not help.

I suppose there must be some overlap among GeoServer and QGIS users, so maybe 
somebody here has an idea. I would be grateful for any insight.

thanks,
paul

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to