@vaadin/bundles 25.0.0-alpha3 → 25.0.0-alpha5

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.
Files changed (192) hide show
  1. package/node_modules_ol_ImageCanvas_js.js +76 -83
  2. package/node_modules_ol_ImageCanvas_js.js.map +1 -1
  3. package/node_modules_ol_TileRange_js.js +128 -110
  4. package/node_modules_ol_TileRange_js.js.map +1 -1
  5. package/node_modules_ol_Tile_js.js +279 -0
  6. package/node_modules_ol_Tile_js.js.map +1 -0
  7. package/node_modules_ol_VectorRenderTile_js.js +428 -143
  8. package/node_modules_ol_VectorRenderTile_js.js.map +1 -1
  9. package/node_modules_ol_VectorTile_js.js +405 -119
  10. package/node_modules_ol_VectorTile_js.js.map +1 -1
  11. package/node_modules_ol_control_MousePosition_js.js +327 -0
  12. package/node_modules_ol_control_MousePosition_js.js.map +1 -0
  13. package/node_modules_ol_control_ZoomToExtent_js.js +118 -0
  14. package/node_modules_ol_control_ZoomToExtent_js.js.map +1 -0
  15. package/node_modules_ol_events_SnapEvent_js.js +79 -0
  16. package/node_modules_ol_events_SnapEvent_js.js.map +1 -0
  17. package/node_modules_ol_featureloader_js.js +205 -0
  18. package/node_modules_ol_featureloader_js.js.map +1 -0
  19. package/node_modules_ol_geom_Circle_js.js +300 -0
  20. package/node_modules_ol_geom_Circle_js.js.map +1 -0
  21. package/node_modules_ol_geom_GeometryCollection_js.js +369 -0
  22. package/node_modules_ol_geom_GeometryCollection_js.js.map +1 -0
  23. package/node_modules_ol_geom_MultiPoint_js.js +228 -0
  24. package/node_modules_ol_geom_MultiPoint_js.js.map +1 -0
  25. package/node_modules_ol_geom_flat_center_js.js +47 -0
  26. package/node_modules_ol_geom_flat_center_js.js.map +1 -0
  27. package/node_modules_ol_geom_flat_geodesic_js.js +123 -88
  28. package/node_modules_ol_geom_flat_geodesic_js.js.map +1 -1
  29. package/node_modules_ol_geom_flat_interpolate_js.js +230 -0
  30. package/node_modules_ol_geom_flat_interpolate_js.js.map +1 -0
  31. package/node_modules_ol_geom_flat_length_js-_375a0.js +58 -0
  32. package/node_modules_ol_geom_flat_length_js-_375a0.js.map +1 -0
  33. package/node_modules_ol_geom_flat_length_js-_375a1.js +58 -0
  34. package/node_modules_ol_geom_flat_length_js-_375a1.js.map +1 -0
  35. package/node_modules_ol_geom_flat_length_js-_375a2.js +58 -0
  36. package/node_modules_ol_geom_flat_length_js-_375a2.js.map +1 -0
  37. package/node_modules_ol_geom_flat_length_js-_375a3.js +58 -0
  38. package/node_modules_ol_geom_flat_length_js-_375a3.js.map +1 -0
  39. package/node_modules_ol_geom_flat_length_js-_375a4.js +58 -0
  40. package/node_modules_ol_geom_flat_length_js-_375a4.js.map +1 -0
  41. package/node_modules_ol_geom_flat_linechunk_js.js +76 -0
  42. package/node_modules_ol_geom_flat_linechunk_js.js.map +1 -0
  43. package/node_modules_ol_geom_flat_straightchunk_js.js +68 -0
  44. package/node_modules_ol_geom_flat_straightchunk_js.js.map +1 -0
  45. package/node_modules_ol_geom_flat_textpath_js.js +178 -0
  46. package/node_modules_ol_geom_flat_textpath_js.js.map +1 -0
  47. package/node_modules_ol_interaction_DblClickDragZoom_js.js +285 -0
  48. package/node_modules_ol_interaction_DblClickDragZoom_js.js.map +1 -0
  49. package/node_modules_ol_interaction_DragAndDrop_js.js +351 -0
  50. package/node_modules_ol_interaction_DragAndDrop_js.js.map +1 -0
  51. package/node_modules_ol_interaction_DragRotateAndZoom_js.js +159 -0
  52. package/node_modules_ol_interaction_DragRotateAndZoom_js.js.map +1 -0
  53. package/node_modules_ol_layer_Vector_js-_49290.js +110 -0
  54. package/node_modules_ol_layer_Vector_js-_49290.js.map +1 -0
  55. package/node_modules_ol_layer_Vector_js-_49291.js +110 -0
  56. package/node_modules_ol_layer_Vector_js-_49291.js.map +1 -0
  57. package/node_modules_ol_layer_Vector_js-_49292.js +110 -0
  58. package/node_modules_ol_layer_Vector_js-_49292.js.map +1 -0
  59. package/node_modules_ol_layer_Vector_js-_49293.js +110 -0
  60. package/node_modules_ol_layer_Vector_js-_49293.js.map +1 -0
  61. package/node_modules_ol_loadingstrategy_js.js +95 -0
  62. package/node_modules_ol_loadingstrategy_js.js.map +1 -0
  63. package/node_modules_ol_render_VectorContext_js-_3ad60.js +144 -0
  64. package/node_modules_ol_render_VectorContext_js-_3ad60.js.map +1 -0
  65. package/node_modules_ol_render_VectorContext_js-_3ad61.js +144 -0
  66. package/node_modules_ol_render_VectorContext_js-_3ad61.js.map +1 -0
  67. package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js +372 -0
  68. package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js.map +1 -0
  69. package/node_modules_ol_render_canvas_ImageBuilder_js.js +318 -0
  70. package/node_modules_ol_render_canvas_ImageBuilder_js.js.map +1 -0
  71. package/node_modules_ol_render_canvas_Instruction_js.js +66 -0
  72. package/node_modules_ol_render_canvas_Instruction_js.js.map +1 -0
  73. package/node_modules_ol_render_canvas_LineStringBuilder_js.js +187 -0
  74. package/node_modules_ol_render_canvas_LineStringBuilder_js.js.map +1 -0
  75. package/node_modules_ol_render_canvas_PolygonBuilder_js.js +276 -0
  76. package/node_modules_ol_render_canvas_PolygonBuilder_js.js.map +1 -0
  77. package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js +156 -0
  78. package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js.map +1 -0
  79. package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js +156 -0
  80. package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js.map +1 -0
  81. package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js +301 -0
  82. package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js.map +1 -0
  83. package/node_modules_ol_renderer_Layer_js.js +219 -0
  84. package/node_modules_ol_renderer_Layer_js.js.map +1 -0
  85. package/node_modules_ol_source_Source_js.js +256 -0
  86. package/node_modules_ol_source_Source_js.js.map +1 -0
  87. package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js +318 -0
  88. package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js.map +1 -0
  89. package/node_modules_ol_source_VectorEventType_js.js +80 -0
  90. package/node_modules_ol_source_VectorEventType_js.js.map +1 -0
  91. package/node_modules_ol_structs_RBush_js.js +242 -0
  92. package/node_modules_ol_structs_RBush_js.js.map +1 -0
  93. package/node_modules_ol_style_js.js +2 -1
  94. package/node_modules_ol_style_js.js.map +1 -1
  95. package/node_modules_rbush_rbush_min_js.js +16 -0
  96. package/node_modules_rbush_rbush_min_js.js.map +1 -0
  97. package/package.json +142 -146
  98. package/vaadin-bundle.json +2447 -2352
  99. package/vaadin.js +52246 -63791
  100. package/vaadin.js.map +1 -1
  101. package/vendors-node_modules_dompurify_dist_purify_es_mjs.js +1364 -0
  102. package/vendors-node_modules_dompurify_dist_purify_es_mjs.js.map +1 -0
  103. package/vendors-node_modules_dompurify_dist_purify_js.js +26 -21
  104. package/vendors-node_modules_dompurify_dist_purify_js.js.map +1 -1
  105. package/vendors-node_modules_marked_lib_marked_esm_js.js +2205 -0
  106. package/vendors-node_modules_marked_lib_marked_esm_js.js.map +1 -0
  107. package/vendors-node_modules_marked_lib_marked_umd_js.js +2164 -2556
  108. package/vendors-node_modules_marked_lib_marked_umd_js.js.map +1 -1
  109. package/vendors-node_modules_ol_Feature_js.js +360 -0
  110. package/vendors-node_modules_ol_Feature_js.js.map +1 -0
  111. package/vendors-node_modules_ol_Geolocation_js.js +352 -293
  112. package/vendors-node_modules_ol_Geolocation_js.js.map +1 -1
  113. package/vendors-node_modules_ol_ImageTile_js.js +494 -0
  114. package/vendors-node_modules_ol_ImageTile_js.js.map +1 -0
  115. package/vendors-node_modules_ol_Overlay_js.js +606 -0
  116. package/vendors-node_modules_ol_Overlay_js.js.map +1 -0
  117. package/vendors-node_modules_ol_control_FullScreen_js.js +417 -0
  118. package/vendors-node_modules_ol_control_FullScreen_js.js.map +1 -0
  119. package/vendors-node_modules_ol_control_OverviewMap_js.js +711 -0
  120. package/vendors-node_modules_ol_control_OverviewMap_js.js.map +1 -0
  121. package/vendors-node_modules_ol_control_ScaleLine_js.js +509 -0
  122. package/vendors-node_modules_ol_control_ScaleLine_js.js.map +1 -0
  123. package/vendors-node_modules_ol_control_ZoomSlider_js.js +418 -0
  124. package/vendors-node_modules_ol_control_ZoomSlider_js.js.map +1 -0
  125. package/vendors-node_modules_ol_control_js.js +490 -0
  126. package/vendors-node_modules_ol_control_js.js.map +1 -0
  127. package/vendors-node_modules_ol_geom_LineString_js.js +574 -0
  128. package/vendors-node_modules_ol_geom_LineString_js.js.map +1 -0
  129. package/vendors-node_modules_ol_geom_MultiLineString_js.js +405 -0
  130. package/vendors-node_modules_ol_geom_MultiLineString_js.js.map +1 -0
  131. package/vendors-node_modules_ol_geom_MultiPolygon_js.js +773 -0
  132. package/vendors-node_modules_ol_geom_MultiPolygon_js.js.map +1 -0
  133. package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js +769 -0
  134. package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js.map +1 -0
  135. package/vendors-node_modules_ol_index_js.js +526 -675
  136. package/vendors-node_modules_ol_index_js.js.map +1 -1
  137. package/vendors-node_modules_ol_interaction_Draw_js.js +2777 -0
  138. package/vendors-node_modules_ol_interaction_Draw_js.js.map +1 -0
  139. package/vendors-node_modules_ol_interaction_Extent_js.js +586 -0
  140. package/vendors-node_modules_ol_interaction_Extent_js.js.map +1 -0
  141. package/vendors-node_modules_ol_interaction_Link_js.js +489 -0
  142. package/vendors-node_modules_ol_interaction_Link_js.js.map +1 -0
  143. package/vendors-node_modules_ol_interaction_Modify_js.js +1841 -0
  144. package/vendors-node_modules_ol_interaction_Modify_js.js.map +1 -0
  145. package/vendors-node_modules_ol_interaction_Select_js.js +623 -0
  146. package/vendors-node_modules_ol_interaction_Select_js.js.map +1 -0
  147. package/vendors-node_modules_ol_interaction_Snap_js.js +982 -0
  148. package/vendors-node_modules_ol_interaction_Snap_js.js.map +1 -0
  149. package/vendors-node_modules_ol_interaction_Translate_js.js +466 -0
  150. package/vendors-node_modules_ol_interaction_Translate_js.js.map +1 -0
  151. package/vendors-node_modules_ol_interaction_js.js +872 -0
  152. package/vendors-node_modules_ol_interaction_js.js.map +1 -0
  153. package/vendors-node_modules_ol_layer_Graticule_js.js +1374 -989
  154. package/vendors-node_modules_ol_layer_Graticule_js.js.map +1 -1
  155. package/vendors-node_modules_ol_render_Feature_js.js +546 -0
  156. package/vendors-node_modules_ol_render_Feature_js.js.map +1 -0
  157. package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js +897 -0
  158. package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js.map +1 -0
  159. package/vendors-node_modules_ol_render_canvas_Builder_js.js +907 -0
  160. package/vendors-node_modules_ol_render_canvas_Builder_js.js.map +1 -0
  161. package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js +539 -0
  162. package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js.map +1 -0
  163. package/vendors-node_modules_ol_render_canvas_Executor_js.js +1715 -0
  164. package/vendors-node_modules_ol_render_canvas_Executor_js.js.map +1 -0
  165. package/vendors-node_modules_ol_render_canvas_Immediate_js.js +1208 -0
  166. package/vendors-node_modules_ol_render_canvas_Immediate_js.js.map +1 -0
  167. package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js +825 -0
  168. package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js.map +1 -0
  169. package/vendors-node_modules_ol_renderer_canvas_Layer_js.js +654 -0
  170. package/vendors-node_modules_ol_renderer_canvas_Layer_js.js.map +1 -0
  171. package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js +1044 -0
  172. package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js.map +1 -0
  173. package/vendors-node_modules_ol_renderer_vector_js.js +460 -0
  174. package/vendors-node_modules_ol_renderer_vector_js.js.map +1 -0
  175. package/vendors-node_modules_ol_source_Vector_js.js +2091 -0
  176. package/vendors-node_modules_ol_source_Vector_js.js.map +1 -0
  177. package/node_modules_ol_ImageTile_js.js +0 -177
  178. package/node_modules_ol_ImageTile_js.js.map +0 -1
  179. package/node_modules_ol_render_js.js +0 -131
  180. package/node_modules_ol_render_js.js.map +0 -1
  181. package/node_modules_ol_structs_LRUCache_js.js +0 -275
  182. package/node_modules_ol_structs_LRUCache_js.js.map +0 -1
  183. package/node_modules_ol_tilecoord_js.js +0 -115
  184. package/node_modules_ol_tilecoord_js.js.map +0 -1
  185. package/vendors-node_modules_ol_TileCache_js.js +0 -461
  186. package/vendors-node_modules_ol_TileCache_js.js.map +0 -1
  187. package/vendors-node_modules_ol_Tile_js.js +0 -330
  188. package/vendors-node_modules_ol_Tile_js.js.map +0 -1
  189. package/vendors-node_modules_ol_style_Text_js.js +0 -509
  190. package/vendors-node_modules_ol_style_Text_js.js.map +0 -1
  191. package/vendors-node_modules_rbush_index_js.js +0 -531
  192. package/vendors-node_modules_rbush_index_js.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_modules_ol_geom_flat_center_js.js","mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AAC+E;;AAE/E;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,sBAAsB;AACjC,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP;AACA,eAAe,uDAAW;AAC1B,qCAAqC,QAAQ;AAC7C;AACA,aAAa,6EAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@vaadin/bundles/./node_modules/ol/geom/flat/center.js"],"sourcesContent":["/**\n * @module ol/geom/flat/center\n */\nimport {createEmpty, createOrUpdateFromFlatCoordinates} from '../../extent.js';\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array<Array<number>>} endss Endss.\n * @param {number} stride Stride.\n * @return {Array<number>} Flat centers.\n */\nexport function linearRingss(flatCoordinates, offset, endss, stride) {\n const flatCenters = [];\n let extent = createEmpty();\n for (let i = 0, ii = endss.length; i < ii; ++i) {\n const ends = endss[i];\n extent = createOrUpdateFromFlatCoordinates(\n flatCoordinates,\n offset,\n ends[0],\n stride,\n );\n flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2);\n offset = ends[ends.length - 1];\n }\n return flatCenters;\n}\n"],"names":[],"sourceRoot":""}
