Skip to content

Commit

Permalink
Add opaque property to WMS
Browse files Browse the repository at this point in the history
  • Loading branch information
RobQuincey-DC committed Jul 24, 2024
1 parent 3da33c8 commit e0fccc1
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 4 deletions.
4 changes: 2 additions & 2 deletions fixtures/wms/capabilities-brgm-1-1-1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@
</Style>
<ScaleHint min="74.8354272644456" max="3741.77136322228" />
</Layer>
<Layer queryable="true" opaque="0" cascaded="0">
<Layer queryable="true" opaque="true" cascaded="0">
<Name>SCAN_F_GEOL250</Name>
<Title>Carte géologique image de la France au 1/250000</Title>
<Abstract>BD Scan-Géol-250 est la base de données géoréférencées des cartes géologiques image à 1/250 000. Utilisation scientifique, technique, pédagogique</Abstract>
Expand Down Expand Up @@ -275,7 +275,7 @@
</MetadataURL>
<ScaleHint min="29.9341709057782" max="187.088568161114" />
</Layer>
<Layer queryable="1" opaque="0" cascaded="0">
<Layer queryable="1" opaque="1" cascaded="0">
<Name>SCAN_D_GEOL50</Name>
<Title>Carte géologique image de la France au 1/50 000e</Title>
<Abstract>BD Scan-Géol-50 est la base de données géoréférencées des cartes géologiques &#39;papier&#39; à 1/50 000</Abstract>
Expand Down
4 changes: 2 additions & 2 deletions fixtures/wms/capabilities-brgm-1-3-0.xml
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@
<MinScaleDenominator>200000</MinScaleDenominator>
<MaxScaleDenominator>1e+07</MaxScaleDenominator>
</Layer>
<Layer queryable="true" opaque="0" cascaded="0">
<Layer queryable="true" opaque="true" cascaded="0">
<Name>SCAN_F_GEOL250</Name>
<Title>Carte géologique image de la France au 1/250000</Title>
<Abstract>BD Scan-Géol-250 est la base de données géoréférencées des cartes géologiques image à 1/250 000. Utilisation scientifique, technique, pédagogique</Abstract>
Expand Down Expand Up @@ -289,7 +289,7 @@
<MinScaleDenominator>80000</MinScaleDenominator>
<MaxScaleDenominator>500000</MaxScaleDenominator>
</Layer>
<Layer queryable="1" opaque="0" cascaded="0">
<Layer queryable="1" opaque="1" cascaded="0">
<Name>SCAN_D_GEOL50</Name>
<Title>Carte géologique image de la France au 1/50 000e</Title>
<Abstract>BD Scan-Géol-50 est la base de données géoréférencées des cartes géologiques &#39;papier&#39; à 1/50 000</Abstract>
Expand Down
6 changes: 6 additions & 0 deletions src/wms/capabilities.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ describe('WMS capabilities', () => {
],
name: 'GEOSERVICES_GEOLOGIE',
queryable: false,
opaque: false,
styles: [
{
legendUrl: expect.stringContaining(
Expand All @@ -89,6 +90,7 @@ describe('WMS capabilities', () => {
keywords: [],
name: 'GEOLOGIE',
queryable: false,
opaque: false,
styles,
title: 'Cartes géologiques',
children: [
Expand Down Expand Up @@ -132,6 +134,7 @@ describe('WMS capabilities', () => {
keywords: ['Geologie', 'INSPIRE:Geology', 'Geology'],
name: 'SCAN_F_GEOL1M',
queryable: false,
opaque: false,
styles: [
{
legendUrl:
Expand Down Expand Up @@ -184,6 +187,7 @@ describe('WMS capabilities', () => {
keywords: ['Geologie', 'INSPIRE:Geology', 'Geology'],
name: 'SCAN_F_GEOL250',
queryable: true,
opaque: true,
styles,
title: 'Carte géologique image de la France au 1/250000',
},
Expand Down Expand Up @@ -223,6 +227,7 @@ describe('WMS capabilities', () => {
keywords: ['Geologie', 'INSPIRE:Geology', 'Geology'],
name: 'SCAN_D_GEOL50',
queryable: true,
opaque: true,
styles,
title: 'Carte géologique image de la France au 1/50 000e',
},
Expand Down Expand Up @@ -250,6 +255,7 @@ describe('WMS capabilities', () => {
keywords: [],
name: 'INHERIT_BBOX',
queryable: false,
opaque: false,
styles: [
{
name: 'default',
Expand Down
6 changes: 6 additions & 0 deletions src/wms/capabilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,11 @@ function parseLayer(
? true
: false;

const opaque =
layerEl.attributes.opaque === '1' ||
layerEl.attributes.opaque === 'true'
? true
: false;
const keywords = findChildrenElement(
findChildElement(layerEl, 'KeywordList'),
'Keyword'
Expand All @@ -159,6 +164,7 @@ function parseLayer(
boundingBoxes,
keywords,
queryable,
opaque,
...(children.length && { children }),
};
}
Expand Down
1 change: 1 addition & 0 deletions src/wms/endpoint.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ describe('WmsEndpoint', () => {
keywords: [],
name: 'GEOLOGIE',
queryable: false,
opaque: false,
styles: [
{
name: 'default',
Expand Down
1 change: 1 addition & 0 deletions src/wms/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export type WmsLayerFull = {
*/
boundingBoxes: Record<CrsCode, BoundingBox>;
queryable: boolean;
opaque: boolean;
attribution?: WmsLayerAttribution;
keywords?: string[];
/**
Expand Down

0 comments on commit e0fccc1

Please sign in to comment.