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