openskidata-format 3.0.0 → 3.2.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/Lift.d.ts CHANGED
@@ -12,7 +12,8 @@ export type LiftGeometry = GeoJSON.Point | GeoJSON.MultiPoint | GeoJSON.LineStri
12
12
  *
13
13
  * Note:
14
14
  * - Private lifts are not included in this dataset.
15
- * - Rack railways are included only if they are part of a site=piste relation.
15
+ * - Railways (except funiculars) are included only if they are part of a site=piste relation.
16
+ * - Railway parts are not merged together so a single railway line may be represented as multiple features.
16
17
  * - Some lifts included in the dataset may be for other purposes (amusement parks, etc).
17
18
  *
18
19
  * Properties:
@@ -71,6 +72,7 @@ export declare enum LiftType {
71
72
  }
72
73
  export type LiftElevationData = ElevationData & {
73
74
  speedInMetersPerSecond: number | null;
75
+ verticalSpeedInMetersPerSecond: number | null;
74
76
  };
75
77
  export declare function getLiftElevationData(feature: LiftFeature): LiftElevationData | null;
76
78
  export declare function getFormattedLiftType(liftType: LiftType): string;
package/dist/Lift.js CHANGED
@@ -36,6 +36,9 @@ function getLiftElevationData(feature) {
36
36
  speedInMetersPerSecond: durationInSeconds
37
37
  ? elevationData.inclinedLengthInMeters / durationInSeconds
38
38
  : null,
39
+ verticalSpeedInMetersPerSecond: durationInSeconds
40
+ ? elevationData.verticalInMeters / durationInSeconds
41
+ : null,
39
42
  };
40
43
  }
