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