Skip to content

Commit 96380a5

Browse files
authored
Merge pull request #7 from dbech/codex/fresnel-unlabeled-elevation
Assume metres for unlabeled DEM elevations
2 parents b0131a9 + d471fa8 commit 96380a5

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

electron/raster/gdal-loader.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,11 @@ function warningsForProject(
242242
);
243243
}
244244

245-
if (metersPerElevationUnit(elevationUnit) === null) {
245+
if (isUnknownElevationUnit(elevationUnit)) {
246+
warnings.push(
247+
"The DSM elevation unit is unknown. Fresnel zones assume elevation values are metres.",
248+
);
249+
} else if (metersPerElevationUnit(elevationUnit) === null) {
246250
warnings.push(
247251
"Fresnel zones are hidden because the DSM elevation unit cannot be converted to metres.",
248252
);
@@ -288,7 +292,7 @@ function distanceUnitForSrs(sourceSrs: SpatialReference | null): {
288292

289293
function metersPerElevationUnit(unit: string): number | null {
290294
const normalized = unit.trim().toLowerCase();
291-
if (normalized === "" || normalized === "unknown") return null;
295+
if (isUnknownElevationUnit(normalized)) return 1;
292296

293297
if (["m", "meter", "meters", "metre", "metres"].includes(normalized)) {
294298
return 1;
@@ -313,6 +317,11 @@ function metersPerElevationUnit(unit: string): number | null {
313317
return null;
314318
}
315319

320+
function isUnknownElevationUnit(unit: string): boolean {
321+
const normalized = unit.trim().toLowerCase();
322+
return normalized === "" || normalized === "unknown";
323+
}
324+
316325
function finitePositiveOrNull(value: number | undefined): number | null {
317326
return typeof value === "number" && Number.isFinite(value) && value > 0
318327
? value

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "path-profile",
3-
"version": "0.1.4",
3+
"version": "0.1.5",
44
"private": true,
55
"type": "module",
66
"main": "dist-electron/main.cjs",

0 commit comments

Comments
 (0)