gis-common 1.1.15 → 1.1.17

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 (2) hide show
  1. package/dist/resource.min.js +108 -36
  2. package/package.json +1 -1
@@ -1111,8 +1111,67 @@ function splitWords(str) {
1111
1111
  return doc.children[0];
1112
1112
  }
1113
1113
  });
1114
+ // CONCATENATED MODULE: ./src/utils/MathUtils.js
1115
+ /* harmony default export */ var MathUtils = ({
1116
+ DEG2RAD: Math.PI / 180,
1117
+ RAD2DEG: 180 / Math.PI,
1118
+ randInt: function randInt(low, high) {
1119
+ return low + Math.floor(Math.random() * (high - low + 1));
1120
+ },
1121
+ randFloat: function randFloat(low, high) {
1122
+ return low + Math.random() * (high - low);
1123
+ },
1124
+
1125
+ /**
1126
+ * 角度转弧度
1127
+ *
1128
+ * @param {*} degrees
1129
+ * @returns {*}
1130
+ */
1131
+ degreesToRadians: function degreesToRadians(degrees) {
1132
+ return degrees * this.DEG2RAD;
1133
+ },
1134
+
1135
+ /**
1136
+ * 角度转弧度
1137
+ *
1138
+ * @param {*} degrees
1139
+ * @returns {*}
1140
+ */
1141
+ toRadians: function toRadians(degrees) {
1142
+ return degrees * this.DEG2RAD;
1143
+ },
1144
+
1145
+ /**
1146
+ * 弧度转角度
1147
+ *
1148
+ * @param {*} radians
1149
+ * @returns {*}
1150
+ */
1151
+ radiansToDegrees: function radiansToDegrees(radians) {
1152
+ return radians * this.RAD2DEG;
1153
+ },
1154
+
1155
+ /**
1156
+ * 弧度转角度
1157
+ *
1158
+ * @param {*} radians
1159
+ * @returns {*}
1160
+ */
1161
+ toDegrees: function toDegrees(radians) {
1162
+ return radians * this.RAD2DEG;
1163
+ },
1164
+ formatFloat: function formatFloat(value) {
1165
+ var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
1166
+
1167
+ return Math.round(value * Math.pow(10, n)) / Math.pow(10, n);
1168
+ }
1169
+ });
1114
1170
  // CONCATENATED MODULE: ./src/utils/GeoUtils.js