@@ -12,13 +12,14 @@ __webpack_require__.r(__webpack_exports__);
12
12
  /* harmony export */ "meridian": () => (/* binding */ meridian),
13
13
  /* harmony export */ "parallel": () => (/* binding */ parallel)
14
14
  /* harmony export */ });
15
- /* harmony import */ var _proj_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../proj.js */ "./node_modules/ol/proj.js");
16
15
  /* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math.js */ "./node_modules/ol/math.js");
16
+ /* harmony import */ var _proj_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../proj.js */ "./node_modules/ol/proj.js");
17
17
  /**
18
18
  * @module ol/geom/flat/geodesic
19
19
  */
20
20
 
21
21
 
22
+
22
23
  /**
23
24
  * @param {function(number): import("../../coordinate.js").Coordinate} interpolate Interpolate function.
24
25
  * @param {import("../../proj.js").TransformFunction} transform Transform from longitude/latitude to
@@ -27,62 +28,72 @@ __webpack_require__.r(__webpack_exports__);
27
28
  * @return {Array<number>} Flat coordinates.
28
29
  */
29
30
  function line(interpolate, transform, squaredTolerance) {
30
- // FIXME reduce garbage generation
31
- // FIXME optimize stack operations
32
- /** @type {Array<number>} */
33
- var flatCoordinates = [];
34
- var geoA = interpolate(0);
35
- var geoB = interpolate(1);
36
- var a = transform(geoA);
37
- var b = transform(geoB);
38
- /** @type {Array<import("../../coordinate.js").Coordinate>} */
39
- var geoStack = [geoB, geoA];
40
- /** @type {Array<import("../../coordinate.js").Coordinate>} */
41
- var stack = [b, a];
42
- /** @type {Array<number>} */
43
- var fractionStack = [1, 0];
44
- /** @type {!Object<string, boolean>} */
45
- var fractions = {};
46
- var maxIterations = 1e5;
47
- var geoM, m, fracA, fracB, fracM, key;
48
- while (--maxIterations > 0 && fractionStack.length > 0) {
49
- // Pop the a coordinate off the stack
50
- fracA = fractionStack.pop();
51
- geoA = geoStack.pop();
52
- a = stack.pop();
53
- // Add the a coordinate if it has not been added yet
54
- key = fracA.toString();
55
- if (!(key in fractions)) {
56
- flatCoordinates.push(a[0], a[1]);
57
- fractions[key] = true;
58
- }
59
- // Pop the b coordinate off the stack
60
- fracB = fractionStack.pop();
61
- geoB = geoStack.pop();
62
- b = stack.pop();
63
- // Find the m point between the a and b coordinates
64
- fracM = (fracA + fracB) / 2;
65
- geoM = interpolate(fracM);
66
- m = transform(geoM);
67
- if ((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.squaredSegmentDistance)(m[0], m[1], a[0], a[1], b[0], b[1]) <
68
- squaredTolerance) {
69
- // If the m point is sufficiently close to the straight line, then we
70
- // discard it. Just use the b coordinate and move on to the next line
71
- // segment.
72
- flatCoordinates.push(b[0], b[1]);
73
- key = fracB.toString();
74
- fractions[key] = true;
75
- }
76
- else {
77
- // Otherwise, we need to subdivide the current line segment. Split it
78
- // into two and push the two line segments onto the stack.
79
- fractionStack.push(fracB, fracM, fracM, fracA);
80
- stack.push(b, m, m, a);
81
- geoStack.push(geoB, geoM, geoM, geoA);
82
- }
31
+ // FIXME reduce garbage generation
32
+ // FIXME optimize stack operations
33
+
34
+ /** @type {Array<number>} */
35
+ const flatCoordinates = [];
36
+
37
+ let geoA = interpolate(0);
38
+ let geoB = interpolate(1);
39
+
40
+ let a = transform(geoA);
41
+ let b = transform(geoB);
42
+
43
+ /** @type {Array<import("../../coordinate.js").Coordinate>} */
44
+ const geoStack = [geoB, geoA];
45
+ /** @type {Array<import("../../coordinate.js").Coordinate>} */
46
+ const stack = [b, a];
47
+ /** @type {Array<number>} */
48
+ const fractionStack = [1, 0];
49
+
50
+ /** @type {!Object<string, boolean>} */
51
+ const fractions = {};
52
+
53
+ let maxIterations = 1e5;
54
+ let geoM, m, fracA, fracB, fracM, key;
55
+
56
+ while (--maxIterations > 0 && fractionStack.length > 0) {
57
+ // Pop the a coordinate off the stack
58
+ fracA = fractionStack.pop();
59
+ geoA = geoStack.pop();
60
+ a = stack.pop();
61
+ // Add the a coordinate if it has not been added yet
62
+ key = fracA.toString();
63
+ if (!(key in fractions)) {
64
+ flatCoordinates.push(a[0], a[1]);
65
+ fractions[key] = true;
66
+ }
67
+ // Pop the b coordinate off the stack
68
+ fracB = fractionStack.pop();
69
+ geoB = geoStack.pop();
70
+ b = stack.pop();
71
+ // Find the m point between the a and b coordinates
72
+ fracM = (fracA + fracB) / 2;
73
+ geoM = interpolate(fracM);
74
+ m = transform(geoM);
75
+ if (
76
+ (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.squaredSegmentDistance)(m[0], m[1], a[0], a[1], b[0], b[1]) <
77
+ squaredTolerance
78
+ ) {
79
+ // If the m point is sufficiently close to the straight line, then we
80
+ // discard it. Just use the b coordinate and move on to the next line
81
+ // segment.
82
+ flatCoordinates.push(b[0], b[1]);
83
+ key = fracB.toString();
84
+ fractions[key] = true;
85
+ } else {
86
+ // Otherwise, we need to subdivide the current line segment. Split it
87
+ // into two and push the two line segments onto the stack.
88
+ fractionStack.push(fracB, fracM, fracM, fracA);
89
+ stack.push(b, m, m, a);
90
+ geoStack.push(geoB, geoM, geoM, geoA);
83
91
  }
84
- return flatCoordinates;
92
+ }
93
+
94
+ return flatCoordinates;
85
95
  }
96
+
86
97
  /**
87
98
  * Generate a great-circle arcs between two lat/lon points.
88
99
  * @param {number} lon1 Longitude 1 in degrees.
@@ -93,36 +104,53 @@ function line(interpolate, transform, squaredTolerance) {
93
104
  * @param {number} squaredTolerance Squared tolerance.
94
105
  * @return {Array<number>} Flat coordinates.
95
106
  */
96
- function greatCircleArc(lon1, lat1, lon2, lat2, projection, squaredTolerance) {
97
- var geoProjection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
98
- var cosLat1 = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat1));
99
- var sinLat1 = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat1));
100
- var cosLat2 = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat2));
101
- var sinLat2 = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat2));
102
- var cosDeltaLon = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon2 - lon1));
103
- var sinDeltaLon = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon2 - lon1));
104
- var d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon;
105
- return line(
107
+ function greatCircleArc(
108
+ lon1,
109
+ lat1,
110
+ lon2,
111
+ lat2,
112
+ projection,
113
+ squaredTolerance,
114
+ ) {
115
+ const geoProjection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
116
+
117
+ const cosLat1 = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat1));
118
+ const sinLat1 = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat1));
119
+ const cosLat2 = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat2));
120
+ const sinLat2 = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lat2));
121
+ const cosDeltaLon = Math.cos((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon2 - lon1));
122
+ const sinDeltaLon = Math.sin((0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon2 - lon1));
123
+ const d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon;
124
+
125
+ return line(
106
126
  /**
107
127
  * @param {number} frac Fraction.
108
128
  * @return {import("../../coordinate.js").Coordinate} Coordinate.
109
129
  */
110
130
  function (frac) {
111
- if (1 <= d) {
112
- return [lon2, lat2];
113
- }
114
- var D = frac * Math.acos(d);
115
- var cosD = Math.cos(D);
116
- var sinD = Math.sin(D);
117
- var y = sinDeltaLon * cosLat2;
118
- var x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon;
119
- var theta = Math.atan2(y, x);
120
- var lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));
121
- var lon = (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon1) +
122
- Math.atan2(Math.sin(theta) * sinD * cosLat1, cosD - sinLat1 * Math.sin(lat));
123
- return [(0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toDegrees)(lon), (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toDegrees)(lat)];
124
- }, (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(geoProjection, projection), squaredTolerance);
131
+ if (1 <= d) {
132
+ return [lon2, lat2];
133
+ }
134
+ const D = frac * Math.acos(d);
135
+ const cosD = Math.cos(D);
136
+ const sinD = Math.sin(D);
137
+ const y = sinDeltaLon * cosLat2;
138
+ const x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon;
139
+ const theta = Math.atan2(y, x);
140
+ const lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));
141
+ const lon =
142
+ (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toRadians)(lon1) +
143
+ Math.atan2(
144
+ Math.sin(theta) * sinD * cosLat1,
145
+ cosD - sinLat1 * Math.sin(lat),
146
+ );
147
+ return [(0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toDegrees)(lon), (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.toDegrees)(lat)];
148
+ },
149
+ (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(geoProjection, projection),
150
+ squaredTolerance,
151
+ );
125
152
  }
