@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.
- package/node_modules_ol_ImageCanvas_js.js +76 -83
- package/node_modules_ol_ImageCanvas_js.js.map +1 -1
- package/node_modules_ol_TileRange_js.js +128 -110
- package/node_modules_ol_TileRange_js.js.map +1 -1
- package/node_modules_ol_Tile_js.js +279 -0
- package/node_modules_ol_Tile_js.js.map +1 -0
- package/node_modules_ol_VectorRenderTile_js.js +428 -143
- package/node_modules_ol_VectorRenderTile_js.js.map +1 -1
- package/node_modules_ol_VectorTile_js.js +405 -119
- package/node_modules_ol_VectorTile_js.js.map +1 -1
- package/node_modules_ol_control_MousePosition_js.js +327 -0
- package/node_modules_ol_control_MousePosition_js.js.map +1 -0
- package/node_modules_ol_control_ZoomToExtent_js.js +118 -0
- package/node_modules_ol_control_ZoomToExtent_js.js.map +1 -0
- package/node_modules_ol_events_SnapEvent_js.js +79 -0
- package/node_modules_ol_events_SnapEvent_js.js.map +1 -0
- package/node_modules_ol_featureloader_js.js +205 -0
- package/node_modules_ol_featureloader_js.js.map +1 -0
- package/node_modules_ol_geom_Circle_js.js +300 -0
- package/node_modules_ol_geom_Circle_js.js.map +1 -0
- package/node_modules_ol_geom_GeometryCollection_js.js +369 -0
- package/node_modules_ol_geom_GeometryCollection_js.js.map +1 -0
- package/node_modules_ol_geom_MultiPoint_js.js +228 -0
- package/node_modules_ol_geom_MultiPoint_js.js.map +1 -0
- package/node_modules_ol_geom_flat_center_js.js +47 -0
- package/node_modules_ol_geom_flat_center_js.js.map +1 -0
- package/node_modules_ol_geom_flat_geodesic_js.js +123 -88
- package/node_modules_ol_geom_flat_geodesic_js.js.map +1 -1
- package/node_modules_ol_geom_flat_interpolate_js.js +230 -0
- package/node_modules_ol_geom_flat_interpolate_js.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a0.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a0.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a1.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a1.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a2.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a2.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a3.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a3.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a4.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a4.js.map +1 -0
- package/node_modules_ol_geom_flat_linechunk_js.js +76 -0
- package/node_modules_ol_geom_flat_linechunk_js.js.map +1 -0
- package/node_modules_ol_geom_flat_straightchunk_js.js +68 -0
- package/node_modules_ol_geom_flat_straightchunk_js.js.map +1 -0
- package/node_modules_ol_geom_flat_textpath_js.js +178 -0
- package/node_modules_ol_geom_flat_textpath_js.js.map +1 -0
- package/node_modules_ol_interaction_DblClickDragZoom_js.js +285 -0
- package/node_modules_ol_interaction_DblClickDragZoom_js.js.map +1 -0
- package/node_modules_ol_interaction_DragAndDrop_js.js +351 -0
- package/node_modules_ol_interaction_DragAndDrop_js.js.map +1 -0
- package/node_modules_ol_interaction_DragRotateAndZoom_js.js +159 -0
- package/node_modules_ol_interaction_DragRotateAndZoom_js.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49290.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49290.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49291.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49291.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49292.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49292.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49293.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49293.js.map +1 -0
- package/node_modules_ol_loadingstrategy_js.js +95 -0
- package/node_modules_ol_loadingstrategy_js.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-_3ad60.js +144 -0
- package/node_modules_ol_render_VectorContext_js-_3ad60.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-_3ad61.js +144 -0
- package/node_modules_ol_render_VectorContext_js-_3ad61.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js +372 -0
- package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js.map +1 -0
- package/node_modules_ol_render_canvas_ImageBuilder_js.js +318 -0
- package/node_modules_ol_render_canvas_ImageBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_Instruction_js.js +66 -0
- package/node_modules_ol_render_canvas_Instruction_js.js.map +1 -0
- package/node_modules_ol_render_canvas_LineStringBuilder_js.js +187 -0
- package/node_modules_ol_render_canvas_LineStringBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_PolygonBuilder_js.js +276 -0
- package/node_modules_ol_render_canvas_PolygonBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js +156 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js.map +1 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js +156 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js.map +1 -0
- package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js +301 -0
- package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js.map +1 -0
- package/node_modules_ol_renderer_Layer_js.js +219 -0
- package/node_modules_ol_renderer_Layer_js.js.map +1 -0
- package/node_modules_ol_source_Source_js.js +256 -0
- package/node_modules_ol_source_Source_js.js.map +1 -0
- package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js +318 -0
- package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js.map +1 -0
- package/node_modules_ol_source_VectorEventType_js.js +80 -0
- package/node_modules_ol_source_VectorEventType_js.js.map +1 -0
- package/node_modules_ol_structs_RBush_js.js +242 -0
- package/node_modules_ol_structs_RBush_js.js.map +1 -0
- package/node_modules_ol_style_js.js +2 -1
- package/node_modules_ol_style_js.js.map +1 -1
- package/node_modules_rbush_rbush_min_js.js +16 -0
- package/node_modules_rbush_rbush_min_js.js.map +1 -0
- package/package.json +142 -146
- package/vaadin-bundle.json +2447 -2352
- package/vaadin.js +52246 -63791
- package/vaadin.js.map +1 -1
- package/vendors-node_modules_dompurify_dist_purify_es_mjs.js +1364 -0
- package/vendors-node_modules_dompurify_dist_purify_es_mjs.js.map +1 -0
- package/vendors-node_modules_dompurify_dist_purify_js.js +26 -21
- package/vendors-node_modules_dompurify_dist_purify_js.js.map +1 -1
- package/vendors-node_modules_marked_lib_marked_esm_js.js +2205 -0
- package/vendors-node_modules_marked_lib_marked_esm_js.js.map +1 -0
- package/vendors-node_modules_marked_lib_marked_umd_js.js +2164 -2556
- package/vendors-node_modules_marked_lib_marked_umd_js.js.map +1 -1
- package/vendors-node_modules_ol_Feature_js.js +360 -0
- package/vendors-node_modules_ol_Feature_js.js.map +1 -0
- package/vendors-node_modules_ol_Geolocation_js.js +352 -293
- package/vendors-node_modules_ol_Geolocation_js.js.map +1 -1
- package/vendors-node_modules_ol_ImageTile_js.js +494 -0
- package/vendors-node_modules_ol_ImageTile_js.js.map +1 -0
- package/vendors-node_modules_ol_Overlay_js.js +606 -0
- package/vendors-node_modules_ol_Overlay_js.js.map +1 -0
- package/vendors-node_modules_ol_control_FullScreen_js.js +417 -0
- package/vendors-node_modules_ol_control_FullScreen_js.js.map +1 -0
- package/vendors-node_modules_ol_control_OverviewMap_js.js +711 -0
- package/vendors-node_modules_ol_control_OverviewMap_js.js.map +1 -0
- package/vendors-node_modules_ol_control_ScaleLine_js.js +509 -0
- package/vendors-node_modules_ol_control_ScaleLine_js.js.map +1 -0
- package/vendors-node_modules_ol_control_ZoomSlider_js.js +418 -0
- package/vendors-node_modules_ol_control_ZoomSlider_js.js.map +1 -0
- package/vendors-node_modules_ol_control_js.js +490 -0
- package/vendors-node_modules_ol_control_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_LineString_js.js +574 -0
- package/vendors-node_modules_ol_geom_LineString_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_MultiLineString_js.js +405 -0
- package/vendors-node_modules_ol_geom_MultiLineString_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_MultiPolygon_js.js +773 -0
- package/vendors-node_modules_ol_geom_MultiPolygon_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js +769 -0
- package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js.map +1 -0
- package/vendors-node_modules_ol_index_js.js +526 -675
- package/vendors-node_modules_ol_index_js.js.map +1 -1
- package/vendors-node_modules_ol_interaction_Draw_js.js +2777 -0
- package/vendors-node_modules_ol_interaction_Draw_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Extent_js.js +586 -0
- package/vendors-node_modules_ol_interaction_Extent_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Link_js.js +489 -0
- package/vendors-node_modules_ol_interaction_Link_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Modify_js.js +1841 -0
- package/vendors-node_modules_ol_interaction_Modify_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Select_js.js +623 -0
- package/vendors-node_modules_ol_interaction_Select_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Snap_js.js +982 -0
- package/vendors-node_modules_ol_interaction_Snap_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Translate_js.js +466 -0
- package/vendors-node_modules_ol_interaction_Translate_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_js.js +872 -0
- package/vendors-node_modules_ol_interaction_js.js.map +1 -0
- package/vendors-node_modules_ol_layer_Graticule_js.js +1374 -989
- package/vendors-node_modules_ol_layer_Graticule_js.js.map +1 -1
- package/vendors-node_modules_ol_render_Feature_js.js +546 -0
- package/vendors-node_modules_ol_render_Feature_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js +897 -0
- package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Builder_js.js +907 -0
- package/vendors-node_modules_ol_render_canvas_Builder_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js +539 -0
- package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Executor_js.js +1715 -0
- package/vendors-node_modules_ol_render_canvas_Executor_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Immediate_js.js +1208 -0
- package/vendors-node_modules_ol_render_canvas_Immediate_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js +825 -0
- package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_canvas_Layer_js.js +654 -0
- package/vendors-node_modules_ol_renderer_canvas_Layer_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js +1044 -0
- package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_vector_js.js +460 -0
- package/vendors-node_modules_ol_renderer_vector_js.js.map +1 -0
- package/vendors-node_modules_ol_source_Vector_js.js +2091 -0
- package/vendors-node_modules_ol_source_Vector_js.js.map +1 -0
- package/node_modules_ol_ImageTile_js.js +0 -177
- package/node_modules_ol_ImageTile_js.js.map +0 -1
- package/node_modules_ol_render_js.js +0 -131
- package/node_modules_ol_render_js.js.map +0 -1
- package/node_modules_ol_structs_LRUCache_js.js +0 -275
- package/node_modules_ol_structs_LRUCache_js.js.map +0 -1
- package/node_modules_ol_tilecoord_js.js +0 -115
- package/node_modules_ol_tilecoord_js.js.map +0 -1
- package/vendors-node_modules_ol_TileCache_js.js +0 -461
- package/vendors-node_modules_ol_TileCache_js.js.map +0 -1
- package/vendors-node_modules_ol_Tile_js.js +0 -330
- package/vendors-node_modules_ol_Tile_js.js.map +0 -1
- package/vendors-node_modules_ol_style_Text_js.js +0 -509
- package/vendors-node_modules_ol_style_Text_js.js.map +0 -1
- package/vendors-node_modules_rbush_index_js.js +0 -531
- 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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
|
|
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(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
137
|
-
|
|
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
|
-
|
|
144
|
-
},
|
|
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
|
-
|
|
157
|
-
|
|
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
|
-
|
|
164
|
-
},
|
|
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
|
-
|
|
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;
|
|
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":""}
|