1171
+
1115
1172
  /* harmony default export */ var GeoUtils = ({
1173
+ toRadian: Math.PI / 180,
1174
+ R: 6371393,
1116
1175
  /**
1117
1176
  * 验证经纬度坐标
1118
1177
  *
@@ -1282,6 +1341,55 @@ function splitWords(str) {
1282
1341
  var x = (p1.x - p2.x) * Math.cos(Math.PI / 180 * -θ) - (p1.y - p2.y) * Math.sin(Math.PI / 180 * -θ) + p2.x;
1283
1342
  var y = (p1.x - p2.x) * Math.sin(Math.PI / 180 * -θ) + (p1.y - p2.y) * Math.cos(Math.PI / 180 * -θ) + p2.y;
1284
1343
  return { x: x, y: y };
1344
+ },
1345
+
1346
+ /**
1347
+ * 计算latlng2相对于latlng1的方位角和距离
1348
+ *
1349
+ * @param {*} latlng1
1350
+ * @param {*} latlng2
1351
+ * @returns {*} {boolean}
1352
+ */
1353
+ calcBearAndDisByPoints: function calcBearAndDisByPoints(latlng1, latlng2) {
1354
+ var f1 = parseFloat(latlng1.lat),
1355
+ l1 = parseFloat(latlng1.lng),
1356
+ f2 = parseFloat(latlng2.lat),
1357
+ l2 = parseFloat(latlng2.lng);
1358
+ var y = Math.sin((l2 - l1) * this.toRadian) * Math.cos(f2 * this.toRadian);
1359
+ var x = Math.cos(f1 * this.toRadian) * Math.sin(f2 * this.toRadian) - Math.sin(f1 * this.toRadian) * Math.cos(f2 * this.toRadian) * Math.cos((l2 - l1) * this.toRadian);
1360
+ var angle = Math.atan2(y, x) * (180 / Math.PI);
1361
+ var deltaF = (f2 - f1) * this.toRadian;
1362
+ var deltaL = (l2 - l1) * this.toRadian;
1363
+ var a = Math.sin(deltaF / 2) * Math.sin(deltaF / 2) + Math.cos(f1 * this.toRadian) * Math.cos(f2 * this.toRadian) * Math.sin(deltaL / 2) * Math.sin(deltaL / 2);
1364
+ var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
1365
+ var distance = this.R * c;
1366
+ return {
1367
+ angle: angle,
1368
+ distance: distance
1369
+ };
1370
+ },
1371
+
1372
+ /**
1373
+ * 根据方位角和距离生成新的坐标
1374
+ *
1375
+ * @param {*} latlng
1376
+ * @param {*} angle
1377
+ * @param {*} distance
1378
+ * @returns {*}
1379
+ */
1380
+ calcPointByBearAndDis: function calcPointByBearAndDis(latlng, angle, distance) {
1381
+ var sLat = MathUtils.toRadians(parseFloat(latlng.lat));
1382
+ var sLng = MathUtils.toRadians(parseFloat(latlng.lng));
1383
+ angle = parseFloat(angle);
1384
+ distance = parseFloat(distance);
1385
+ var d = distance / this.R;
1386
+ angle = MathUtils.toRadians(angle);
1387
+ var lat = Math.asin(Math.sin(sLat) * Math.cos(d) + Math.cos(sLat) * Math.sin(d) * Math.cos(angle));
1388
+ var lon = sLng + Math.atan2(Math.sin(angle) * Math.sin(d) * Math.cos(sLat), Math.cos(d) - Math.sin(sLat) * Math.sin(lat));
1389
+ return {
1390
+ lat: MathUtils.toDegrees(lat),
1391
+ lng: MathUtils.toDegrees(lon)
1392
+ };
1285
1393
  }
1286
1394
  });
1287
1395
  // CONCATENATED MODULE: ./src/utils/FileUtils.js
@@ -1395,42 +1503,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
1395
1503
  window.URL.revokeObjectURL(link.href);
1396
1504
  }
1397
1505
  });
1398
- // CONCATENATED MODULE: ./src/utils/MathUtils.js
1399
- /* harmony default export */ var MathUtils = ({
1400
- DEG2RAD: Math.PI / 180,
1401
- RAD2DEG: 180 / Math.PI,
1402
- randInt: function randInt(low, high) {
1403
- return low + Math.floor(Math.random() * (high - low + 1));
1404
- },
1405
- randFloat: function randFloat(low, high) {
1406
- return low + Math.random() * (high - low);
1407
- },
1408
-
1409
- /**
1410
- * 角度转弧度
1411
- *
1412
- * @param {*} degrees
1413
- * @returns {*}
1414
- */
1415
- degreesToRadians: function degreesToRadians(degrees) {
1416
- return degrees * this.DEG2RAD;
1417
- },
1418
-
1419
- /**
1420
- * 弧度转角度
1421
- *
1422
- * @param {*} radians
1423
- * @returns {*}
1424
- */
1425
- radiansToDegrees: function radiansToDegrees(radians) {
1426
- return radians * this.RAD2DEG;
1427
- },
1428
- formatFloat: function formatFloat(value) {
1429
- var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
1430
-
1431
- return Math.round(value * Math.pow(10, n)) / Math.pow(10, n);
1432
- }
1433
- });
1434
1506
  // CONCATENATED MODULE: ./src/utils/OptimizeUtils.js
1435
1507
  /* harmony default export */ var OptimizeUtils = ({
1436
1508
  /**
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "gis-common",
3
3
  "description": "gis-common",
4
4
  "main": "dist/resource.min.js",
5
- "version": "1.1.15",
5
+ "version": "1.1.17",
6
6
  "author": "Guo.Yan <luv02@vip.qq.com>",
7
7
  "license": "MIT",
8
8
  "private": false,