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