153
+
126
154
  /**
127
155
  * Generate a meridian (line at constant longitude).
128
156
  * @param {number} lon Longitude.
@@ -133,16 +161,20 @@ function greatCircleArc(lon1, lat1, lon2, lat2, projection, squaredTolerance) {
133
161
  * @return {Array<number>} Flat coordinates.
134
162
  */
135
163
  function meridian(lon, lat1, lat2, projection, squaredTolerance) {
136
- var epsg4326Projection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
137
- return line(
164
+ const epsg4326Projection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
165
+ return line(
138
166
  /**
139
167
  * @param {number} frac Fraction.
140
168
  * @return {import("../../coordinate.js").Coordinate} Coordinate.
141
169
  */
142
170
  function (frac) {
143
- return [lon, lat1 + (lat2 - lat1) * frac];
144
- }, (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(epsg4326Projection, projection), squaredTolerance);
171
+ return [lon, lat1 + (lat2 - lat1) * frac];
172
+ },
173
+ (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(epsg4326Projection, projection),
174
+ squaredTolerance,
175
+ );
145
176
  }
177
+
146
178
  /**
147
179
  * Generate a parallel (line at constant latitude).
148
180
  * @param {number} lat Latitude.
@@ -153,17 +185,20 @@ function meridian(lon, lat1, lat2, projection, squaredTolerance) {
153
185
  * @return {Array<number>} Flat coordinates.
154
186
  */
155
187
  function parallel(lat, lon1, lon2, projection, squaredTolerance) {
156
- var epsg4326Projection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
157
- return line(
188
+ const epsg4326Projection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)('EPSG:4326');
189
+ return line(
158
190
  /**
159
191
  * @param {number} frac Fraction.
160
192
  * @return {import("../../coordinate.js").Coordinate} Coordinate.
161
193
  */
162
194
  function (frac) {
163
- return [lon1 + (lon2 - lon1) * frac, lat];
164
- }, (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(epsg4326Projection, projection), squaredTolerance);
195
+ return [lon1 + (lon2 - lon1) * frac, lat];
196
+ },
197
+ (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.getTransform)(epsg4326Projection, projection),
198
+ squaredTolerance,
199
+ );
165
200
  }
