openskidata-format 13.0.0 → 15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ElevationProfile.d.ts +1 -0
- package/dist/ElevationProfile.d.ts.map +1 -0
- package/dist/ElevationProfile.js +15 -24
- package/dist/ElevationProfile.js.map +1 -1
- package/dist/FeatureType.d.ts +1 -0
- package/dist/FeatureType.d.ts.map +1 -0
- package/dist/FeatureType.js +2 -5
- package/dist/FeatureType.js.map +1 -1
- package/dist/Lift.d.ts +10 -8
- package/dist/Lift.d.ts.map +1 -0
- package/dist/Lift.js +22 -29
- package/dist/Lift.js.map +1 -1
- package/dist/LiftNameFormatter.d.ts +2 -1
- package/dist/LiftNameFormatter.d.ts.map +1 -0
- package/dist/LiftNameFormatter.js +11 -14
- package/dist/LiftNameFormatter.js.map +1 -1
- package/dist/Place.d.ts +1 -0
- package/dist/Place.d.ts.map +1 -0
- package/dist/Place.js +1 -2
- package/dist/Run.d.ts +10 -9
- package/dist/Run.d.ts.map +1 -0
- package/dist/Run.js +23 -30
- package/dist/Run.js.map +1 -1
- package/dist/RunDifficultyConvention.d.ts +2 -1
- package/dist/RunDifficultyConvention.d.ts.map +1 -0
- package/dist/RunDifficultyConvention.js +10 -15
- package/dist/RunDifficultyConvention.js.map +1 -1
- package/dist/SkiArea.d.ts +12 -10
- package/dist/SkiArea.d.ts.map +1 -0
- package/dist/SkiArea.js +2 -5
- package/dist/SkiArea.js.map +1 -1
- package/dist/SkiPass.d.ts +32 -7
- package/dist/SkiPass.d.ts.map +1 -0
- package/dist/SkiPass.js +1 -2
- package/dist/SlopeGradingScale.d.ts +3 -2
- package/dist/SlopeGradingScale.d.ts.map +1 -0
- package/dist/SlopeGradingScale.js +21 -26
- package/dist/SlopeGradingScale.js.map +1 -1
- package/dist/SnowCoverHistory.d.ts +1 -0
- package/dist/SnowCoverHistory.d.ts.map +1 -0
- package/dist/SnowCoverHistory.js +9 -8
- package/dist/SnowCoverHistory.js.map +1 -1
- package/dist/Source.d.ts +1 -0
- package/dist/Source.d.ts.map +1 -0
- package/dist/Source.js +11 -17
- package/dist/Source.js.map +1 -1
- package/dist/Spot.d.ts +6 -5
- package/dist/Spot.d.ts.map +1 -0
- package/dist/Spot.js +6 -9
- package/dist/Spot.js.map +1 -1
- package/dist/Status.d.ts +1 -0
- package/dist/Status.d.ts.map +1 -0
- package/dist/Status.js +2 -5
- package/dist/Status.js.map +1 -1
- package/dist/ViewportHint.d.ts +1 -0
- package/dist/ViewportHint.d.ts.map +1 -0
- package/dist/ViewportHint.js +4 -10
- package/dist/ViewportHint.js.map +1 -1
- package/dist/index.d.ts +16 -15
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -18
- package/dist/index.js.map +1 -1
- package/dist/util/exhaustiveMatchingGuard.d.ts +1 -0
- package/dist/util/exhaustiveMatchingGuard.d.ts.map +1 -0
- package/dist/util/exhaustiveMatchingGuard.js +1 -5
- package/dist/util/exhaustiveMatchingGuard.js.map +1 -1
- package/package.json +35 -23
- package/dist/testUtils.d.ts +0 -2
- package/dist/testUtils.js +0 -7
- package/dist/testUtils.js.map +0 -1
- package/src/ElevationProfile.test.ts +0 -738
- package/src/ElevationProfile.ts +0 -452
- package/src/FeatureType.ts +0 -6
- package/src/Lift.test.ts +0 -195
- package/src/Lift.ts +0 -219
- package/src/LiftNameFormatter.ts +0 -116
- package/src/Place.ts +0 -11
- package/src/Run.ts +0 -242
- package/src/RunDifficultyConvention.test.ts +0 -79
- package/src/RunDifficultyConvention.ts +0 -335
- package/src/SkiArea.ts +0 -128
- package/src/SkiPass.ts +0 -62
- package/src/SlopeGradingScale.test.ts +0 -151
- package/src/SlopeGradingScale.ts +0 -96
- package/src/SnowCoverHistory.test.ts +0 -103
- package/src/SnowCoverHistory.ts +0 -107
- package/src/Source.test.ts +0 -50
- package/src/Source.ts +0 -72
- package/src/Spot.ts +0 -140
- package/src/Status.ts +0 -20
- package/src/ViewportHint.ts +0 -208
- package/src/index.ts +0 -15
- package/src/testUtils.ts +0 -5
- package/src/util/exhaustiveMatchingGuard.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElevationProfile.d.ts","sourceRoot":"","sources":["../src/ElevationProfile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,SAAS,GAAG;IACV,eAAe,EAAE,OAAO,CAAC,UAAU,CAAA;CACpC,CAAA;AAEH,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,SAAS,GAAG;IACf,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,kCAAkC,EAAE,MAAM,CAAA;CAC3C,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,OAAO,CAAC,UAAU,GAClC,aAAa,CAMf;AAED,wBAAgB,YAAY,CAC1B,eAAe,EAAE,OAAO,CAAC,UAAU,EACnC,qBAAqB,GAAE,MAAW,GACjC,SAAS,CAwFX;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,UAAU,CAwBpB;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,UAAU,EACpB,qBAAqB,EAAE,MAAM,GAC5B;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAA;CAAE,CA2B9D;AAED,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,OAAO,CAAC,UAAU,GAClC,iBAAiB,CA+CnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,qBAAqB,EAAE,MAAM,GAC5B;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,CAAA;CAAE,CAmChE"}
|
package/dist/ElevationProfile.js
CHANGED
|
@@ -1,23 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.getProfileGeometry = getProfileGeometry;
|
|
6
|
-
exports.extractPointsForElevationProfile = extractPointsForElevationProfile;
|
|
7
|
-
exports.getAscentAndDescent = getAscentAndDescent;
|
|
8
|
-
exports.lineChunkPatched = lineChunkPatched;
|
|
9
|
-
const tslib_1 = require("tslib");
|
|
10
|
-
const distance_1 = tslib_1.__importDefault(require("@turf/distance"));
|
|
11
|
-
const length_1 = tslib_1.__importDefault(require("@turf/length"));
|
|
12
|
-
const line_chunk_1 = require("@turf/line-chunk");
|
|
13
|
-
function getElevationData(profileGeometry) {
|
|
1
|
+
import distance from '@turf/distance';
|
|
2
|
+
import length from '@turf/length';
|
|
3
|
+
import { lineChunk } from '@turf/line-chunk';
|
|
4
|
+
export function getElevationData(profileGeometry) {
|
|
14
5
|
return {
|
|
15
6
|
...getAscentAndDescent(profileGeometry),
|
|
16
7
|
...getPitchData(profileGeometry),
|
|
17
8
|
profileGeometry,
|
|
18
9
|
};
|
|
19
10
|
}
|
|
20
|
-
function getPitchData(profileGeometry, minResolutionInMeters = 25) {
|
|
11
|
+
export function getPitchData(profileGeometry, minResolutionInMeters = 25) {
|
|
21
12
|
const coordinates = profileGeometry.coordinates;
|
|
22
13
|
if (coordinates[0].length < 3) {
|
|
23
14
|
throw 'Elevation data is required for slope analysis';
|
|
@@ -40,7 +31,7 @@ function getPitchData(profileGeometry, minResolutionInMeters = 25) {
|
|
|
40
31
|
geometry,
|
|
41
32
|
properties: {},
|
|
42
33
|
};
|
|
43
|
-
const lengthInMeters = (
|
|
34
|
+
const lengthInMeters = length(feature, { units: 'meters' });
|
|
44
35
|
totalLength += lengthInMeters;
|
|
45
36
|
totalInclinedLength += Math.sqrt(Math.pow(lengthInMeters, 2) + Math.pow(elevation, 2));
|
|
46
37
|
totalElevationChange += Math.abs(elevation);
|
|
@@ -68,7 +59,7 @@ function getPitchData(profileGeometry, minResolutionInMeters = 25) {
|
|
|
68
59
|
const startPoint = chunkCoords[0];
|
|
69
60
|
const endPoint = chunkCoords[chunkCoords.length - 1];
|
|
70
61
|
const elevationChange = endPoint[2] - startPoint[2];
|
|
71
|
-
const chunkLengthInMeters = (
|
|
62
|
+
const chunkLengthInMeters = length({ type: 'Feature', geometry: chunk, properties: {} }, { units: 'meters' });
|
|
72
63
|
const chunkPitch = Math.abs(elevationChange / chunkLengthInMeters);
|
|
73
64
|
if (chunkPitch > maxPitchValue) {
|
|
74
65
|
maxPitchValue = chunkPitch;
|
|
@@ -84,7 +75,7 @@ function getPitchData(profileGeometry, minResolutionInMeters = 25) {
|
|
|
84
75
|
pitchCalculationResolutionInMeters: actualResolutionInMeters,
|
|
85
76
|
};
|
|
86
77
|
}
|
|
87
|
-
function getProfileGeometry(geometry, elevationProfile) {
|
|
78
|
+
export function getProfileGeometry(geometry, elevationProfile) {
|
|
88
79
|
const { geometry: profileLine, resolutionInMeters: actualResolution } = extractPointsForElevationProfile(geometry, elevationProfile.targetResolution);
|
|
89
80
|
if (profileLine.coordinates.length !== elevationProfile.heights.length) {
|
|
90
81
|
throw `Mismatch of points & elevation profile`;
|
|
@@ -103,7 +94,7 @@ function getProfileGeometry(geometry, elevationProfile) {
|
|
|
103
94
|
/**
|
|
104
95
|
* Determines the points to use for an elevation profile, given a minimum horizontal resolution. The resolution is selected to have evenly spaced points along the line.
|
|
105
96
|
*/
|
|
106
|
-
function extractPointsForElevationProfile(geometry, minResolutionInMeters) {
|
|
97
|
+
export function extractPointsForElevationProfile(geometry, minResolutionInMeters) {
|
|
107
98
|
const { geometry: lineChunks, resolutionInMeters } = lineChunkPatched(geometry, minResolutionInMeters);
|
|
108
99
|
const points = [];
|
|
109
100
|
for (let subline of lineChunks) {
|
|
@@ -126,7 +117,7 @@ function extractPointsForElevationProfile(geometry, minResolutionInMeters) {
|
|
|
126
117
|
},
|
|
127
118
|
};
|
|
128
119
|
}
|
|
129
|
-
function getAscentAndDescent(profileGeometry) {
|
|
120
|
+
export function getAscentAndDescent(profileGeometry) {
|
|
130
121
|
const coordinates = profileGeometry.coordinates;
|
|
131
122
|
if (coordinates.length === 0) {
|
|
132
123
|
throw 'Empty coordinates are not supported for elevation data analysis';
|
|
@@ -179,14 +170,14 @@ function getAscentAndDescent(profileGeometry) {
|
|
|
179
170
|
* @param minResolutionInMeters
|
|
180
171
|
* @returns
|
|
181
172
|
*/
|
|
182
|
-
function lineChunkPatched(geometry, minResolutionInMeters) {
|
|
173
|
+
export function lineChunkPatched(geometry, minResolutionInMeters) {
|
|
183
174
|
const resolutionInMeters = horizontalResolutionFitting(geometry, minResolutionInMeters);
|
|
184
|
-
const lineChunks =
|
|
175
|
+
const lineChunks = lineChunk(geometry, resolutionInMeters, {
|
|
185
176
|
units: 'meters',
|
|
186
177
|
}).features.map((feature) => feature.geometry);
|
|
187
178
|
// Check the last segment has the expected length
|
|
188
179
|
const lastSegment = lineChunks[lineChunks.length - 1];
|
|
189
|
-
const lastSegmentLength = (
|
|
180
|
+
const lastSegmentLength = length({ type: 'Feature', geometry: lastSegment, properties: {} }, { units: 'meters' });
|
|
190
181
|
if (lastSegmentLength < resolutionInMeters * 0.01) {
|
|
191
182
|
// If the last segment is very short, which can happen due to floating point precision issues, drop it to avoid issues with elevation interpolation
|
|
192
183
|
lineChunks.pop();
|
|
@@ -204,7 +195,7 @@ function lineChunkPatched(geometry, minResolutionInMeters) {
|
|
|
204
195
|
return { resolutionInMeters, geometry: lineChunks };
|
|
205
196
|
}
|
|
206
197
|
function horizontalResolutionFitting(geometry, minResolution) {
|
|
207
|
-
const totalLength = (
|
|
198
|
+
const totalLength = length({ type: 'Feature', geometry, properties: {} }, { units: 'meters' });
|
|
208
199
|
if (totalLength === 0) {
|
|
209
200
|
return 0;
|
|
210
201
|
}
|
|
@@ -248,7 +239,7 @@ function interpolateElevation(geometries) {
|
|
|
248
239
|
for (const point of geometry.coordinates) {
|
|
249
240
|
// Calculate distance from previous point
|
|
250
241
|
if (previousPoint) {
|
|
251
|
-
const segmentLength = (
|
|
242
|
+
const segmentLength = distance(previousPoint, point, {
|
|
252
243
|
units: 'meters',
|
|
253
244
|
});
|
|
254
245
|
totalDistance += segmentLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElevationProfile.js","sourceRoot":"","sources":["../src/ElevationProfile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ElevationProfile.js","sourceRoot":"","sources":["../src/ElevationProfile.ts"],"names":[],"mappings":"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"}
|
package/dist/FeatureType.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureType.d.ts","sourceRoot":"","sources":["../src/FeatureType.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;CACd"}
|
package/dist/FeatureType.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FeatureType = void 0;
|
|
4
|
-
var FeatureType;
|
|
1
|
+
export var FeatureType;
|
|
5
2
|
(function (FeatureType) {
|
|
6
3
|
FeatureType["Run"] = "run";
|
|
7
4
|
FeatureType["Lift"] = "lift";
|
|
8
5
|
FeatureType["SkiArea"] = "skiArea";
|
|
9
6
|
FeatureType["Spot"] = "spot";
|
|
10
|
-
})(FeatureType || (
|
|
7
|
+
})(FeatureType || (FeatureType = {}));
|
|
11
8
|
//# sourceMappingURL=FeatureType.js.map
|
package/dist/FeatureType.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureType.js","sourceRoot":"","sources":["../src/FeatureType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeatureType.js","sourceRoot":"","sources":["../src/FeatureType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;AACf,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
|
package/dist/Lift.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import * as GeoJSON from 'geojson';
|
|
2
|
+
import { ElevationData } from './ElevationProfile.js';
|
|
3
|
+
import { FeatureType } from './FeatureType.js';
|
|
4
|
+
import { Place } from './Place.js';
|
|
5
|
+
import { SkiAreaSummaryFeature } from './SkiArea.js';
|
|
6
|
+
import { Source } from './Source.js';
|
|
7
|
+
import { LiftStationSpotFeature } from './Spot.js';
|
|
8
|
+
import { Status } from './Status.js';
|
|
9
|
+
import { ViewportHint } from './ViewportHint.js';
|
|
9
10
|
export type LiftFeature = GeoJSON.Feature<LiftGeometry, LiftProperties>;
|
|
10
11
|
export type LiftGeometry = GeoJSON.LineString | GeoJSON.MultiLineString;
|
|
11
12
|
/**
|
|
@@ -96,3 +97,4 @@ export type LiftElevationData = ElevationData & {
|
|
|
96
97
|
export declare function getLiftElevationData(feature: LiftFeature): LiftElevationData | null;
|
|
97
98
|
export declare function getFormattedLiftType(liftType: LiftType): string;
|
|
98
99
|
export declare function getLiftColor(status: Status): string;
|
|
100
|
+
//# sourceMappingURL=Lift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lift.d.ts","sourceRoot":"","sources":["../src/Lift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAuB,sBAAsB,EAAE,MAAM,WAAW,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;AAEvE,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAA;AAEvE;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,sBAAsB,EAAE,CAAA;IAClC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;IACjC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,oBAAY,QAAQ;IAClB,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,QAAQ,cAAc;IACtB,IAAI,UAAU;IACd,IAAI,UAAU;IACd,OAAO,YAAY;IACnB,OAAO,aAAa;IACpB,WAAW,iBAAiB;IAC5B,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9C,CAAA;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,GACnB,iBAAiB,GAAG,IAAI,CA4B1B;AAqCD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA6B/D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBnD"}
|
package/dist/Lift.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const tslib_1 = require("tslib");
|
|
8
|
-
const distance_1 = tslib_1.__importDefault(require("@turf/distance"));
|
|
9
|
-
const ElevationProfile_1 = require("./ElevationProfile");
|
|
10
|
-
const Spot_1 = require("./Spot");
|
|
11
|
-
const Status_1 = require("./Status");
|
|
12
|
-
const exhaustiveMatchingGuard_1 = require("./util/exhaustiveMatchingGuard");
|
|
13
|
-
var LiftType;
|
|
1
|
+
import distance from '@turf/distance';
|
|
2
|
+
import { getElevationData } from './ElevationProfile.js';
|
|
3
|
+
import { LiftStationPosition } from './Spot.js';
|
|
4
|
+
import { Status } from './Status.js';
|
|
5
|
+
import { exhaustiveMatchingGuard } from './util/exhaustiveMatchingGuard.js';
|
|
6
|
+
export var LiftType;
|
|
14
7
|
(function (LiftType) {
|
|
15
8
|
LiftType["CableCar"] = "cable_car";
|
|
16
9
|
LiftType["Gondola"] = "gondola";
|
|
@@ -24,15 +17,15 @@ var LiftType;
|
|
|
24
17
|
LiftType["MagicCarpet"] = "magic_carpet";
|
|
25
18
|
LiftType["Funicular"] = "funicular";
|
|
26
19
|
LiftType["Railway"] = "railway";
|
|
27
|
-
})(LiftType || (
|
|
28
|
-
function getLiftElevationData(feature) {
|
|
20
|
+
})(LiftType || (LiftType = {}));
|
|
21
|
+
export function getLiftElevationData(feature) {
|
|
29
22
|
const geometry = feature.geometry;
|
|
30
23
|
if (!geometry ||
|
|
31
24
|
geometry.type !== 'LineString' ||
|
|
32
25
|
geometry.coordinates[0].length < 3) {
|
|
33
26
|
return null;
|
|
34
27
|
}
|
|
35
|
-
const elevationData =
|
|
28
|
+
const elevationData = getElevationData(geometry);
|
|
36
29
|
const durationInSeconds = feature.properties.duration;
|
|
37
30
|
const terminalDistances = getTerminalStationDistances(feature);
|
|
38
31
|
const inclinedLength = terminalDistances?.inclinedLengthInMeters ??
|
|
@@ -50,8 +43,8 @@ function getLiftElevationData(feature) {
|
|
|
50
43
|
}
|
|
51
44
|
function getTerminalStationDistances(feature) {
|
|
52
45
|
const stations = feature.properties.stations;
|
|
53
|
-
const topStation = stations.find((s) => s.properties.position ===
|
|
54
|
-
const bottomStation = stations.find((s) => s.properties.position ===
|
|
46
|
+
const topStation = stations.find((s) => s.properties.position === LiftStationPosition.Top);
|
|
47
|
+
const bottomStation = stations.find((s) => s.properties.position === LiftStationPosition.Bottom);
|
|
55
48
|
if (!topStation || !bottomStation) {
|
|
56
49
|
return null;
|
|
57
50
|
}
|
|
@@ -60,12 +53,12 @@ function getTerminalStationDistances(feature) {
|
|
|
60
53
|
if (topCoords.length < 3 || bottomCoords.length < 3) {
|
|
61
54
|
return null;
|
|
62
55
|
}
|
|
63
|
-
const horizontalDistanceInMeters = (
|
|
56
|
+
const horizontalDistanceInMeters = distance(topStation.geometry, bottomStation.geometry, { units: 'meters' });
|
|
64
57
|
const verticalInMeters = Math.abs(topCoords[2] - bottomCoords[2]);
|
|
65
58
|
const inclinedLengthInMeters = Math.sqrt(Math.pow(horizontalDistanceInMeters, 2) + Math.pow(verticalInMeters, 2));
|
|
66
59
|
return { inclinedLengthInMeters, verticalInMeters };
|
|
67
60
|
}
|
|
68
|
-
function getFormattedLiftType(liftType) {
|
|
61
|
+
export function getFormattedLiftType(liftType) {
|
|
69
62
|
switch (liftType) {
|
|
70
63
|
case LiftType.CableCar:
|
|
71
64
|
return 'Cable Car';
|
|
@@ -92,23 +85,23 @@ function getFormattedLiftType(liftType) {
|
|
|
92
85
|
case LiftType.Railway:
|
|
93
86
|
return 'Railway';
|
|
94
87
|
default:
|
|
95
|
-
return
|
|
88
|
+
return exhaustiveMatchingGuard(liftType);
|
|
96
89
|
}
|
|
97
90
|
}
|
|
98
|
-
function getLiftColor(status) {
|
|
91
|
+
export function getLiftColor(status) {
|
|
99
92
|
const brightRedColor = 'hsl(0, 82%, 42%)';
|
|
100
93
|
const dimRedColor = 'hsl(0, 53%, 42%)';
|
|
101
94
|
switch (status) {
|
|
102
|
-
case
|
|
103
|
-
case
|
|
95
|
+
case Status.Disused:
|
|
96
|
+
case Status.Abandoned:
|
|
104
97
|
return dimRedColor;
|
|
105
|
-
case
|
|
106
|
-
case
|
|
107
|
-
case
|
|
108
|
-
case
|
|
98
|
+
case Status.Proposed:
|
|
99
|
+
case Status.Planned:
|
|
100
|
+
case Status.Construction:
|
|
101
|
+
case Status.Operating:
|
|
109
102
|
return brightRedColor;
|
|
110
103
|
default:
|
|
111
|
-
return
|
|
104
|
+
return exhaustiveMatchingGuard(status);
|
|
112
105
|
}
|
|
113
106
|
}
|
|
114
107
|
//# sourceMappingURL=Lift.js.map
|
package/dist/Lift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lift.js","sourceRoot":"","sources":["../src/Lift.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Lift.js","sourceRoot":"","sources":["../src/Lift.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiftNameFormatter.d.ts","sourceRoot":"","sources":["../src/LiftNameFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkC,MAAM,WAAW,CAAA;AAE1E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,cAAc,iBAY5D"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getLiftNameAndType = getLiftNameAndType;
|
|
4
|
-
const Lift_1 = require("./Lift");
|
|
5
|
-
function getLiftNameAndType(properties) {
|
|
1
|
+
import { LiftType, getFormattedLiftType } from './Lift.js';
|
|
2
|
+
export function getLiftNameAndType(properties) {
|
|
6
3
|
const name = properties.name;
|
|
7
4
|
const liftType = getAugmentedLiftType(properties);
|
|
8
5
|
if (name && liftType) {
|
|
@@ -23,15 +20,15 @@ function getAugmentedLiftType(properties) {
|
|
|
23
20
|
components.push('Heated');
|
|
24
21
|
}
|
|
25
22
|
if (bubble === true &&
|
|
26
|
-
properties.liftType !==
|
|
27
|
-
properties.liftType !==
|
|
23
|
+
properties.liftType !== LiftType.CableCar &&
|
|
24
|
+
properties.liftType !== LiftType.Gondola) {
|
|
28
25
|
components.push('Bubble');
|
|
29
26
|
}
|
|
30
27
|
if (!isOccupancyImplicit(properties) && properties.occupancy) {
|
|
31
28
|
components.push(properties.occupancy + 'p');
|
|
32
29
|
}
|
|
33
30
|
const liftType = implicitOccupancyLiftType(properties) ||
|
|
34
|
-
|
|
31
|
+
getFormattedLiftType(properties.liftType);
|
|
35
32
|
if (liftType !== null) {
|
|
36
33
|
components.push(liftType);
|
|
37
34
|
}
|
|
@@ -39,7 +36,7 @@ function getAugmentedLiftType(properties) {
|
|
|
39
36
|
}
|
|
40
37
|
function implicitOccupancyLiftType(properties) {
|
|
41
38
|
const occupancy = properties.occupancy;
|
|
42
|
-
if (properties.liftType ===
|
|
39
|
+
if (properties.liftType === LiftType.ChairLift) {
|
|
43
40
|
switch (occupancy) {
|
|
44
41
|
case 1:
|
|
45
42
|
return 'Single';
|
|
@@ -54,15 +51,15 @@ function implicitOccupancyLiftType(properties) {
|
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
53
|
switch (properties.liftType) {
|
|
57
|
-
case
|
|
54
|
+
case LiftType.TBar:
|
|
58
55
|
return 'T-bar';
|
|
59
|
-
case
|
|
56
|
+
case LiftType.JBar:
|
|
60
57
|
return 'J-bar';
|
|
61
|
-
case
|
|
58
|
+
case LiftType.Platter:
|
|
62
59
|
return 'Platter';
|
|
63
|
-
case
|
|
60
|
+
case LiftType.RopeTow:
|
|
64
61
|
return 'Ropetow';
|
|
65
|
-
case
|
|
62
|
+
case LiftType.MagicCarpet:
|
|
66
63
|
return 'Magic Carpet';
|
|
67
64
|
}
|
|
68
65
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiftNameFormatter.js","sourceRoot":"","sources":["../src/LiftNameFormatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LiftNameFormatter.js","sourceRoot":"","sources":["../src/LiftNameFormatter.ts"],"names":[],"mappings":"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"}
|
package/dist/Place.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Place.d.ts","sourceRoot":"","sources":["../src/Place.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE;QACT,EAAE,EAAE;YACF,OAAO,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;YACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;SACxB,CAAA;KACF,CAAA;CACF,CAAA"}
|
package/dist/Place.js
CHANGED
package/dist/Run.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as GeoJSON from 'geojson';
|
|
2
|
-
import { ElevationData, ElevationProfile } from './ElevationProfile';
|
|
3
|
-
import { FeatureType } from './FeatureType';
|
|
4
|
-
import { Place } from './Place';
|
|
5
|
-
import { RunDifficultyConvention } from './RunDifficultyConvention';
|
|
6
|
-
import { SkiAreaSummaryFeature } from './SkiArea';
|
|
7
|
-
import { SnowCoverHistory } from './SnowCoverHistory';
|
|
8
|
-
import { Source } from './Source';
|
|
9
|
-
import { Status } from './Status';
|
|
10
|
-
import { ViewportHint } from './ViewportHint';
|
|
2
|
+
import { ElevationData, ElevationProfile } from './ElevationProfile.js';
|
|
3
|
+
import { FeatureType } from './FeatureType.js';
|
|
4
|
+
import { Place } from './Place.js';
|
|
5
|
+
import { RunDifficultyConvention } from './RunDifficultyConvention.js';
|
|
6
|
+
import { SkiAreaSummaryFeature } from './SkiArea.js';
|
|
7
|
+
import { SnowCoverHistory } from './SnowCoverHistory.js';
|
|
8
|
+
import { Source } from './Source.js';
|
|
9
|
+
import { Status } from './Status.js';
|
|
10
|
+
import { ViewportHint } from './ViewportHint.js';
|
|
11
11
|
export type RunGeometry = GeoJSON.LineString | GeoJSON.Polygon;
|
|
12
12
|
/**
|
|
13
13
|
* Represents a segment of a ski run/trail.
|
|
@@ -132,3 +132,4 @@ export declare function getRunElevationData(feature: RunFeature): ElevationData
|
|
|
132
132
|
export declare function getRunColor(convention: RunDifficultyConvention, difficulty: RunDifficulty | null): RunColorValue;
|
|
133
133
|
export declare function runColorNameToValue(color: RunColorName): RunColorValue;
|
|
134
134
|
export declare function getRunColorName(convention: RunDifficultyConvention, difficulty: RunDifficulty | null): RunColorName;
|
|
135
|
+
//# sourceMappingURL=Run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":"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"}
|
package/dist/Run.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.getRunColor = getRunColor;
|
|
6
|
-
exports.runColorNameToValue = runColorNameToValue;
|
|
7
|
-
exports.getRunColorName = getRunColorName;
|
|
8
|
-
const ElevationProfile_1 = require("./ElevationProfile");
|
|
9
|
-
const RunDifficultyConvention_1 = require("./RunDifficultyConvention");
|
|
10
|
-
const exhaustiveMatchingGuard_1 = require("./util/exhaustiveMatchingGuard");
|
|
11
|
-
var RunUse;
|
|
1
|
+
import { getElevationData, getProfileGeometry, } from './ElevationProfile.js';
|
|
2
|
+
import { RunDifficultyConvention } from './RunDifficultyConvention.js';
|
|
3
|
+
import { exhaustiveMatchingGuard } from './util/exhaustiveMatchingGuard.js';
|
|
4
|
+
export var RunUse;
|
|
12
5
|
(function (RunUse) {
|
|
13
6
|
RunUse["Downhill"] = "downhill";
|
|
14
7
|
RunUse["Nordic"] = "nordic";
|
|
@@ -21,8 +14,8 @@ var RunUse;
|
|
|
21
14
|
RunUse["Playground"] = "playground";
|
|
22
15
|
RunUse["Connection"] = "connection";
|
|
23
16
|
RunUse["Fatbike"] = "fatbike";
|
|
24
|
-
})(RunUse || (
|
|
25
|
-
var RunGrooming;
|
|
17
|
+
})(RunUse || (RunUse = {}));
|
|
18
|
+
export var RunGrooming;
|
|
26
19
|
(function (RunGrooming) {
|
|
27
20
|
RunGrooming["Classic"] = "classic";
|
|
28
21
|
RunGrooming["Mogul"] = "mogul";
|
|
@@ -30,8 +23,8 @@ var RunGrooming;
|
|
|
30
23
|
RunGrooming["Skating"] = "skating";
|
|
31
24
|
RunGrooming["Scooter"] = "scooter";
|
|
32
25
|
RunGrooming["Backcountry"] = "backcountry";
|
|
33
|
-
})(RunGrooming || (
|
|
34
|
-
var RunDifficulty;
|
|
26
|
+
})(RunGrooming || (RunGrooming = {}));
|
|
27
|
+
export var RunDifficulty;
|
|
35
28
|
(function (RunDifficulty) {
|
|
36
29
|
RunDifficulty["NOVICE"] = "novice";
|
|
37
30
|
RunDifficulty["EASY"] = "easy";
|
|
@@ -40,8 +33,8 @@ var RunDifficulty;
|
|
|
40
33
|
RunDifficulty["EXPERT"] = "expert";
|
|
41
34
|
RunDifficulty["FREERIDE"] = "freeride";
|
|
42
35
|
RunDifficulty["EXTREME"] = "extreme";
|
|
43
|
-
})(RunDifficulty || (
|
|
44
|
-
var RunColorName;
|
|
36
|
+
})(RunDifficulty || (RunDifficulty = {}));
|
|
37
|
+
export var RunColorName;
|
|
45
38
|
(function (RunColorName) {
|
|
46
39
|
RunColorName["GREEN"] = "green";
|
|
47
40
|
RunColorName["BLUE"] = "blue";
|
|
@@ -49,8 +42,8 @@ var RunColorName;
|
|
|
49
42
|
RunColorName["BLACK"] = "black";
|
|
50
43
|
RunColorName["ORANGE"] = "orange";
|
|
51
44
|
RunColorName["GREY"] = "grey";
|
|
52
|
-
})(RunColorName || (
|
|
53
|
-
var RunColorValue;
|
|
45
|
+
})(RunColorName || (RunColorName = {}));
|
|
46
|
+
export var RunColorValue;
|
|
54
47
|
(function (RunColorValue) {
|
|
55
48
|
RunColorValue["GREEN"] = "hsl(125, 100%, 33%)";
|
|
56
49
|
RunColorValue["BLUE"] = "hsl(208, 100%, 33%)";
|
|
@@ -58,21 +51,21 @@ var RunColorValue;
|
|
|
58
51
|
RunColorValue["BLACK"] = "hsl(0, 0%, 0%)";
|
|
59
52
|
RunColorValue["ORANGE"] = "hsl(34, 100%, 50%)";
|
|
60
53
|
RunColorValue["GREY"] = "hsl(0, 0%, 35%)";
|
|
61
|
-
})(RunColorValue || (
|
|
62
|
-
function getRunElevationData(feature) {
|
|
54
|
+
})(RunColorValue || (RunColorValue = {}));
|
|
55
|
+
export function getRunElevationData(feature) {
|
|
63
56
|
const geometry = feature.geometry;
|
|
64
57
|
const profile = feature.properties.elevationProfile;
|
|
65
58
|
if (!profile || !geometry || geometry.type !== 'LineString') {
|
|
66
59
|
return null;
|
|
67
60
|
}
|
|
68
61
|
// Get a geometry that includes elevation data at an even spacing along the run
|
|
69
|
-
const profileGeometry =
|
|
70
|
-
return
|
|
62
|
+
const profileGeometry = getProfileGeometry(geometry, profile);
|
|
63
|
+
return getElevationData(profileGeometry);
|
|
71
64
|
}
|
|
72
|
-
function getRunColor(convention, difficulty) {
|
|
65
|
+
export function getRunColor(convention, difficulty) {
|
|
73
66
|
return runColorNameToValue(getRunColorName(convention, difficulty));
|
|
74
67
|
}
|
|
75
|
-
function runColorNameToValue(color) {
|
|
68
|
+
export function runColorNameToValue(color) {
|
|
76
69
|
switch (color) {
|
|
77
70
|
case RunColorName.GREEN:
|
|
78
71
|
return RunColorValue.GREEN;
|
|
@@ -90,9 +83,9 @@ function runColorNameToValue(color) {
|
|
|
90
83
|
throw 'invalid color';
|
|
91
84
|
}
|
|
92
85
|
}
|
|
93
|
-
function getRunColorName(convention, difficulty) {
|
|
86
|
+
export function getRunColorName(convention, difficulty) {
|
|
94
87
|
switch (convention) {
|
|
95
|
-
case
|
|
88
|
+
case RunDifficultyConvention.EUROPE:
|
|
96
89
|
switch (difficulty) {
|
|
97
90
|
case RunDifficulty.NOVICE:
|
|
98
91
|
return RunColorName.GREEN;
|
|
@@ -109,7 +102,7 @@ function getRunColorName(convention, difficulty) {
|
|
|
109
102
|
default:
|
|
110
103
|
return RunColorName.GREY;
|
|
111
104
|
}
|
|
112
|
-
case
|
|
105
|
+
case RunDifficultyConvention.JAPAN:
|
|
113
106
|
switch (difficulty) {
|
|
114
107
|
case RunDifficulty.NOVICE:
|
|
115
108
|
case RunDifficulty.EASY:
|
|
@@ -125,7 +118,7 @@ function getRunColorName(convention, difficulty) {
|
|
|
125
118
|
default:
|
|
126
119
|
return RunColorName.GREY;
|
|
127
120
|
}
|
|
128
|
-
case
|
|
121
|
+
case RunDifficultyConvention.NORTH_AMERICA:
|
|
129
122
|
switch (difficulty) {
|
|
130
123
|
case RunDifficulty.NOVICE:
|
|
131
124
|
case RunDifficulty.EASY:
|
|
@@ -142,7 +135,7 @@ function getRunColorName(convention, difficulty) {
|
|
|
142
135
|
return RunColorName.GREY;
|
|
143
136
|
}
|
|
144
137
|
default:
|
|
145
|
-
return
|
|
138
|
+
return exhaustiveMatchingGuard(convention);
|
|
146
139
|
}
|
|
147
140
|
}
|
|
148
141
|
//# sourceMappingURL=Run.js.map
|