@@ -3707,8 +3707,11 @@ static int msWCSGetCoverage20_FinalizeParamsObj(wcs20ParamsObjPtr params, wcs20A
3707
3707
params -> subsetcrs = msStrdup (crs );
3708
3708
}
3709
3709
} else if (!params -> subsetcrs ) {
3710
- /* default to imageCRS */
3711
- params -> subsetcrs = msStrdup ("imageCRS" );
3710
+
3711
+
3712
+
3713
+ /* default to CRS of image */
3714
+ /*params->subsetcrs = msStrdup("imageCRS");*/
3712
3715
}
3713
3716
3714
3717
return MS_SUCCESS ;
@@ -4126,7 +4129,7 @@ this request. Check wcs/ows_enable_request settings.", "msWCSGetCoverage20()", p
4126
4129
msWCSClearCoverageMetadata20 (& cm );
4127
4130
msSetError (MS_WCSERR ,
4128
4131
"Error loading CRS %s." ,
4129
- "msWCSGetCoverage20()" , params -> subsetcrs );
4132
+ "msWCSGetCoverage20()" , cm . srs );
4130
4133
return msWCSException (map , "InvalidParameterValue" ,
4131
4134
"projection" , params -> version );
4132
4135
}
@@ -4165,6 +4168,12 @@ this request. Check wcs/ows_enable_request settings.", "msWCSGetCoverage20()", p
4165
4168
4166
4169
subsets = params -> bbox ;
4167
4170
4171
+ /* if no subsetCRS was specified use the coverages CRS
4172
+ (Requirement 27 of the WCS 2.0 specification) */
4173
+ if (!params -> subsetcrs ) {
4174
+ params -> subsetcrs = msStrdup (cm .srs );
4175
+ }
4176
+
4168
4177
if (EQUAL (params -> subsetcrs , "imageCRS" )) {
4169
4178
/* subsets are in imageCRS; reproject them to real coordinates */
4170
4179
rectObj orig_bbox = subsets ;
0 commit comments