41
44
  function getFormattedLiftType(liftType) {
package/dist/Lift.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Lift.js","sourceRoot":"","sources":["../src/Lift.ts"],"names":[],"mappings":";;;AAuFA,oDAqBC;AAED,oDA6BC;AAED,oCAgBC;AA7JD,yDAAoE;AAIpE,qCAAiC;AACjC,4EAAwE;AA+DxE,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,kCAAsB,CAAA;IACtB,+BAAmB,CAAA;IACnB,oCAAwB,CAAA;IACxB,oCAAwB,CAAA;IACxB,kCAAsB,CAAA;IACtB,0BAAc,CAAA;IACd,0BAAc,CAAA;IACd,+BAAmB,CAAA;IACnB,gCAAoB,CAAA;IACpB,wCAA4B,CAAA;IAC5B,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;AACrB,CAAC,EAbW,QAAQ,wBAAR,QAAQ,QAanB;AAMD,SAAgB,oBAAoB,CAClC,OAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IACE,CAAC,QAAQ;QACT,QAAQ,CAAC,IAAI,KAAK,YAAY;QAC9B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,mCAAgB,EAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;IAErD,OAAO;QACL,GAAG,aAAa;QAChB,sBAAsB,EAAE,iBAAiB;YACvC,CAAC,CAAC,aAAa,CAAC,sBAAsB,GAAG,iBAAiB;YAC1D,CAAC,CAAC,IAAI;KACT,CAAA;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAkB;IACrD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,QAAQ,CAAA;QACjB,KAAK,QAAQ,CAAC,QAAQ;YACpB,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,OAAO,CAAA;QAChB,KAAK,QAAQ,CAAC,IAAI;YAChB,OAAO,OAAO,CAAA;QAChB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB,KAAK,QAAQ,CAAC,WAAW;YACvB,OAAO,cAAc,CAAA;QACvB,KAAK,QAAQ,CAAC,SAAS;YACrB,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB;YACE,OAAO,IAAA,iDAAuB,EAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;IAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAA;IAExC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,eAAM,CAAC,OAAO,CAAC;QACpB,KAAK,eAAM,CAAC,SAAS;YACnB,OAAO,aAAa,CAAA;QACtB,KAAK,eAAM,CAAC,QAAQ,CAAC;QACrB,KAAK,eAAM,CAAC,OAAO,CAAC;QACpB,KAAK,eAAM,CAAC,YAAY,CAAC;QACzB,KAAK,eAAM,CAAC,SAAS;YACnB,OAAO,gBAAgB,CAAA;QACzB;YACE,OAAO,IAAA,iDAAuB,EAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Lift.js","sourceRoot":"","sources":["../src/Lift.ts"],"names":[],"mappings":"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"}
@@ -35,21 +35,8 @@ function getAugmentedLiftType(properties) {
35
35
  if (liftType !== null) {
36
36
  components.push(liftType);
37
37
  }
38
- if (properties.duration !== null) {
39
- if (components.length > 0) {
40
- components.push('-');
41
- }
42
- components.push(formattedDuration(properties.duration));
43
- }
44
38
  return components.join(' ');
45
39
  }
46
- function formattedDuration(duration) {
47
- const minutes = Math.floor(duration / 60)
48
- .toString()
49
- .padStart(2, '0');
50
- const seconds = (duration % 60).toString().padStart(2, '0');
51
- return `${minutes}:${seconds}`;
52
- }
53
40
  function implicitOccupancyLiftType(properties) {
54
41
  const occupancy = properties.occupancy;
55
42
  if (properties.liftType === Lift_1.LiftType.ChairLift) {
@@ -1 +1 @@
1
- {"version":3,"file":"LiftNameFormatter.js","sourceRoot":"","sources":["../src/LiftNameFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiftNameFormatter.js","sourceRoot":"","sources":["../src/LiftNameFormatter.ts"],"names":[],"mappings":";;AAEA,gDAYC;AAdD,iCAAuE;AAEvE,SAAgB,kBAAkB,CAAC,UAA0B;IAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAE5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAEjD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,KAAK,QAAQ,GAAG,CAAA;IAChC,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA0B;IACtD,MAAM,UAAU,GAAG,EAAE,CAAA;IAErB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAA;IACjC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,IACE,MAAM,KAAK,IAAI;QACf,UAAU,CAAC,QAAQ,KAAK,eAAQ,CAAC,QAAQ;QACzC,UAAU,CAAC,QAAQ,KAAK,eAAQ,CAAC,OAAO,EACxC,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QAC7D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,QAAQ,GACZ,yBAAyB,CAAC,UAAU,CAAC;QACrC,IAAA,2BAAoB,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA0B;IAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACtC,IAAI,UAAU,CAAC,QAAQ,KAAK,eAAQ,CAAC,SAAS,EAAE,CAAC;QAC/C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC;gBACJ,OAAO,QAAQ,CAAA;YACjB,KAAK,CAAC;gBACJ,OAAO,QAAQ,CAAA;YACjB,KAAK,CAAC;gBACJ,OAAO,QAAQ,CAAA;YACjB,KAAK,CAAC;gBACJ,OAAO,MAAM,CAAA;YACf;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,QAAQ,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5B,KAAK,eAAQ,CAAC,IAAI;YAChB,OAAO,OAAO,CAAA;QAChB,KAAK,eAAQ,CAAC,IAAI;YAChB,OAAO,OAAO,CAAA;QAChB,KAAK,eAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB,KAAK,eAAQ,CAAC,OAAO;YACnB,OAAO,SAAS,CAAA;QAClB,KAAK,eAAQ,CAAC,WAAW;YACvB,OAAO,cAAc,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA0B;IACrD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAA;IAC9D,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE;QAClC,OAAO;QACP,OAAO;QACP,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAoB,EAAE,mBAA6B;IACtE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAC1C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openskidata-format",
3
- "version": "3.0.0",
3
+ "version": "3.2.0",
4
4
  "description": "Data format for OpenSkiMap.org",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/Lift.ts CHANGED
@@ -22,7 +22,8 @@ export type LiftGeometry =
22
22
  *
23
23
  * Note:
24
24
  * - Private lifts are not included in this dataset.
25
- * - Rack railways are included only if they are part of a site=piste relation.
25
+ * - Railways (except funiculars) are included only if they are part of a site=piste relation.
26
+ * - Railway parts are not merged together so a single railway line may be represented as multiple features.
26
27
  * - Some lifts included in the dataset may be for other purposes (amusement parks, etc).
27
28
  *
28
29
  * Properties:
@@ -83,6 +84,7 @@ export enum LiftType {
83
84
 
84
85
  export type LiftElevationData = ElevationData & {
85
86
  speedInMetersPerSecond: number | null
87
+ verticalSpeedInMetersPerSecond: number | null
86
88
  }
87
89
 
88
90
  export function getLiftElevationData(
@@ -105,6 +107,9 @@ export function getLiftElevationData(
105
107
  speedInMetersPerSecond: durationInSeconds
106
108
  ? elevationData.inclinedLengthInMeters / durationInSeconds
107
109
  : null,
110
+ verticalSpeedInMetersPerSecond: durationInSeconds
111
+ ? elevationData.verticalInMeters / durationInSeconds
112
+ : null,
108
113
  }
109
114
  }
110
115
 
@@ -42,24 +42,9 @@ function getAugmentedLiftType(properties: LiftProperties): string | null {
42
42
  components.push(liftType)
43
43
  }
44
44
 
45
- if (properties.duration !== null) {
46
- if (components.length > 0) {
47
- components.push('-')
48
- }
49
- components.push(formattedDuration(properties.duration))
50
- }
51
-
52
45
  return components.join(' ')
53
46
  }
54
47
 
55
- function formattedDuration(duration: number): string {
56
- const minutes = Math.floor(duration / 60)
57
- .toString()
58
- .padStart(2, '0')
59
- const seconds = (duration % 60).toString().padStart(2, '0')
60
- return `${minutes}:${seconds}`
61
- }
62
-
63
48
  function implicitOccupancyLiftType(properties: LiftProperties): string | null {
64
49
  const occupancy = properties.occupancy
65
50
  if (properties.liftType === LiftType.ChairLift) {