From 7c7a1067a4b3724786502b97ebe84c7ec2cfcfcf Mon Sep 17 00:00:00 2001 From: Michael Auer Date: Mon, 18 Dec 2023 12:17:54 +0100 Subject: [PATCH 1/3] fix: building comparison data coverage shows too much area as covered (e.g. Bremen) Fixed by a backend change and new API endpoint to request the correct coverage polygon mask Refs: #29 --- src/app/oqt/oqt-api-metadata-provider.service.ts | 5 ++--- src/app/oqt/oqt-api.service.ts | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/app/oqt/oqt-api-metadata-provider.service.ts b/src/app/oqt/oqt-api-metadata-provider.service.ts index b8eb91b..f52c1e9 100644 --- a/src/app/oqt/oqt-api-metadata-provider.service.ts +++ b/src/app/oqt/oqt-api-metadata-provider.service.ts @@ -2,7 +2,6 @@ import {Injectable} from '@angular/core'; import {OqtApiService} from './oqt-api.service'; import {catchError, firstValueFrom, retry, tap, throwError} from 'rxjs'; import {MetadataResponseJSON} from './types/MetadataResponseJSON'; -import mask from '@turf/mask'; import {Userlayer} from '../shared/shared-types'; @Injectable({ @@ -61,12 +60,12 @@ export class OqtApiMetadataProviderService { // Start a new download only if no download is in progress this.cachedData[indicatorKey] = (async () => { try { - const coverageGeoJSON = await firstValueFrom(this.oqtApi.getIndicatorCoverage(indicatorKey)); + const coverageGeoJSON = await firstValueFrom(this.oqtApi.getIndicatorCoverage(indicatorKey,true)); // fill cache this.cachedData[indicatorKey] = Promise.resolve(Object.freeze({ name: indicatorKey, title: `Coverage of reference data`, - data: mask(coverageGeoJSON), + data: coverageGeoJSON, style: {color: '#000', stroke: false} }) as Userlayer); diff --git a/src/app/oqt/oqt-api.service.ts b/src/app/oqt/oqt-api.service.ts index 1d9a59c..4882c16 100644 --- a/src/app/oqt/oqt-api.service.ts +++ b/src/app/oqt/oqt-api.service.ts @@ -43,7 +43,7 @@ export class OqtApiService { return this.post(path, body); } - getIndicatorCoverage(indicatorKey: string): Observable> { + getIndicatorCoverage(indicatorKey: string, inverse: boolean = false): Observable> { const path = `metadata/indicators/${indicatorKey}/coverage`; return this.get(path) as Observable>; } From dc5d9af5f1c0044656a0ac6a96b089aad9a2bf9c Mon Sep 17 00:00:00 2001 From: Michael Auer Date: Mon, 18 Dec 2023 15:36:32 +0100 Subject: [PATCH 2/3] fix: add query param "inverse" to coverage request Refs: #29 --- src/app/oqt/oqt-api.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/oqt/oqt-api.service.ts b/src/app/oqt/oqt-api.service.ts index 4882c16..630a9c0 100644 --- a/src/app/oqt/oqt-api.service.ts +++ b/src/app/oqt/oqt-api.service.ts @@ -45,7 +45,7 @@ export class OqtApiService { getIndicatorCoverage(indicatorKey: string, inverse: boolean = false): Observable> { const path = `metadata/indicators/${indicatorKey}/coverage`; - return this.get(path) as Observable>; + return this.get(path, `inverse=${inverse}`) as Observable>; } } From b4740994f18386a58e9aec9d9edee3fc0aa50106 Mon Sep 17 00:00:00 2001 From: Michael Auer Date: Mon, 18 Dec 2023 15:53:25 +0100 Subject: [PATCH 3/3] docs: update CHANGELOG Refs: #29 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 894b968..d43e9a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ Changelog ========= ## current main +* fix: building comparison data coverage shows too much area as covered (e.g. Bremen) [#29] + +[#29]:https://github.com/GIScience/ohsome-dashboard/issues/29 # v1.1.2 * fix: indicator result not showing results on completion [3809ead]