Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into z995-ts-map-column
Browse files Browse the repository at this point in the history
  • Loading branch information
steve9164 committed Aug 29, 2022
2 parents c57ad52 + ddc258a commit 2684dbc
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 12 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

#### next release (8.2.13)

- Fix pedestrian drop behaviour so that the camera heading stays unchanged even after the drop
- Fixed a bug causing incorrect loading of EPSG:4326 layers in WMS v1.3.0 by sending wrong `bbox` in GetMap requests.
- Fix pedestrian drop behaviour so that the camera heading stays unchanged even after the drop
- Improve the CKAN model robustness by removing leading and trailing spaces in wms layer names.
- Load all `InitSources` sequentially instead of asyncronosly
Expand Down
19 changes: 7 additions & 12 deletions lib/Models/Catalog/Ows/WebMapServiceCatalogItem.ts
Original file line number Diff line number Diff line change
Expand Up @@ -509,18 +509,6 @@ class WebMapServiceCatalogItem
? this.diffModeParameters
: {};

// Set CRS for WMS 1.3.0
// Set SRS for WMS 1.1.1
if (this.crs) {
if (this.useWmsVersion130) {
parameters.crs = this.crs;
getFeatureInfoParameters.crs = this.crs;
} else {
parameters.srs = this.crs;
getFeatureInfoParameters.srs = this.crs;
}
}

if (this.supportsColorScaleRange) {
parameters.COLORSCALERANGE = this.colorScaleRange;
}
Expand Down Expand Up @@ -558,10 +546,17 @@ class WebMapServiceCatalogItem
new URI(this.url)
);

// Set CRS for WMS 1.3.0
// Set SRS for WMS 1.1.1
const crs = this.useWmsVersion130 ? this.crs : undefined;
const srs = this.useWmsVersion130 ? undefined : this.crs;

const imageryOptions: WebMapServiceImageryProvider.ConstructorOptions = {
url: proxyCatalogItemUrl(this, baseUrl.toString()),
layers: this.validLayers.length > 0 ? this.validLayers.join(",") : "",
parameters,
crs,
srs,
getFeatureInfoParameters,
getFeatureInfoUrl: this.getFeatureInfoUrl,
tileWidth: this.tileWidth,
Expand Down
39 changes: 39 additions & 0 deletions test/Models/Catalog/Ows/WebMapServiceCatalogItemSpec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -870,5 +870,44 @@ describe("WebMapServiceCatalogItem", function () {
imageryProvider.requestImage(0, 0, 100);
expect(item.scaleWorkbenchInfo).not.toBeDefined();
});

it("correctly sets the crs for WMS 1.3.0", function () {
item.setTrait(CommonStrata.user, "crs", "EPSG:7855");
const tileProviderResource = getTileProviderResourceForItem(item);
const featureInfoResource = getFeatureInfoResourceForItem(item);
expect(tileProviderResource?.queryParameters.crs).toEqual("EPSG:7855");
expect(featureInfoResource?.queryParameters.crs).toEqual("EPSG:7855");
});

it("correctly sets the sr for WMS 1.1.x", function () {
item.setTrait(CommonStrata.user, "crs", "EPSG:7855");
item.setTrait(CommonStrata.user, "useWmsVersion130", false);
const tileProviderResource = getTileProviderResourceForItem(item);
const featureInfoResource = getFeatureInfoResourceForItem(item);
expect(tileProviderResource?.queryParameters.srs).toEqual("EPSG:7855");
expect(featureInfoResource?.queryParameters.srs).toEqual("EPSG:7855");
});
});
});

function getWebMapServiceImageryProvider(
item: WebMapServiceCatalogItem
): WebMapServiceImageryProvider | undefined {
const imageryProvider = runInAction(() => item.mapItems[0])?.imageryProvider;
return imageryProvider instanceof WebMapServiceImageryProvider
? imageryProvider
: undefined;
}

function getTileProviderResourceForItem(
item: WebMapServiceCatalogItem
): Resource | undefined {
return (getWebMapServiceImageryProvider(item) as any)?._tileProvider
._resource;
}

function getFeatureInfoResourceForItem(
item: WebMapServiceCatalogItem
): Resource | undefined {
return (getWebMapServiceImageryProvider(item) as any)?._pickFeaturesResource;
}

0 comments on commit 2684dbc

Please sign in to comment.