166
- //# sourceMappingURL=geodesic.js.map
201
+
167
202
 
168
203
  /***/ })
169
204
 
@@ -1 +1 @@
1
- {"version":3,"file":"node_modules_ol_geom_flat_geodesic_js.js","mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACmE;AACU;AAC7E;AACA,WAAW,4DAA4D;AACvE,WAAW,2CAA2C;AACtD;AACA,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,eAAe,iDAAiD;AAChE;AACA,eAAe,iDAAiD;AAChE;AACA,eAAe,eAAe;AAC9B;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gEAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP,wBAAwB,6CAAa;AACrC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,+BAA+B,mDAAS;AACxC,+BAA+B,mDAAS;AACxC;AACA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mDAAS;AAC3B;AACA,gBAAgB,mDAAS,OAAO,mDAAS;AACzC,KAAK,EAAE,sDAAY;AACnB;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP,6BAA6B,6CAAa;AAC1C;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA,KAAK,EAAE,sDAAY;AACnB;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP,6BAA6B,6CAAa;AAC1C;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA,KAAK,EAAE,sDAAY;AACnB;AACA","sources":["webpack://@vaadin/bundles/./node_modules/ol/geom/flat/geodesic.js"],"sourcesContent":["/**\n * @module ol/geom/flat/geodesic\n */\nimport { get as getProjection, getTransform } from '../../proj.js';\nimport { squaredSegmentDistance, toDegrees, toRadians } from '../../math.js';\n/**\n * @param {function(number): import(\"../../coordinate.js\").Coordinate} interpolate Interpolate function.\n * @param {import(\"../../proj.js\").TransformFunction} transform Transform from longitude/latitude to\n * projected coordinates.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nfunction line(interpolate, transform, squaredTolerance) {\n // FIXME reduce garbage generation\n // FIXME optimize stack operations\n /** @type {Array<number>} */\n var flatCoordinates = [];\n var geoA = interpolate(0);\n var geoB = interpolate(1);\n var a = transform(geoA);\n var b = transform(geoB);\n /** @type {Array<import(\"../../coordinate.js\").Coordinate>} */\n var geoStack = [geoB, geoA];\n /** @type {Array<import(\"../../coordinate.js\").Coordinate>} */\n var stack = [b, a];\n /** @type {Array<number>} */\n var fractionStack = [1, 0];\n /** @type {!Object<string, boolean>} */\n var fractions = {};\n var maxIterations = 1e5;\n var geoM, m, fracA, fracB, fracM, key;\n while (--maxIterations > 0 && fractionStack.length > 0) {\n // Pop the a coordinate off the stack\n fracA = fractionStack.pop();\n geoA = geoStack.pop();\n a = stack.pop();\n // Add the a coordinate if it has not been added yet\n key = fracA.toString();\n if (!(key in fractions)) {\n flatCoordinates.push(a[0], a[1]);\n fractions[key] = true;\n }\n // Pop the b coordinate off the stack\n fracB = fractionStack.pop();\n geoB = geoStack.pop();\n b = stack.pop();\n // Find the m point between the a and b coordinates\n fracM = (fracA + fracB) / 2;\n geoM = interpolate(fracM);\n m = transform(geoM);\n if (squaredSegmentDistance(m[0], m[1], a[0], a[1], b[0], b[1]) <\n squaredTolerance) {\n // If the m point is sufficiently close to the straight line, then we\n // discard it. Just use the b coordinate and move on to the next line\n // segment.\n flatCoordinates.push(b[0], b[1]);\n key = fracB.toString();\n fractions[key] = true;\n }\n else {\n // Otherwise, we need to subdivide the current line segment. Split it\n // into two and push the two line segments onto the stack.\n fractionStack.push(fracB, fracM, fracM, fracA);\n stack.push(b, m, m, a);\n geoStack.push(geoB, geoM, geoM, geoA);\n }\n }\n return flatCoordinates;\n}\n/**\n * Generate a great-circle arcs between two lat/lon points.\n * @param {number} lon1 Longitude 1 in degrees.\n * @param {number} lat1 Latitude 1 in degrees.\n * @param {number} lon2 Longitude 2 in degrees.\n * @param {number} lat2 Latitude 2 in degrees.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function greatCircleArc(lon1, lat1, lon2, lat2, projection, squaredTolerance) {\n var geoProjection = getProjection('EPSG:4326');\n var cosLat1 = Math.cos(toRadians(lat1));\n var sinLat1 = Math.sin(toRadians(lat1));\n var cosLat2 = Math.cos(toRadians(lat2));\n var sinLat2 = Math.sin(toRadians(lat2));\n var cosDeltaLon = Math.cos(toRadians(lon2 - lon1));\n var sinDeltaLon = Math.sin(toRadians(lon2 - lon1));\n var d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon;\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n if (1 <= d) {\n return [lon2, lat2];\n }\n var D = frac * Math.acos(d);\n var cosD = Math.cos(D);\n var sinD = Math.sin(D);\n var y = sinDeltaLon * cosLat2;\n var x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon;\n var theta = Math.atan2(y, x);\n var lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));\n var lon = toRadians(lon1) +\n Math.atan2(Math.sin(theta) * sinD * cosLat1, cosD - sinLat1 * Math.sin(lat));\n return [toDegrees(lon), toDegrees(lat)];\n }, getTransform(geoProjection, projection), squaredTolerance);\n}\n/**\n * Generate a meridian (line at constant longitude).\n * @param {number} lon Longitude.\n * @param {number} lat1 Latitude 1.\n * @param {number} lat2 Latitude 2.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function meridian(lon, lat1, lat2, projection, squaredTolerance) {\n var epsg4326Projection = getProjection('EPSG:4326');\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n return [lon, lat1 + (lat2 - lat1) * frac];\n }, getTransform(epsg4326Projection, projection), squaredTolerance);\n}\n/**\n * Generate a parallel (line at constant latitude).\n * @param {number} lat Latitude.\n * @param {number} lon1 Longitude 1.\n * @param {number} lon2 Longitude 2.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function parallel(lat, lon1, lon2, projection, squaredTolerance) {\n var epsg4326Projection = getProjection('EPSG:4326');\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n return [lon1 + (lon2 - lon1) * frac, lat];\n }, getTransform(epsg4326Projection, projection), squaredTolerance);\n}\n//# sourceMappingURL=geodesic.js.map"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"node_modules_ol_geom_flat_geodesic_js.js","mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAC2E;AACV;;AAEjE;AACA,WAAW,4DAA4D;AACvE,WAAW,2CAA2C;AACtD;AACA,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;;AAEA,aAAa,eAAe;AAC5B;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,iDAAiD;AAC9D;AACA,aAAa,iDAAiD;AAC9D;AACA,aAAa,eAAe;AAC5B;;AAEA,aAAa,0BAA0B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,gEAAsB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6CAAa;;AAErC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,2BAA2B,mDAAS;AACpC,+BAA+B,mDAAS;AACxC,+BAA+B,mDAAS;AACxC;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mDAAS;AACjB;AACA;AACA;AACA;AACA,cAAc,mDAAS,OAAO,mDAAS;AACvC,KAAK;AACL,IAAI,sDAAY;AAChB;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP,6BAA6B,6CAAa;AAC1C;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA,KAAK;AACL,IAAI,sDAAY;AAChB;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP,6BAA6B,6CAAa;AAC1C;AACA;AACA,eAAe,QAAQ;AACvB,gBAAgB,0CAA0C;AAC1D;AACA;AACA;AACA,KAAK;AACL,IAAI,sDAAY;AAChB;AACA;AACA","sources":["webpack://@vaadin/bundles/./node_modules/ol/geom/flat/geodesic.js"],"sourcesContent":["/**\n * @module ol/geom/flat/geodesic\n */\nimport {squaredSegmentDistance, toDegrees, toRadians} from '../../math.js';\nimport {get as getProjection, getTransform} from '../../proj.js';\n\n/**\n * @param {function(number): import(\"../../coordinate.js\").Coordinate} interpolate Interpolate function.\n * @param {import(\"../../proj.js\").TransformFunction} transform Transform from longitude/latitude to\n * projected coordinates.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nfunction line(interpolate, transform, squaredTolerance) {\n // FIXME reduce garbage generation\n // FIXME optimize stack operations\n\n /** @type {Array<number>} */\n const flatCoordinates = [];\n\n let geoA = interpolate(0);\n let geoB = interpolate(1);\n\n let a = transform(geoA);\n let b = transform(geoB);\n\n /** @type {Array<import(\"../../coordinate.js\").Coordinate>} */\n const geoStack = [geoB, geoA];\n /** @type {Array<import(\"../../coordinate.js\").Coordinate>} */\n const stack = [b, a];\n /** @type {Array<number>} */\n const fractionStack = [1, 0];\n\n /** @type {!Object<string, boolean>} */\n const fractions = {};\n\n let maxIterations = 1e5;\n let geoM, m, fracA, fracB, fracM, key;\n\n while (--maxIterations > 0 && fractionStack.length > 0) {\n // Pop the a coordinate off the stack\n fracA = fractionStack.pop();\n geoA = geoStack.pop();\n a = stack.pop();\n // Add the a coordinate if it has not been added yet\n key = fracA.toString();\n if (!(key in fractions)) {\n flatCoordinates.push(a[0], a[1]);\n fractions[key] = true;\n }\n // Pop the b coordinate off the stack\n fracB = fractionStack.pop();\n geoB = geoStack.pop();\n b = stack.pop();\n // Find the m point between the a and b coordinates\n fracM = (fracA + fracB) / 2;\n geoM = interpolate(fracM);\n m = transform(geoM);\n if (\n squaredSegmentDistance(m[0], m[1], a[0], a[1], b[0], b[1]) <\n squaredTolerance\n ) {\n // If the m point is sufficiently close to the straight line, then we\n // discard it. Just use the b coordinate and move on to the next line\n // segment.\n flatCoordinates.push(b[0], b[1]);\n key = fracB.toString();\n fractions[key] = true;\n } else {\n // Otherwise, we need to subdivide the current line segment. Split it\n // into two and push the two line segments onto the stack.\n fractionStack.push(fracB, fracM, fracM, fracA);\n stack.push(b, m, m, a);\n geoStack.push(geoB, geoM, geoM, geoA);\n }\n }\n\n return flatCoordinates;\n}\n\n/**\n * Generate a great-circle arcs between two lat/lon points.\n * @param {number} lon1 Longitude 1 in degrees.\n * @param {number} lat1 Latitude 1 in degrees.\n * @param {number} lon2 Longitude 2 in degrees.\n * @param {number} lat2 Latitude 2 in degrees.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function greatCircleArc(\n lon1,\n lat1,\n lon2,\n lat2,\n projection,\n squaredTolerance,\n) {\n const geoProjection = getProjection('EPSG:4326');\n\n const cosLat1 = Math.cos(toRadians(lat1));\n const sinLat1 = Math.sin(toRadians(lat1));\n const cosLat2 = Math.cos(toRadians(lat2));\n const sinLat2 = Math.sin(toRadians(lat2));\n const cosDeltaLon = Math.cos(toRadians(lon2 - lon1));\n const sinDeltaLon = Math.sin(toRadians(lon2 - lon1));\n const d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon;\n\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n if (1 <= d) {\n return [lon2, lat2];\n }\n const D = frac * Math.acos(d);\n const cosD = Math.cos(D);\n const sinD = Math.sin(D);\n const y = sinDeltaLon * cosLat2;\n const x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon;\n const theta = Math.atan2(y, x);\n const lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));\n const lon =\n toRadians(lon1) +\n Math.atan2(\n Math.sin(theta) * sinD * cosLat1,\n cosD - sinLat1 * Math.sin(lat),\n );\n return [toDegrees(lon), toDegrees(lat)];\n },\n getTransform(geoProjection, projection),\n squaredTolerance,\n );\n}\n\n/**\n * Generate a meridian (line at constant longitude).\n * @param {number} lon Longitude.\n * @param {number} lat1 Latitude 1.\n * @param {number} lat2 Latitude 2.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function meridian(lon, lat1, lat2, projection, squaredTolerance) {\n const epsg4326Projection = getProjection('EPSG:4326');\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n return [lon, lat1 + (lat2 - lat1) * frac];\n },\n getTransform(epsg4326Projection, projection),\n squaredTolerance,\n );\n}\n\n/**\n * Generate a parallel (line at constant latitude).\n * @param {number} lat Latitude.\n * @param {number} lon1 Longitude 1.\n * @param {number} lon2 Longitude 2.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Array<number>} Flat coordinates.\n */\nexport function parallel(lat, lon1, lon2, projection, squaredTolerance) {\n const epsg4326Projection = getProjection('EPSG:4326');\n return line(\n /**\n * @param {number} frac Fraction.\n * @return {import(\"../../coordinate.js\").Coordinate} Coordinate.\n */\n function (frac) {\n return [lon1 + (lon2 - lon1) * frac, lat];\n },\n getTransform(epsg4326Projection, projection),\n squaredTolerance,\n );\n}\n"],"names":[],"sourceRoot":""}
@@ -0,0 +1,230 @@
1
+ (self["webpackChunk_vaadin_bundles"] = self["webpackChunk_vaadin_bundles"] || []).push([["node_modules_ol_geom_flat_interpolate_js"],{
2
+
3
+ /***/ "./node_modules/ol/geom/flat/interpolate.js":
4
+ /*!**************************************************!*\
5
+ !*** ./node_modules/ol/geom/flat/interpolate.js ***!
6
+ \**************************************************/
7
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.r(__webpack_exports__);
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "interpolatePoint": () => (/* binding */ interpolatePoint),
12
+ /* harmony export */ "lineStringCoordinateAtM": () => (/* binding */ lineStringCoordinateAtM),
13
+ /* harmony export */ "lineStringsCoordinateAtM": () => (/* binding */ lineStringsCoordinateAtM)
14
+ /* harmony export */ });
15
+ /* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../array.js */ "./node_modules/ol/array.js");
16
+ /* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math.js */ "./node_modules/ol/math.js");
17
+ /**
18
+ * @module ol/geom/flat/interpolate
19
+ */
20
+
21
+
22
+
23
+ /**
24
+ * @param {Array<number>} flatCoordinates Flat coordinates.
25
+ * @param {number} offset Offset.
26
+ * @param {number} end End.
27
+ * @param {number} stride Stride.
28
+ * @param {number} fraction Fraction.
29
+ * @param {Array<number>} [dest] Destination.
30
+ * @param {number} [dimension] Destination dimension (default is `2`)
31
+ * @return {Array<number>} Destination.
32
+ */
33
+ function interpolatePoint(
34
+ flatCoordinates,
35
+ offset,
36
+ end,
37
+ stride,
38
+ fraction,
39
+ dest,
40
+ dimension,
41
+ ) {
42
+ let o, t;
43
+ const n = (end - offset) / stride;
44
+ if (n === 1) {
45
+ o = offset;
46
+ } else if (n === 2) {
47
+ o = offset;
48
+ t = fraction;
49
+ } else if (n !== 0) {
50
+ let x1 = flatCoordinates[offset];
51
+ let y1 = flatCoordinates[offset + 1];
52
+ let length = 0;
53
+ const cumulativeLengths = [0];
54
+ for (let i = offset + stride; i < end; i += stride) {
55
+ const x2 = flatCoordinates[i];
56
+ const y2 = flatCoordinates[i + 1];
57
+ length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
58
+ cumulativeLengths.push(length);
59
+ x1 = x2;
60
+ y1 = y2;
61
+ }
62
+ const target = fraction * length;
63
+ const index = (0,_array_js__WEBPACK_IMPORTED_MODULE_0__.binarySearch)(cumulativeLengths, target);
64
+ if (index < 0) {
65
+ t =
66
+ (target - cumulativeLengths[-index - 2]) /
67
+ (cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]);
68
+ o = offset + (-index - 2) * stride;
69
+ } else {
70
+ o = offset + index * stride;
71
+ }
72
+ }
73
+ dimension = dimension > 1 ? dimension : 2;
74
+ dest = dest ? dest : new Array(dimension);
75
+ for (let i = 0; i < dimension; ++i) {
76
+ dest[i] =
77
+ o === undefined
78
+ ? NaN
79
+ : t === undefined
80
+ ? flatCoordinates[o + i]
81
+ : (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.lerp)(flatCoordinates[o + i], flatCoordinates[o + stride + i], t);
82
+ }
83
+ return dest;
84
+ }
85
+
86
+ /**
87
+ * @param {Array<number>} flatCoordinates Flat coordinates.
88
+ * @param {number} offset Offset.
89
+ * @param {number} end End.
90
+ * @param {number} stride Stride.
91
+ * @param {number} m M.
92
+ * @param {boolean} extrapolate Extrapolate.
93
+ * @return {import("../../coordinate.js").Coordinate|null} Coordinate.
94
+ */
95
+ function lineStringCoordinateAtM(
96
+ flatCoordinates,
97
+ offset,
98
+ end,
99
+ stride,
100
+ m,
101
+ extrapolate,
102
+ ) {
103
+ if (end == offset) {
104
+ return null;
105
+ }
106
+ let coordinate;
107
+ if (m < flatCoordinates[offset + stride - 1]) {
108
+ if (extrapolate) {
109
+ coordinate = flatCoordinates.slice(offset, offset + stride);
110
+ coordinate[stride - 1] = m;
111
+ return coordinate;
112
+ }
113
+ return null;
114
+ }
115
+ if (flatCoordinates[end - 1] < m) {
116
+ if (extrapolate) {
117
+ coordinate = flatCoordinates.slice(end - stride, end);
118
+ coordinate[stride - 1] = m;
119
+ return coordinate;
120
+ }
121
+ return null;
122
+ }
123
+ // FIXME use O(1) search
124
+ if (m == flatCoordinates[offset + stride - 1]) {
125
+ return flatCoordinates.slice(offset, offset + stride);
126
+ }
127
+ let lo = offset / stride;
128
+ let hi = end / stride;
129
+ while (lo < hi) {
130
+ const mid = (lo + hi) >> 1;
131
+ if (m < flatCoordinates[(mid + 1) * stride - 1]) {
132
+ hi = mid;
133
+ } else {
134
+ lo = mid + 1;
135
+ }
136
+ }
137
+ const m0 = flatCoordinates[lo * stride - 1];
138
+ if (m == m0) {
139
+ return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride);
140
+ }
141
+ const m1 = flatCoordinates[(lo + 1) * stride - 1];
142
+ const t = (m - m0) / (m1 - m0);
143
+ coordinate = [];
144
+ for (let i = 0; i < stride - 1; ++i) {
145
+ coordinate.push(
146
+ (0,_math_js__WEBPACK_IMPORTED_MODULE_1__.lerp)(
147
+ flatCoordinates[(lo - 1) * stride + i],
148
+ flatCoordinates[lo * stride + i],
149
+ t,
150
+ ),
151
+ );
152
+ }
153
+ coordinate.push(m);
154
+ return coordinate;
155
+ }
156
+
157
+ /**
158
+ * @param {Array<number>} flatCoordinates Flat coordinates.
159
+ * @param {number} offset Offset.
160
+ * @param {Array<number>} ends Ends.
161
+ * @param {number} stride Stride.
162
+ * @param {number} m M.
163
+ * @param {boolean} extrapolate Extrapolate.
164
+ * @param {boolean} interpolate Interpolate.
165
+ * @return {import("../../coordinate.js").Coordinate|null} Coordinate.
166
+ */
167
+ function lineStringsCoordinateAtM(
168
+ flatCoordinates,
169
+ offset,
170
+ ends,
171
+ stride,
172
+ m,
173
+ extrapolate,
174
+ interpolate,
175
+ ) {
176
+ if (interpolate) {
177
+ return lineStringCoordinateAtM(
178
+ flatCoordinates,
179
+ offset,
180
+ ends[ends.length - 1],
181
+ stride,
182
+ m,
183
+ extrapolate,
184
+ );
185
+ }
186
+ let coordinate;
187
+ if (m < flatCoordinates[stride - 1]) {
188
+ if (extrapolate) {
189
+ coordinate = flatCoordinates.slice(0, stride);
190
+ coordinate[stride - 1] = m;
191
+ return coordinate;
192
+ }
193
+ return null;
194
+ }
195
+ if (flatCoordinates[flatCoordinates.length - 1] < m) {
196
+ if (extrapolate) {
197
+ coordinate = flatCoordinates.slice(flatCoordinates.length - stride);
198
+ coordinate[stride - 1] = m;
199
+ return coordinate;
200
+ }
201
+ return null;
202
+ }
203
+ for (let i = 0, ii = ends.length; i < ii; ++i) {
204
+ const end = ends[i];
205
+ if (offset == end) {
206
+ continue;
207
+ }
208
+ if (m < flatCoordinates[offset + stride - 1]) {
209
+ return null;
210
+ }
211
+ if (m <= flatCoordinates[end - 1]) {
212
+ return lineStringCoordinateAtM(
213
+ flatCoordinates,
214
+ offset,
215
+ end,
216
+ stride,
217
+ m,
218
+ false,
219
+ );
220
+ }
221
+ offset = end;
222
+ }
223
+ return null;
224
+ }
225
+
226
+
227
+ /***/ })
228
+
229
+ }])
230
+ //# sourceMappingURL=node_modules_ol_geom_flat_interpolate_js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_modules_ol_geom_flat_interpolate_js.js","mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAC4C;AACT;;AAEnC;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uDAAY;AAC9B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;AACA,YAAY,8CAAI;AAChB;AACA;AACA;;AAEA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,YAAY,+CAA+C;AAC3D;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,MAAM,8CAAI;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,+CAA+C;AAC3D;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@vaadin/bundles/./node_modules/ol/geom/flat/interpolate.js"],"sourcesContent":["/**\n * @module ol/geom/flat/interpolate\n */\nimport {binarySearch} from '../../array.js';\nimport {lerp} from '../../math.js';\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} fraction Fraction.\n * @param {Array<number>} [dest] Destination.\n * @param {number} [dimension] Destination dimension (default is `2`)\n * @return {Array<number>} Destination.\n */\nexport function interpolatePoint(\n flatCoordinates,\n offset,\n end,\n stride,\n fraction,\n dest,\n dimension,\n) {\n let o, t;\n const n = (end - offset) / stride;\n if (n === 1) {\n o = offset;\n } else if (n === 2) {\n o = offset;\n t = fraction;\n } else if (n !== 0) {\n let x1 = flatCoordinates[offset];\n let y1 = flatCoordinates[offset + 1];\n let length = 0;\n const cumulativeLengths = [0];\n for (let i = offset + stride; i < end; i += stride) {\n const x2 = flatCoordinates[i];\n const y2 = flatCoordinates[i + 1];\n length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n cumulativeLengths.push(length);\n x1 = x2;\n y1 = y2;\n }\n const target = fraction * length;\n const index = binarySearch(cumulativeLengths, target);\n if (index < 0) {\n t =\n (target - cumulativeLengths[-index - 2]) /\n (cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]);\n o = offset + (-index - 2) * stride;\n } else {\n o = offset + index * stride;\n }\n }\n dimension = dimension > 1 ? dimension : 2;\n dest = dest ? dest : new Array(dimension);\n for (let i = 0; i < dimension; ++i) {\n dest[i] =\n o === undefined\n ? NaN\n : t === undefined\n ? flatCoordinates[o + i]\n : lerp(flatCoordinates[o + i], flatCoordinates[o + stride + i], t);\n }\n return dest;\n}\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @return {import(\"../../coordinate.js\").Coordinate|null} Coordinate.\n */\nexport function lineStringCoordinateAtM(\n flatCoordinates,\n offset,\n end,\n stride,\n m,\n extrapolate,\n) {\n if (end == offset) {\n return null;\n }\n let coordinate;\n if (m < flatCoordinates[offset + stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(offset, offset + stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n return null;\n }\n if (flatCoordinates[end - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(end - stride, end);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n return null;\n }\n // FIXME use O(1) search\n if (m == flatCoordinates[offset + stride - 1]) {\n return flatCoordinates.slice(offset, offset + stride);\n }\n let lo = offset / stride;\n let hi = end / stride;\n while (lo < hi) {\n const mid = (lo + hi) >> 1;\n if (m < flatCoordinates[(mid + 1) * stride - 1]) {\n hi = mid;\n } else {\n lo = mid + 1;\n }\n }\n const m0 = flatCoordinates[lo * stride - 1];\n if (m == m0) {\n return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride);\n }\n const m1 = flatCoordinates[(lo + 1) * stride - 1];\n const t = (m - m0) / (m1 - m0);\n coordinate = [];\n for (let i = 0; i < stride - 1; ++i) {\n coordinate.push(\n lerp(\n flatCoordinates[(lo - 1) * stride + i],\n flatCoordinates[lo * stride + i],\n t,\n ),\n );\n }\n coordinate.push(m);\n return coordinate;\n}\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array<number>} ends Ends.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @param {boolean} interpolate Interpolate.\n * @return {import(\"../../coordinate.js\").Coordinate|null} Coordinate.\n */\nexport function lineStringsCoordinateAtM(\n flatCoordinates,\n offset,\n ends,\n stride,\n m,\n extrapolate,\n interpolate,\n) {\n if (interpolate) {\n return lineStringCoordinateAtM(\n flatCoordinates,\n offset,\n ends[ends.length - 1],\n stride,\n m,\n extrapolate,\n );\n }\n let coordinate;\n if (m < flatCoordinates[stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(0, stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n return null;\n }\n if (flatCoordinates[flatCoordinates.length - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(flatCoordinates.length - stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n return null;\n }\n for (let i = 0, ii = ends.length; i < ii; ++i) {\n const end = ends[i];\n if (offset == end) {\n continue;\n }\n if (m < flatCoordinates[offset + stride - 1]) {\n return null;\n }\n if (m <= flatCoordinates[end - 1]) {\n return lineStringCoordinateAtM(\n flatCoordinates,\n offset,\n end,\n stride,\n m,\n false,\n );\n }\n offset = end;\n }\n return null;\n}\n"],"names":[],"sourceRoot":""}
@@ -0,0 +1,58 @@
1
+ (self["webpackChunk_vaadin_bundles"] = self["webpackChunk_vaadin_bundles"] || []).push([["node_modules_ol_geom_flat_length_js-_375a0"],{
2
+
3
+ /***/ "./node_modules/ol/geom/flat/length.js":
4
+ /*!*********************************************!*\
5
+ !*** ./node_modules/ol/geom/flat/length.js ***!
6
+ \*********************************************/
7
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.r(__webpack_exports__);
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "lineStringLength": () => (/* binding */ lineStringLength),
12
+ /* harmony export */ "linearRingLength": () => (/* binding */ linearRingLength)
13
+ /* harmony export */ });
14
+ /**
15
+ * @module ol/geom/flat/length
16
+ */
17
+
18
+ /**
19
+ * @param {Array<number>} flatCoordinates Flat coordinates.
20
+ * @param {number} offset Offset.
21
+ * @param {number} end End.
22
+ * @param {number} stride Stride.
23
+ * @return {number} Length.
24
+ */
25
+ function lineStringLength(flatCoordinates, offset, end, stride) {
26
+ let x1 = flatCoordinates[offset];
27
+ let y1 = flatCoordinates[offset + 1];
28
+ let length = 0;
29
+ for (let i = offset + stride; i < end; i += stride) {
30
+ const x2 = flatCoordinates[i];
31
+ const y2 = flatCoordinates[i + 1];
32
+ length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
33
+ x1 = x2;
34
+ y1 = y2;
35
+ }
36
+ return length;
37
+ }
38
+
39
+ /**
40
+ * @param {Array<number>} flatCoordinates Flat coordinates.
41
+ * @param {number} offset Offset.
42
+ * @param {number} end End.
43
+ * @param {number} stride Stride.
44
+ * @return {number} Perimeter.
45
+ */
46
+ function linearRingLength(flatCoordinates, offset, end, stride) {
47
+ let perimeter = lineStringLength(flatCoordinates, offset, end, stride);
48
+ const dx = flatCoordinates[end - stride] - flatCoordinates[offset];
49
+ const dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1];
50
+ perimeter += Math.sqrt(dx * dx + dy * dy);
51
+ return perimeter;
52
+ }
53
+
54
+
55
+ /***/ })
56
+
57
+ }])
58
+ //# sourceMappingURL=node_modules_ol_geom_flat_length_js-_375a0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_modules_ol_geom_flat_length_js-_375a0.js","mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;;AAEA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@vaadin/bundles/./node_modules/ol/geom/flat/length.js"],"sourcesContent":["/**\n * @module ol/geom/flat/length\n */\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {number} Length.\n */\nexport function lineStringLength(flatCoordinates, offset, end, stride) {\n let x1 = flatCoordinates[offset];\n let y1 = flatCoordinates[offset + 1];\n let length = 0;\n for (let i = offset + stride; i < end; i += stride) {\n const x2 = flatCoordinates[i];\n const y2 = flatCoordinates[i + 1];\n length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n x1 = x2;\n y1 = y2;\n }\n return length;\n}\n\n/**\n * @param {Array<number>} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {number} Perimeter.\n */\nexport function linearRingLength(flatCoordinates, offset, end, stride) {\n let perimeter = lineStringLength(flatCoordinates, offset, end, stride);\n const dx = flatCoordinates[end - stride] - flatCoordinates[offset];\n const dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1];\n perimeter += Math.sqrt(dx * dx + dy * dy);\n return perimeter;\n}\n"],"names":[],"sourceRoot":""}