openskidata-format 5.2.0 → 5.4.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/Run.d.ts +1 -31
- package/dist/Run.js +5 -36
- package/dist/Run.js.map +1 -1
- package/dist/RunDifficultyConvention.d.ts +42 -0
- package/dist/RunDifficultyConvention.js +333 -0
- package/dist/RunDifficultyConvention.js.map +1 -0
- package/dist/SkiArea.d.ts +2 -1
- package/dist/SkiArea.js.map +1 -1
- package/dist/SlopeGradingScale.d.ts +44 -0
- package/dist/SlopeGradingScale.js +78 -0
- package/dist/SlopeGradingScale.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/src/ElevationProfile.test.ts +1 -1
- package/src/Run.ts +1 -33
- package/src/RunDifficultyConvention.test.ts +79 -0
- package/src/RunDifficultyConvention.ts +335 -0
- package/src/SkiArea.ts +2 -1
- package/src/SlopeGradingScale.test.ts +129 -0
- package/src/SlopeGradingScale.ts +94 -0
- package/src/index.ts +2 -0
package/dist/Run.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as GeoJSON from 'geojson';
|
|
2
2
|
import { ElevationData, ElevationProfile } from './ElevationProfile';
|
|
3
3
|
import { FeatureType } from './FeatureType';
|
|
4
|
+
import { RunDifficultyConvention } from './RunDifficultyConvention';
|
|
4
5
|
import { SkiAreaSummaryFeature } from './SkiArea';
|
|
5
6
|
import { SnowCoverHistory } from './SnowCoverHistory';
|
|
6
7
|
import { Source } from './Source';
|
|
@@ -116,37 +117,6 @@ export declare enum RunColorValue {
|
|
|
116
117
|
ORANGE = "hsl(34, 100%, 50%)",
|
|
117
118
|
GREY = "hsl(0, 0%, 35%)"
|
|
118
119
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Run difficulty colors vary by region. This enum defines the color convention used for runs at a ski area.
|
|
121
|
-
* @enum {string}
|
|
122
|
-
*/
|
|
123
|
-
export declare enum RunDifficultyConvention {
|
|
124
|
-
/**
|
|
125
|
-
* European color convention:
|
|
126
|
-
* - Green: Novice
|
|
127
|
-
* - Blue: Easy
|
|
128
|
-
* - Red: Intermediate
|
|
129
|
-
* - Black: Advanced/Expert
|
|
130
|
-
* - Orange: Freeride/Extreme
|
|
131
|
-
*/
|
|
132
|
-
EUROPE = "europe",
|
|
133
|
-
/**
|
|
134
|
-
* Japanese color convention:
|
|
135
|
-
* - Green: Novice/Easy
|
|
136
|
-
* - Red: Intermediate
|
|
137
|
-
* - Black: Advanced/Expert
|
|
138
|
-
* - Orange: Freeride/Extreme
|
|
139
|
-
*/
|
|
140
|
-
JAPAN = "japan",
|
|
141
|
-
/**
|
|
142
|
-
* North American color convention:
|
|
143
|
-
* - Green: Novice/Easy
|
|
144
|
-
* - Blue: Intermediate
|
|
145
|
-
* - Black: Advanced/Expert
|
|
146
|
-
* - Orange: Freeride/Extreme
|
|
147
|
-
*/
|
|
148
|
-
NORTH_AMERICA = "north_america"
|
|
149
|
-
}
|
|
150
120
|
export declare function getRunElevationData(feature: RunFeature): ElevationData | null;
|
|
151
121
|
export declare function getRunColor(convention: RunDifficultyConvention, difficulty: RunDifficulty | null): RunColorValue;
|
|
152
122
|
export declare function runColorNameToValue(color: RunColorName): RunColorValue;
|
package/dist/Run.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RunColorValue = exports.RunColorName = exports.RunDifficulty = exports.RunGrooming = exports.RunUse = void 0;
|
|
4
4
|
exports.getRunElevationData = getRunElevationData;
|
|
5
5
|
exports.getRunColor = getRunColor;
|
|
6
6
|
exports.runColorNameToValue = runColorNameToValue;
|
|
7
7
|
exports.getRunColorName = getRunColorName;
|
|
8
8
|
const ElevationProfile_1 = require("./ElevationProfile");
|
|
9
|
+
const RunDifficultyConvention_1 = require("./RunDifficultyConvention");
|
|
9
10
|
const exhaustiveMatchingGuard_1 = require("./util/exhaustiveMatchingGuard");
|
|
10
11
|
var RunUse;
|
|
11
12
|
(function (RunUse) {
|
|
@@ -58,38 +59,6 @@ var RunColorValue;
|
|
|
58
59
|
RunColorValue["ORANGE"] = "hsl(34, 100%, 50%)";
|
|
59
60
|
RunColorValue["GREY"] = "hsl(0, 0%, 35%)";
|
|
60
61
|
})(RunColorValue || (exports.RunColorValue = RunColorValue = {}));
|
|
61
|
-
/**
|
|
62
|
-
* Run difficulty colors vary by region. This enum defines the color convention used for runs at a ski area.
|
|
63
|
-
* @enum {string}
|
|
64
|
-
*/
|
|
65
|
-
var RunDifficultyConvention;
|
|
66
|
-
(function (RunDifficultyConvention) {
|
|
67
|
-
/**
|
|
68
|
-
* European color convention:
|
|
69
|
-
* - Green: Novice
|
|
70
|
-
* - Blue: Easy
|
|
71
|
-
* - Red: Intermediate
|
|
72
|
-
* - Black: Advanced/Expert
|
|
73
|
-
* - Orange: Freeride/Extreme
|
|
74
|
-
*/
|
|
75
|
-
RunDifficultyConvention["EUROPE"] = "europe";
|
|
76
|
-
/**
|
|
77
|
-
* Japanese color convention:
|
|
78
|
-
* - Green: Novice/Easy
|
|
79
|
-
* - Red: Intermediate
|
|
80
|
-
* - Black: Advanced/Expert
|
|
81
|
-
* - Orange: Freeride/Extreme
|
|
82
|
-
*/
|
|
83
|
-
RunDifficultyConvention["JAPAN"] = "japan";
|
|
84
|
-
/**
|
|
85
|
-
* North American color convention:
|
|
86
|
-
* - Green: Novice/Easy
|
|
87
|
-
* - Blue: Intermediate
|
|
88
|
-
* - Black: Advanced/Expert
|
|
89
|
-
* - Orange: Freeride/Extreme
|
|
90
|
-
*/
|
|
91
|
-
RunDifficultyConvention["NORTH_AMERICA"] = "north_america";
|
|
92
|
-
})(RunDifficultyConvention || (exports.RunDifficultyConvention = RunDifficultyConvention = {}));
|
|
93
62
|
function getRunElevationData(feature) {
|
|
94
63
|
const geometry = feature.geometry;
|
|
95
64
|
const profile = feature.properties.elevationProfile;
|
|
@@ -123,7 +92,7 @@ function runColorNameToValue(color) {
|
|
|
123
92
|
}
|
|
124
93
|
function getRunColorName(convention, difficulty) {
|
|
125
94
|
switch (convention) {
|
|
126
|
-
case RunDifficultyConvention.EUROPE:
|
|
95
|
+
case RunDifficultyConvention_1.RunDifficultyConvention.EUROPE:
|
|
127
96
|
switch (difficulty) {
|
|
128
97
|
case RunDifficulty.NOVICE:
|
|
129
98
|
return RunColorName.GREEN;
|
|
@@ -140,7 +109,7 @@ function getRunColorName(convention, difficulty) {
|
|
|
140
109
|
default:
|
|
141
110
|
return RunColorName.GREY;
|
|
142
111
|
}
|
|
143
|
-
case RunDifficultyConvention.JAPAN:
|
|
112
|
+
case RunDifficultyConvention_1.RunDifficultyConvention.JAPAN:
|
|
144
113
|
switch (difficulty) {
|
|
145
114
|
case RunDifficulty.NOVICE:
|
|
146
115
|
case RunDifficulty.EASY:
|
|
@@ -156,7 +125,7 @@ function getRunColorName(convention, difficulty) {
|
|
|
156
125
|
default:
|
|
157
126
|
return RunColorName.GREY;
|
|
158
127
|
}
|
|
159
|
-
case RunDifficultyConvention.NORTH_AMERICA:
|
|
128
|
+
case RunDifficultyConvention_1.RunDifficultyConvention.NORTH_AMERICA:
|
|
160
129
|
switch (difficulty) {
|
|
161
130
|
case RunDifficulty.NOVICE:
|
|
162
131
|
case RunDifficulty.EASY:
|
package/dist/Run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../src/Run.ts"],"names":[],"mappings":";;;AAuIA,kDAUC;AAED,kCAKC;AAED,kDAiBC;AAED,0CAyDC;AArOD,yDAK2B;AAE3B,uEAAmE;AAKnE,4EAAwE;AAsExE,IAAY,MAYX;AAZD,WAAY,MAAM;IAChB,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,gCAAsB,CAAA;IACtB,gCAAsB,CAAA;IACtB,mCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,6BAAmB,CAAA;AACrB,CAAC,EAZW,MAAM,sBAAN,MAAM,QAYjB;AAED,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,oDAAqC,CAAA;IACrC,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,0CAA2B,CAAA;AAC7B,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAED,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,8CAA6B,CAAA;IAC7B,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;AACrB,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB;AAED,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8CAA6B,CAAA;IAC7B,6CAA4B,CAAA;IAC5B,2CAA0B,CAAA;IAC1B,yCAAwB,CAAA;IACxB,8CAA6B,CAAA;IAC7B,yCAAwB,CAAA;AAC1B,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;AAGD,SAAgB,mBAAmB,CAAC,OAAmB;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAA;IACnD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+EAA+E;IAC/E,MAAM,eAAe,GAAG,IAAA,qCAAkB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7D,OAAO,IAAA,mCAAgB,EAAC,eAAe,CAAC,CAAA;AAC1C,CAAC;AAED,SAAgB,WAAW,CACzB,UAAmC,EACnC,UAAgC;IAEhC,OAAO,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAmB;IACrD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,aAAa,CAAC,KAAK,CAAA;QAC5B,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO,aAAa,CAAC,IAAI,CAAA;QAC3B,KAAK,YAAY,CAAC,GAAG;YACnB,OAAO,aAAa,CAAC,GAAG,CAAA;QAC1B,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,aAAa,CAAC,KAAK,CAAA;QAC5B,KAAK,YAAY,CAAC,MAAM;YACtB,OAAO,aAAa,CAAC,MAAM,CAAA;QAC7B,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO,aAAa,CAAC,IAAI,CAAA;QAC3B;YACE,MAAM,eAAe,CAAA;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAC7B,UAAmC,EACnC,UAAgC;IAEhC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,iDAAuB,CAAC,MAAM;YACjC,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,aAAa,CAAC,MAAM;oBACvB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,IAAI;oBACrB,OAAO,YAAY,CAAC,IAAI,CAAA;gBAC1B,KAAK,aAAa,CAAC,YAAY;oBAC7B,OAAO,YAAY,CAAC,GAAG,CAAA;gBACzB,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,MAAM;oBACvB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,OAAO;oBACxB,OAAO,YAAY,CAAC,MAAM,CAAA;gBAC5B;oBACE,OAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,CAAC;QACH,KAAK,iDAAuB,CAAC,KAAK;YAChC,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,IAAI;oBACrB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,YAAY;oBAC7B,OAAO,YAAY,CAAC,GAAG,CAAA;gBACzB,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,MAAM;oBACvB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,OAAO;oBACxB,OAAO,YAAY,CAAC,MAAM,CAAA;gBAC5B;oBACE,OAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,CAAC;QACH,KAAK,iDAAuB,CAAC,aAAa;YACxC,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,IAAI;oBACrB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,YAAY;oBAC7B,OAAO,YAAY,CAAC,IAAI,CAAA;gBAC1B,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,MAAM;oBACvB,OAAO,YAAY,CAAC,KAAK,CAAA;gBAC3B,KAAK,aAAa,CAAC,QAAQ,CAAC;gBAC5B,KAAK,aAAa,CAAC,OAAO;oBACxB,OAAO,YAAY,CAAC,MAAM,CAAA;gBAC5B;oBACE,OAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,CAAC;QACH;YACE,OAAO,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AllGeoJSON } from "@turf/helpers";
|
|
2
|
+
/**
|
|
3
|
+
* Run difficulty colors vary by region. This enum defines the color convention used for runs at a ski area.
|
|
4
|
+
* @enum {string}
|
|
5
|
+
*/
|
|
6
|
+
export declare enum RunDifficultyConvention {
|
|
7
|
+
/**
|
|
8
|
+
* European color convention:
|
|
9
|
+
* - Green: Novice
|
|
10
|
+
* - Blue: Easy
|
|
11
|
+
* - Red: Intermediate
|
|
12
|
+
* - Black: Advanced/Expert
|
|
13
|
+
* - Orange: Freeride/Extreme
|
|
14
|
+
*/
|
|
15
|
+
EUROPE = "europe",
|
|
16
|
+
/**
|
|
17
|
+
* Japanese color convention:
|
|
18
|
+
* - Green: Novice/Easy
|
|
19
|
+
* - Red: Intermediate
|
|
20
|
+
* - Black: Advanced/Expert
|
|
21
|
+
* - Orange: Freeride/Extreme
|
|
22
|
+
*/
|
|
23
|
+
JAPAN = "japan",
|
|
24
|
+
/**
|
|
25
|
+
* North American color convention:
|
|
26
|
+
* - Green: Novice/Easy
|
|
27
|
+
* - Blue: Intermediate
|
|
28
|
+
* - Black: Advanced/Expert
|
|
29
|
+
* - Orange: Freeride/Extreme
|
|
30
|
+
*/
|
|
31
|
+
NORTH_AMERICA = "north_america"
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Determines the run difficulty convention for a given geographic location.
|
|
35
|
+
* Based on the center point of the geometry, returns the appropriate regional
|
|
36
|
+
* convention for ski run difficulty ratings.
|
|
37
|
+
*
|
|
38
|
+
* @param geojson - GeoJSON geometry to determine the center location from
|
|
39
|
+
* @returns The appropriate run difficulty convention for the location
|
|
40
|
+
* @throws Error if the center of geometry cannot be determined
|
|
41
|
+
*/
|
|
42
|
+
export declare function getRunDifficultyConvention(geojson: AllGeoJSON): RunDifficultyConvention;
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RunDifficultyConvention = void 0;
|
|
4
|
+
exports.getRunDifficultyConvention = getRunDifficultyConvention;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const boolean_point_in_polygon_1 = tslib_1.__importDefault(require("@turf/boolean-point-in-polygon"));
|
|
7
|
+
const center_1 = tslib_1.__importDefault(require("@turf/center"));
|
|
8
|
+
const turf = tslib_1.__importStar(require("@turf/helpers"));
|
|
9
|
+
/**
|
|
10
|
+
* Run difficulty colors vary by region. This enum defines the color convention used for runs at a ski area.
|
|
11
|
+
* @enum {string}
|
|
12
|
+
*/
|
|
13
|
+
var RunDifficultyConvention;
|
|
14
|
+
(function (RunDifficultyConvention) {
|
|
15
|
+
/**
|
|
16
|
+
* European color convention:
|
|
17
|
+
* - Green: Novice
|
|
18
|
+
* - Blue: Easy
|
|
19
|
+
* - Red: Intermediate
|
|
20
|
+
* - Black: Advanced/Expert
|
|
21
|
+
* - Orange: Freeride/Extreme
|
|
22
|
+
*/
|
|
23
|
+
RunDifficultyConvention["EUROPE"] = "europe";
|
|
24
|
+
/**
|
|
25
|
+
* Japanese color convention:
|
|
26
|
+
* - Green: Novice/Easy
|
|
27
|
+
* - Red: Intermediate
|
|
28
|
+
* - Black: Advanced/Expert
|
|
29
|
+
* - Orange: Freeride/Extreme
|
|
30
|
+
*/
|
|
31
|
+
RunDifficultyConvention["JAPAN"] = "japan";
|
|
32
|
+
/**
|
|
33
|
+
* North American color convention:
|
|
34
|
+
* - Green: Novice/Easy
|
|
35
|
+
* - Blue: Intermediate
|
|
36
|
+
* - Black: Advanced/Expert
|
|
37
|
+
* - Orange: Freeride/Extreme
|
|
38
|
+
*/
|
|
39
|
+
RunDifficultyConvention["NORTH_AMERICA"] = "north_america";
|
|
40
|
+
})(RunDifficultyConvention || (exports.RunDifficultyConvention = RunDifficultyConvention = {}));
|
|
41
|
+
const northAmericanConventionGeometry = turf.multiPolygon([
|
|
42
|
+
[
|
|
43
|
+
[
|
|
44
|
+
[66.89889168301036, 22.98946421817959],
|
|
45
|
+
[76.79011657384558, 4.2607118936878265],
|
|
46
|
+
[112.5459757578734, -40.008871147786486],
|
|
47
|
+
[166.64372809287335, -58.19200446079054],
|
|
48
|
+
[191.91699393212554, -33.377687858720755],
|
|
49
|
+
[192.65370948033006, -8.971607939355977],
|
|
50
|
+
[140.68354997294796, 5.451024881476499],
|
|
51
|
+
[123.38582294700518, 21.801329456101513],
|
|
52
|
+
[122.25942048875993, 24.243081370534554],
|
|
53
|
+
[123.02414890399393, 26.354744126525432],
|
|
54
|
+
[129.68307711216244, 35.3374262814546],
|
|
55
|
+
[131.36509887116028, 39.1827837685222],
|
|
56
|
+
[130.5715844381864, 42.515964349309684],
|
|
57
|
+
[130.62108313985783, 42.63370843853855],
|
|
58
|
+
[130.39263902117034, 42.73714858581644],
|
|
59
|
+
[130.8150956808529, 42.87954610777132],
|
|
60
|
+
[131.04334909066392, 42.88226217082041],
|
|
61
|
+
[131.33954328617205, 43.445079879213296],
|
|
62
|
+
[131.191137752773, 43.53879786242706],
|
|
63
|
+
[131.2860140618261, 44.06115319070142],
|
|
64
|
+
[131.1086866768622, 44.71097030226514],
|
|
65
|
+
[130.95332209785204, 44.84377389211244],
|
|
66
|
+
[131.56223386930952, 45.01998391706314],
|
|
67
|
+
[131.87876159757576, 45.342467064732745],
|
|
68
|
+
[131.9445424786545, 45.26381674117374],
|
|
69
|
+
[132.89886314033083, 45.04768363738535],
|
|
70
|
+
[132.9409663928247, 45.020634782943716],
|
|
71
|
+
[133.12560828825156, 45.14828761444474],
|
|
72
|
+
[133.11406817721956, 45.23774574998686],
|
|
73
|
+
[133.1686920707706, 45.49559658174417],
|
|
74
|
+
[133.4044528436404, 45.59600211321589],
|
|
75
|
+
[133.49367119277423, 45.87840483196845],
|
|
76
|
+
[133.57649823904808, 45.88061866181769],
|
|
77
|
+
[133.7230811284722, 46.06662995573109],
|
|
78
|
+
[133.68166349871666, 46.137321119014274],
|
|
79
|
+
[133.9014556853037, 46.24315756590036],
|
|
80
|
+
[134.29060710292293, 47.44981009549741],
|
|
81
|
+
[134.53603145724082, 47.47580868032259],
|
|
82
|
+
[134.80050117570937, 47.73143995381383],
|
|
83
|
+
[134.54808493637842, 48.00270638588145],
|
|
84
|
+
[134.7902354911858, 48.38077517538687],
|
|
85
|
+
[134.53852703049813, 48.414602674179406],
|
|
86
|
+
[134.05426284432252, 48.33207866806839],
|
|
87
|
+
[133.44255382292891, 48.11130941788082],
|
|
88
|
+
[133.06661598961256, 48.102793716410616],
|
|
89
|
+
[132.65561957214425, 47.92377254119751],
|
|
90
|
+
[132.57597035647728, 47.73126763647102],
|
|
91
|
+
[131.5872859174675, 47.669086096155525],
|
|
92
|
+
[130.978760673039, 47.70552624852317],
|
|
93
|
+
[130.8927298265839, 47.92147467660291],
|
|
94
|
+
[130.69208001471225, 48.07898424194457],
|
|
95
|
+
[130.8424973965307, 48.32747681044523],
|
|
96
|
+
[130.53333624266037, 48.638203333369944],
|
|
97
|
+
[130.69902773150022, 48.86294984494779],
|
|
98
|
+
[130.4313260036679, 48.91144552665949],
|
|
99
|
+
[130.2336273608912, 48.877796693265594],
|
|
100
|
+
[129.49472335519903, 49.445146325369194],
|
|
101
|
+
[128.6404925727599, 49.6395594299683],
|
|
102
|
+
[127.95892224407356, 49.62425806475295],
|
|
103
|
+
[127.56973394676123, 49.842755131278835],
|
|
104
|
+
[127.6749910879272, 50.240140628289964],
|
|
105
|
+
[127.45368458653832, 50.26847480259133],
|
|
106
|
+
[127.37394005798404, 50.29288471184299],
|
|
107
|
+
[127.32612719828853, 50.34379944487219],
|
|
108
|
+
[127.37997900840315, 50.60653687131031],
|
|
109
|
+
[127.16325020595207, 50.933036917572906],
|
|
110
|
+
[126.99177818739395, 51.326954509452236],
|
|
111
|
+
[126.33131963313707, 52.493153867333206],
|
|
112
|
+
[126.09655832692533, 52.86710580508279],
|
|
113
|
+
[125.18461572471739, 53.21778527809076],
|
|
114
|
+
[123.62905555865535, 53.56957077991163],
|
|
115
|
+
[122.14662682326076, 53.507610554797225],
|
|
116
|
+
[120.81940759451805, 53.31174251524433],
|
|
117
|
+
[119.95478692741125, 52.77983494498105],
|
|
118
|
+
[120.02183577608542, 52.55624852160162],
|
|
119
|
+
[120.59821023820314, 52.5562523256705],
|
|
120
|
+
[120.65182146309388, 52.027454302929755],
|
|
121
|
+
[120.00845804883363, 51.63400833664596],
|
|
122
|
+
[119.10923570584242, 50.3653464992334],
|
|
123
|
+
[119.33042992474253, 50.30545934524457],
|
|
124
|
+
[119.21648675850292, 50.099528593865784],
|
|
125
|
+
[118.93783039700338, 49.98458223887849],
|
|
126
|
+
[118.54626899510839, 49.94616013995508],
|
|
127
|
+
[117.80663959739081, 49.53647108800752],
|
|
128
|
+
[117.484738258086, 49.624317990557614],
|
|
129
|
+
[117.26607476489426, 49.63477188589076],
|
|
130
|
+
[116.96468681768641, 49.73160402967815],
|
|
131
|
+
[116.62825050755794, 49.944503706705376],
|
|
132
|
+
[116.2287910451044, 50.03623236447976],
|
|
133
|
+
[115.97912115005505, 49.97893073129566],
|
|
134
|
+
[115.72585372832015, 49.87560524136032],
|
|
135
|
+
[115.38340104847777, 49.935338883138456],
|
|
136
|
+
[115.15157871232401, 50.03624558574222],
|
|
137
|
+
[114.96972180858182, 50.18262812854161],
|
|
138
|
+
[114.32823723216535, 50.27374466694857],
|
|
139
|
+
[113.21615782676918, 49.84014337192383],
|
|
140
|
+
[113.06279976594055, 49.60262851502978],
|
|
141
|
+
[112.75961978011298, 49.50544853175836],
|
|
142
|
+
[112.4528903096238, 49.51941937053812],
|
|
143
|
+
[111.93911320274538, 49.37324774723086],
|
|
144
|
+
[111.69083700584588, 49.38804243172055],
|
|
145
|
+
[110.68965090965844, 49.16705432804406],
|
|
146
|
+
[108.61062678042163, 49.33457873762259],
|
|
147
|
+
[107.90316280555385, 49.97532248790398],
|
|
148
|
+
[106.49948671672877, 50.3809827302172],
|
|
149
|
+
[105.51746011619525, 50.48702476586922],
|
|
150
|
+
[103.97795584841299, 50.133831277984996],
|
|
151
|
+
[102.69196601175406, 50.37681484681099],
|
|
152
|
+
[102.27144249887641, 50.87948727040293],
|
|
153
|
+
[102.17444849785716, 51.35640391793228],
|
|
154
|
+
[100.63003834780625, 51.738599556839574],
|
|
155
|
+
[98.92412930445079, 52.152271807237554],
|
|
156
|
+
[98.0263146497278, 51.38702212297895],
|
|
157
|
+
[97.83223938583137, 50.91503753447586],
|
|
158
|
+
[98.30141292582249, 50.51549014567553],
|
|
159
|
+
[98.03452228766315, 50.01401927081076],
|
|
160
|
+
[97.21087912958029, 49.75344974439781],
|
|
161
|
+
[96.59617521697089, 49.92558626439808],
|
|
162
|
+
[94.58073504473032, 50.071206832869876],
|
|
163
|
+
[94.44884921665886, 50.25288523325358],
|
|
164
|
+
[94.28227879098631, 50.59029357818193],
|
|
165
|
+
[93.06055432240078, 50.6108167038102],
|
|
166
|
+
[92.95500531764452, 50.764378755264715],
|
|
167
|
+
[92.38044935493656, 50.81536176617482],
|
|
168
|
+
[89.61447548394369, 49.896510834163024],
|
|
169
|
+
[89.41209157088667, 49.593951299041436],
|
|
170
|
+
[87.21941106111126, 49.136371106937105],
|
|
171
|
+
[86.47691458036888, 48.52706996107682],
|
|
172
|
+
[85.66792655187515, 48.41217050021373],
|
|
173
|
+
[85.61001315938637, 47.097608820611185],
|
|
174
|
+
[83.06577876367635, 47.1684932958469],
|
|
175
|
+
[82.19603900970611, 45.39598594758252],
|
|
176
|
+
[79.94680702146206, 44.995940936938524],
|
|
177
|
+
[80.74758671786947, 43.25101970631087],
|
|
178
|
+
[80.16296382083789, 42.42004311892032],
|
|
179
|
+
[79.08808560905646, 42.80565581050615],
|
|
180
|
+
[77.46543003728954, 42.93866114713731],
|
|
181
|
+
[77.30266016034727, 42.91577009179525],
|
|
182
|
+
[77.06944317811468, 42.98941184436538],
|
|
183
|
+
[76.83954492079482, 42.95784584611252],
|
|
184
|
+
[76.66706605000616, 42.91054018927406],
|
|
185
|
+
[76.35054751194656, 42.86314251596045],
|
|
186
|
+
[76.22106905960021, 42.92109675548289],
|
|
187
|
+
[75.8499512176796, 42.944841027684475],
|
|
188
|
+
[75.69647619703395, 42.79434701877443],
|
|
189
|
+
[75.20518050373951, 42.86058166470994],
|
|
190
|
+
[74.86716288299183, 42.99486162795807],
|
|
191
|
+
[74.21214208437436, 43.26799034589942],
|
|
192
|
+
[73.54918053004673, 43.03445951036437],
|
|
193
|
+
[73.43569691290458, 42.59058989745361],
|
|
194
|
+
[73.50713573720739, 42.42885549027292],
|
|
195
|
+
[73.32430827244477, 42.43964242187812],
|
|
196
|
+
[73.28138720704561, 42.524654623049486],
|
|
197
|
+
[72.89688006931604, 42.53825798475941],
|
|
198
|
+
[72.7028920768594, 42.65445195418786],
|
|
199
|
+
[71.8205490156389, 42.84297257066001],
|
|
200
|
+
[71.24172502287257, 42.76218198674192],
|
|
201
|
+
[70.96542642702568, 42.45295945325228],
|
|
202
|
+
[70.87574064610243, 42.288978943546994],
|
|
203
|
+
[70.93667564676599, 42.25956939262474],
|
|
204
|
+
[71.0522698554054, 42.28801700409892],
|
|
205
|
+
[71.26892670629547, 42.19664779423837],
|
|
206
|
+
[70.22467025584973, 41.6109136918285],
|
|
207
|
+
[70.1871419707528, 41.52357559397731],
|
|
208
|
+
[70.29521282660394, 41.5196557335768],
|
|
209
|
+
[70.4885172051716, 41.39563567019803],
|
|
210
|
+
[70.6908234400903, 41.47973822440426],
|
|
211
|
+
[70.78334977579652, 41.37596799777336],
|
|
212
|
+
[70.7936135992125, 41.23200478517444],
|
|
213
|
+
[71.40193377758987, 41.189890843929476],
|
|
214
|
+
[71.72132931443616, 41.463007098837124],
|
|
215
|
+
[72.25976659039807, 41.036213505586716],
|
|
216
|
+
[73.12473655458163, 40.821214468109844],
|
|
217
|
+
[71.8274169831183, 40.219535506292345],
|
|
218
|
+
[71.2093915709481, 40.35194316359275],
|
|
219
|
+
[70.70839519610914, 40.047767583705706],
|
|
220
|
+
[70.00814064760502, 40.19597188360018],
|
|
221
|
+
[69.3238929275289, 39.96163997362652],
|
|
222
|
+
[69.25288425833449, 39.8365015771121],
|
|
223
|
+
[69.36807176732333, 39.53622995828479],
|
|
224
|
+
[70.5656905159378, 39.611522993563625],
|
|
225
|
+
[70.81017094805003, 39.40296443017286],
|
|
226
|
+
[71.05478901580443, 39.42623263483682],
|
|
227
|
+
[71.09537841230028, 39.521081174175976],
|
|
228
|
+
[71.48723105871241, 39.61179598590786],
|
|
229
|
+
[71.80293870931277, 39.289369010362776],
|
|
230
|
+
[72.03176071465103, 39.344791211184486],
|
|
231
|
+
[72.22037536907436, 39.19478948035075],
|
|
232
|
+
[72.34794908849406, 39.34434407454637],
|
|
233
|
+
[73.15397827282933, 39.35800161267082],
|
|
234
|
+
[73.41580743762637, 39.46694232025965],
|
|
235
|
+
[73.60494023346439, 39.469004217709056],
|
|
236
|
+
[73.53306087489301, 39.24817612724672],
|
|
237
|
+
[73.8401473956308, 38.955283153545196],
|
|
238
|
+
[73.7178756559239, 38.88418224181672],
|
|
239
|
+
[73.84575285445322, 38.5733588129749],
|
|
240
|
+
[74.19825648155071, 38.625225936216],
|
|
241
|
+
[74.73465165940527, 38.39729684471283],
|
|
242
|
+
[74.94429646804616, 37.74563365375093],
|
|
243
|
+
[75.09730124153691, 37.34874288728962],
|
|
244
|
+
[74.47556092367677, 37.22736548435755],
|
|
245
|
+
[74.52571774786139, 37.04804932382365],
|
|
246
|
+
[72.64281263069017, 36.9965169904729],
|
|
247
|
+
[71.27151437563325, 36.14385342653641],
|
|
248
|
+
[71.70051938813555, 35.31553980310994],
|
|
249
|
+
[70.91367870839377, 34.02947262017156],
|
|
250
|
+
[69.8657881549984, 33.97753268150575],
|
|
251
|
+
[70.19479291508452, 33.38872790844742],
|
|
252
|
+
[69.48427263502771, 32.94309627730759],
|
|
253
|
+
[69.17043362955638, 31.802649394624297],
|
|
254
|
+
[66.5660130962763, 31.1468844695182],
|
|
255
|
+
[66.39058495939196, 29.902900359253024],
|
|
256
|
+
[64.20728972399988, 29.470320322411112],
|
|
257
|
+
[62.39830055544061, 29.433474533828033],
|
|
258
|
+
[60.82809795436239, 29.876493049104326],
|
|
259
|
+
[61.819412883544715, 28.5413645023537],
|
|
260
|
+
[62.838210084807116, 28.1758941784838],
|
|
261
|
+
[62.87712480493187, 26.710220153319582],
|
|
262
|
+
[61.95649723937791, 26.202543172995433],
|
|
263
|
+
[61.64164473778666, 25.062349569223997],
|
|
264
|
+
[66.89889168301036, 22.98946421817959],
|
|
265
|
+
],
|
|
266
|
+
],
|
|
267
|
+
[
|
|
268
|
+
[
|
|
269
|
+
[-79.49790751939359, 8.895517276865164],
|
|
270
|
+
[-80.09116426661198, 9.489400626216977],
|
|
271
|
+
[-71.5226805789838, 14.570830502555324],
|
|
272
|
+
[-64.296660455746, 16.87497218957077],
|
|
273
|
+
[-63.50670575144407, 19.468079078229948],
|
|
274
|
+
[-46.04319359052067, 49.81687541607755],
|
|
275
|
+
[-57.24573007399778, 67.81957009723368],
|
|
276
|
+
[-74.74198803509906, 76.55978940288878],
|
|
277
|
+
[-73.60375960527375, 78.39636019182609],
|
|
278
|
+
[-67.92218140574312, 80.61698801540712],
|
|
279
|
+
[-59.076220860081435, 82.41962573871615],
|
|
280
|
+
[-68.9778162806643, 85.05112877980659],
|
|
281
|
+
[-169.10721706859002, 69.87119013352208],
|
|
282
|
+
[-168.82669211383998, 64.59846733544799],
|
|
283
|
+
[-172.31141325730604, 63.991833108168834],
|
|
284
|
+
[-192.1254235906623, 52.646873605362146],
|
|
285
|
+
[-166.3003429543922, 12.967564352770154],
|
|
286
|
+
[-79.6692367415715, 4.562414945897046],
|
|
287
|
+
[-79.49790751939359, 8.895517276865164],
|
|
288
|
+
],
|
|
289
|
+
],
|
|
290
|
+
]);
|
|
291
|
+
const japanConventionGeometry = turf.polygon([
|
|
292
|
+
[
|
|
293
|
+
[122.40443764161375, 24.25555191895947],
|
|
294
|
+
[123.22422482046358, 22.664415921202675],
|
|
295
|
+
[131.6668409404955, 27.1734104531445],
|
|
296
|
+
[141.6724497786463, 33.41882632781292],
|
|
297
|
+
[152.21247459573226, 45.19087135255526],
|
|
298
|
+
[154.7040665173107, 48.05238412051253],
|
|
299
|
+
[149.47388354609916, 49.86405083649407],
|
|
300
|
+
[144.62198341555745, 55.122855332829886],
|
|
301
|
+
[141.85000003174838, 54.453056889632535],
|
|
302
|
+
[141.56865023975553, 53.237305271866575],
|
|
303
|
+
[141.5658284519161, 52.12730212591498],
|
|
304
|
+
[140.86177532698593, 47.83608043534858],
|
|
305
|
+
[129.38176008175282, 34.88162789041118],
|
|
306
|
+
[122.40443764161375, 24.25555191895947],
|
|
307
|
+
],
|
|
308
|
+
]);
|
|
309
|
+
/**
|
|
310
|
+
* Determines the run difficulty convention for a given geographic location.
|
|
311
|
+
* Based on the center point of the geometry, returns the appropriate regional
|
|
312
|
+
* convention for ski run difficulty ratings.
|
|
313
|
+
*
|
|
314
|
+
* @param geojson - GeoJSON geometry to determine the center location from
|
|
315
|
+
* @returns The appropriate run difficulty convention for the location
|
|
316
|
+
* @throws Error if the center of geometry cannot be determined
|
|
317
|
+
*/
|
|
318
|
+
function getRunDifficultyConvention(geojson) {
|
|
319
|
+
const point = (0, center_1.default)(geojson).geometry;
|
|
320
|
+
if (!point) {
|
|
321
|
+
throw "Cannot determine center of geometry";
|
|
322
|
+
}
|
|
323
|
+
if ((0, boolean_point_in_polygon_1.default)(point, japanConventionGeometry)) {
|
|
324
|
+
return RunDifficultyConvention.JAPAN;
|
|
325
|
+
}
|
|
326
|
+
else if ((0, boolean_point_in_polygon_1.default)(point, northAmericanConventionGeometry)) {
|
|
327
|
+
return RunDifficultyConvention.NORTH_AMERICA;
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
return RunDifficultyConvention.EUROPE;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
//# sourceMappingURL=RunDifficultyConvention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunDifficultyConvention.js","sourceRoot":"","sources":["../src/RunDifficultyConvention.ts"],"names":[],"mappings":";;;AA8TA,gEAeC;;AA7UD,sGAAmE;AACnE,kEAAsC;AACtC,4DAAsC;AAGtC;;;GAGG;AACH,IAAY,uBA4BX;AA5BD,WAAY,uBAAuB;IACjC;;;;;;;OAOG;IACH,4CAAiB,CAAA;IAEjB;;;;;;OAMG;IACH,0CAAe,CAAA;IAEf;;;;;;OAMG;IACH,0DAA+B,CAAA;AACjC,CAAC,EA5BW,uBAAuB,uCAAvB,uBAAuB,QA4BlC;AAED,MAAM,+BAA+B,GAAG,IAAI,CAAC,YAAY,CAAC;IACxD;QACE;YACE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;YACxC,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;YACzC,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACtC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACtC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YACtC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YACvC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YACxC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACtC,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACrC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YACrC,CAAC,iBAAiB,EAAE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"}
|
package/dist/SkiArea.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FeatureType } from './FeatureType';
|
|
2
2
|
import { LiftType } from './Lift';
|
|
3
3
|
import { Location } from './Location';
|
|
4
|
-
import { RunDifficulty
|
|
4
|
+
import { RunDifficulty } from './Run';
|
|
5
|
+
import { RunDifficultyConvention } from './RunDifficultyConvention';
|
|
5
6
|
import { SnowCoverHistory } from './SnowCoverHistory';
|
|
6
7
|
import { Source } from './Source';
|
|
7
8
|
import { Status } from './Status';
|
package/dist/SkiArea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkiArea.js","sourceRoot":"","sources":["../src/SkiArea.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SkiArea.js","sourceRoot":"","sources":["../src/SkiArea.ts"],"names":[],"mappings":";;;AAsEA,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { RunDifficulty, RunFeature, RunUse } from "./Run";
|
|
2
|
+
import { RunDifficultyConvention } from "./RunDifficultyConvention";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a slope grading scale with steepness thresholds for different run types.
|
|
5
|
+
* Used to estimate run difficulty based on slope steepness. Each scale defines
|
|
6
|
+
* threshold points where the difficulty classification changes based on gradient.
|
|
7
|
+
*/
|
|
8
|
+
export type SlopeGradingScale = {
|
|
9
|
+
/** Stops must be ordered ascending by steepness */
|
|
10
|
+
stops: {
|
|
11
|
+
maxSteepness: number;
|
|
12
|
+
difficulty: RunDifficulty | null;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Gets the appropriate slope grading scale for a run based on its use types.
|
|
17
|
+
* Different run uses (downhill, nordic, etc.) have different steepness thresholds
|
|
18
|
+
* for difficulty classification due to the nature of the activity and equipment used.
|
|
19
|
+
*
|
|
20
|
+
* @param feature - The run feature to get the grading scale for
|
|
21
|
+
* @returns The appropriate slope grading scale with steepness thresholds
|
|
22
|
+
*/
|
|
23
|
+
export declare function getSlopeGradingScale(feature: RunFeature): SlopeGradingScale;
|
|
24
|
+
/**
|
|
25
|
+
* Estimates the run difficulty based on steepness and the provided slope grading scale.
|
|
26
|
+
* Uses the absolute value of steepness to handle both uphill and downhill slopes.
|
|
27
|
+
* Finds the first threshold that the steepness falls under.
|
|
28
|
+
*
|
|
29
|
+
* @param steepness - The steepness value (slope gradient as a decimal, e.g., 0.1 = 10%)
|
|
30
|
+
* @param scale - The slope grading scale with steepness thresholds
|
|
31
|
+
* @returns The estimated difficulty based on steepness, or null if no match or below minimum threshold
|
|
32
|
+
*/
|
|
33
|
+
export declare function getEstimatedRunDifficulty(steepness: number, scale: SlopeGradingScale): RunDifficulty | null;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the appropriate slope grading scale for a specific run use and region.
|
|
36
|
+
* Different run uses (downhill, nordic, etc.) have different steepness thresholds
|
|
37
|
+
* for difficulty classification. This function allows for regional variations
|
|
38
|
+
* in the future if different conventions use different slope scales.
|
|
39
|
+
*
|
|
40
|
+
* @param runUse - The type of run use to get the grading scale for
|
|
41
|
+
* @param convention - The regional difficulty convention (currently not used but available for future regional variations)
|
|
42
|
+
* @returns The appropriate slope grading scale with steepness thresholds
|
|
43
|
+
*/
|
|
44
|
+
export declare function getSlopeGradingScaleForUse(runUse: RunUse, convention: RunDifficultyConvention): SlopeGradingScale;
|