@vtx/ol-map 2.0.0-beta.16 → 2.0.0-beta.18
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/README.md +205 -205
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/encryptParams.js +10 -10
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +6 -6
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +4 -4
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/http.js +18 -18
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/layer.js +21 -21
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js +35 -35
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/projection.js +8 -8
- package/lib/_util/projection.js.map +1 -1
- package/lib/_util/projzh/datum/bd-09.js.map +1 -1
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
- package/lib/_util/projzh/datum/index.js.map +1 -1
- package/lib/_util/projzh/index.js.map +1 -1
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
- package/lib/_util/projzh/projection/index.js.map +1 -1
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
- package/lib/_util/projzh/util.js.map +1 -1
- package/lib/_util/search.js.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/stringToFun.js.map +1 -1
- package/lib/_util/transform.js.map +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js.map +1 -1
- package/lib/analysis-layer/index.js +20 -20
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/arrow-flow-layer/ArrowFlowLayer.js +6 -6
- package/lib/arrow-flow-layer/ArrowFlowLayer.js.map +1 -1
- package/lib/arrow-flow-layer/index.js.map +1 -1
- package/lib/arrow-flow-layer/sampleArrowsAlongLine.js +16 -16
- package/lib/arrow-flow-layer/sampleArrowsAlongLine.js.map +1 -1
- package/lib/arrow-flow-layer/style/css.js.map +1 -1
- package/lib/arrow-flow-layer/style/index.js.map +1 -1
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/convertCamelToCSS.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js.map +1 -1
- package/lib/dom-layer/style/css.js.map +1 -1
- package/lib/dom-layer/style/index.js.map +1 -1
- package/lib/dom-layer/style/index.less +3 -3
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +4 -4
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/MyCluster.js +7 -7
- package/lib/feature-layer/MyCluster.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +11 -11
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -1
- package/lib/flow-line-layer/index.js.map +1 -1
- package/lib/flow-line-layer/style/css.js.map +1 -1
- package/lib/flow-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/high-layer/HighLayer.js +2 -2
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/ImageTileLayer.js.map +1 -1
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +100 -100
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/ScaleDenominator.js.map +1 -1
- package/lib/map/Test.js.map +1 -1
- package/lib/map/defaultTextEnum.js +20 -0
- package/lib/map/defaultTextEnum.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +1 -1
- package/lib/map/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +152 -152
- package/lib/map-icon/svg/index.js.map +1 -1
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js.map +1 -1
- package/lib/path-line-layer/PathLineLayer.js.map +1 -1
- package/lib/path-line-layer/getPathLineStyles.js.map +1 -1
- package/lib/path-line-layer/index.js.map +1 -1
- package/lib/path-line-layer/style/css.js.map +1 -1
- package/lib/path-line-layer/style/index.js.map +1 -1
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js.map +1 -1
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js.map +1 -1
- package/lib/poi-search/style/css.js.map +1 -1
- package/lib/poi-search/style/index.js.map +1 -1
- package/lib/poi-search/style/index.less +97 -97
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js.map +1 -1
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/style/index.less +129 -129
- package/lib/provider/index.js.map +1 -1
- package/lib/renderer/Fill.js.map +1 -1
- package/lib/renderer/Stroke.js.map +1 -1
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/renderer/transformRgb.js.map +1 -1
- package/lib/search-map/VtxModal.js.map +1 -1
- package/lib/search-map/index.js +6 -3
- package/lib/search-map/index.js.map +1 -1
- package/lib/search-map/style/css.js.map +1 -1
- package/lib/search-map/style/index.js.map +1 -1
- package/lib/search-map/style/index.less +96 -96
- package/lib/search-map/style/modal.less +65 -65
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +7 -7
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js.map +1 -1
- package/lib/tile-layer/style/css.js.map +1 -1
- package/lib/tile-layer/style/index.js.map +1 -1
- package/lib/tools/Layer/LayerService.js.map +1 -1
- package/lib/tools/Layer/LayersCheckService.js.map +1 -1
- package/lib/tools/Layer/index.js +2 -2
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Layer/index.less +43 -43
- package/lib/tools/Search/index.js +5 -5
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +2 -2
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +2 -2
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +2 -2
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.less +20 -20
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.css +2 -1
- package/lib/tools/Toolbox/MapPrint/index.js +17 -15
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.less +73 -72
- package/lib/tools/Toolbox/MapSheetPrint/assets/lock.png +0 -0
- package/lib/tools/Toolbox/MapSheetPrint/index.js +291 -62
- package/lib/tools/Toolbox/MapSheetPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/MapSheetPrint/index.less +34 -34
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
- package/lib/tools/Toolbox/Measure/index.js.map +1 -1
- package/lib/tools/Toolbox/PolygonSelect/index.js +2 -2
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +11 -11
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.less +87 -87
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
- package/lib/tools/Toolbox/SpaceQuery/index.less +16 -16
- package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
- package/lib/tools/Toolbox/ZoomInput/index.less +5 -5
- package/lib/tools/Toolbox/draftingPrint/index.js +4 -3
- package/lib/tools/Toolbox/draftingPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/draftingPrint/index.less +34 -34
- package/lib/tools/Toolbox/index.js.map +1 -1
- package/lib/tools/Toolbox/index.less +2 -2
- package/lib/tools/Utils/CreateOverlay.js +2 -2
- package/lib/tools/Utils/CreateOverlay.js.map +1 -1
- package/lib/tools/Utils/Draw.js +4 -4
- package/lib/tools/Utils/Draw.js.map +1 -1
- package/lib/tools/Utils/HighLayer.js +2 -2
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/lib/tools/Utils/measure.js.map +1 -1
- package/lib/tools/Utils/utils.js +17 -17
- package/lib/tools/Utils/utils.js.map +1 -1
- package/lib/tools/View/index.js.map +1 -1
- package/lib/tools/View/index.less +28 -28
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Chart/index.js +88 -88
- package/lib/tools/components/Chart/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Info/index.js.map +1 -1
- package/lib/tools/components/Info/index.less +26 -26
- package/lib/tools/components/ItemWrap/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.less +41 -41
- package/lib/tools/components/Modal/index.js +2 -2
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/MyTabs/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.less +5 -5
- package/lib/tools/components/Select/index.js.map +1 -1
- package/lib/tools/components/Table/index.js +2 -2
- package/lib/tools/components/Table/index.js.map +1 -1
- package/lib/tools/components/Table/index.less +13 -13
- package/lib/tools/components/ToolItem/index.js.map +1 -1
- package/lib/tools/components/ToolItem/index.less +27 -27
- package/lib/tools/components/ToolsSelect/index.js.map +1 -1
- package/lib/tools/components/ToolsSelect/index.less +10 -10
- package/lib/tools/full-screen/index.js.map +1 -1
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +154 -154
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/wms-layer/WmsLayer.js.map +1 -1
- package/lib/wms-layer/index.js.map +1 -1
- package/lib/wms-layer/style/css.js.map +1 -1
- package/lib/wms-layer/style/index.js.map +1 -1
- package/package.json +138 -138
- package/lib/tools/Toolbox/MapSheetPrint/index-1.js +0 -1259
- package/lib/tools/Toolbox/MapSheetPrint/index-1.js.map +0 -1
- package/lib/tools/Toolbox/MapSheetPrint/index-2.js +0 -1338
- package/lib/tools/Toolbox/MapSheetPrint/index-2.js.map +0 -1
- package/lib/tools/Toolbox/MapSheetPrint/print.js +0 -189
- package/lib/tools/Toolbox/MapSheetPrint/print.js.map +0 -1
- package/lib/tools/Toolbox/MapSheetPrint/printUtils.js +0 -145
- package/lib/tools/Toolbox/MapSheetPrint/printUtils.js.map +0 -1
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.calcRectSize = calcRectSize;
|
|
7
|
-
exports.calcScale = calcScale;
|
|
8
|
-
exports.getCenter = getCenter;
|
|
9
|
-
exports.getCorners = getCorners;
|
|
10
|
-
exports.metersToPixels = metersToPixels;
|
|
11
|
-
exports.pixelsToMeters = pixelsToMeters;
|
|
12
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
13
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
15
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
16
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
17
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
18
|
-
/**
|
|
19
|
-
* 计算矩形区域的实际宽度(东西向)和高度(南北向),单位米
|
|
20
|
-
* @param {number} west - 西侧经度(度数)
|
|
21
|
-
* @param {number} south - 南侧纬度(度数)
|
|
22
|
-
* @param {number} east - 东侧经度(度数)
|
|
23
|
-
* @param {number} north - 北侧纬度(度数)
|
|
24
|
-
* @param {string} [latRef='mean'] - 宽度计算的参考纬度:'mean'(平均纬度),'south','north'
|
|
25
|
-
* @returns {{width: number, height: number}} 宽度和高度(米)
|
|
26
|
-
*/
|
|
27
|
-
function calcRectSize(west, south, east, north) {
|
|
28
|
-
var latRef = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'mean';
|
|
29
|
-
var R = 6371000; // 地球平均半径(米)
|
|
30
|
-
var degToRad = function degToRad(deg) {
|
|
31
|
-
return deg * Math.PI / 180;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// 南北方向高度(经线弧长),纬度差乘以每度弧长变化不大,直接用平均半径计算
|
|
35
|
-
var latDiff = north - south;
|
|
36
|
-
// 方法1:使用球面弧长公式,每度纬度对应的弧长近似为 R * (π/180) ≈ 111319.5 米,但更精确使用椭球修正可忽略。
|
|
37
|
-
// 直接计算弧长:Δσ = Δ纬度(rad) ,弧长 = R * Δσ
|
|
38
|
-
var height = R * degToRad(latDiff);
|
|
39
|
-
|
|
40
|
-
// 东西方向宽度:经度差乘以该纬度处纬圈半径
|
|
41
|
-
var latRad;
|
|
42
|
-
if (latRef === 'mean') {
|
|
43
|
-
latRad = degToRad((south + north) / 2);
|
|
44
|
-
} else if (latRef === 'south') {
|
|
45
|
-
latRad = degToRad(south);
|
|
46
|
-
} else if (latRef === 'north') {
|
|
47
|
-
latRad = degToRad(north);
|
|
48
|
-
} else {
|
|
49
|
-
latRad = degToRad((south + north) / 2);
|
|
50
|
-
}
|
|
51
|
-
var lonDiff = east - west;
|
|
52
|
-
var width = R * Math.cos(latRad) * degToRad(lonDiff);
|
|
53
|
-
return {
|
|
54
|
-
width: width,
|
|
55
|
-
height: height
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// 实际宽度(米) → 像素宽度
|
|
60
|
-
function metersToPixels(meters, scale) {
|
|
61
|
-
return Number(meters) / Number(scale);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// 像素宽度 → 实际宽度(米)
|
|
65
|
-
function pixelsToMeters(pixels, scale) {
|
|
66
|
-
return Number(pixels) * Number(scale);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* 根据矩形边界计算中心点和四个角点(左下、右下、右上、左上)
|
|
71
|
-
* @param {Array<number>} bounds - [west, south, east, north] 顺序的边界坐标
|
|
72
|
-
* @returns {Object} 包含 center 和 corners 的对象
|
|
73
|
-
*/
|
|
74
|
-
function getCenter(bounds) {
|
|
75
|
-
if (!bounds || bounds.length !== 4) {
|
|
76
|
-
throw new Error('边界数组必须包含 [west, south, east, north] 四个数值');
|
|
77
|
-
}
|
|
78
|
-
var _bounds = _slicedToArray(bounds, 4),
|
|
79
|
-
west = _bounds[0],
|
|
80
|
-
south = _bounds[1],
|
|
81
|
-
east = _bounds[2],
|
|
82
|
-
north = _bounds[3];
|
|
83
|
-
|
|
84
|
-
// 中心点
|
|
85
|
-
var centerLon = (west + east) / 2;
|
|
86
|
-
var centerLat = (south + north) / 2;
|
|
87
|
-
|
|
88
|
-
// 四个角点(左下、右下、右上、左上)
|
|
89
|
-
var corners = {
|
|
90
|
-
bottomLeft: [west, south],
|
|
91
|
-
// 西南角
|
|
92
|
-
bottomRight: [east, south],
|
|
93
|
-
// 东南角
|
|
94
|
-
topRight: [east, north],
|
|
95
|
-
// 东北角
|
|
96
|
-
topLeft: [west, north] // 西北角
|
|
97
|
-
};
|
|
98
|
-
return [centerLon, centerLat];
|
|
99
|
-
}
|
|
100
|
-
function getCorners(bounds) {
|
|
101
|
-
if (!bounds || bounds.length !== 4) {
|
|
102
|
-
throw new Error('边界数组必须包含 [west, south, east, north] 四个数值');
|
|
103
|
-
}
|
|
104
|
-
var _bounds2 = _slicedToArray(bounds, 4),
|
|
105
|
-
west = _bounds2[0],
|
|
106
|
-
south = _bounds2[1],
|
|
107
|
-
east = _bounds2[2],
|
|
108
|
-
north = _bounds2[3];
|
|
109
|
-
|
|
110
|
-
// 中心点
|
|
111
|
-
var centerLon = (west + east) / 2;
|
|
112
|
-
var centerLat = (south + north) / 2;
|
|
113
|
-
|
|
114
|
-
// 四个角点(左下、右下、右上、左上)
|
|
115
|
-
var corners = {
|
|
116
|
-
bottomLeft: [west, south],
|
|
117
|
-
// 西南角
|
|
118
|
-
bottomRight: [east, south],
|
|
119
|
-
// 东南角
|
|
120
|
-
topRight: [east, north],
|
|
121
|
-
// 东北角
|
|
122
|
-
topLeft: [west, north] // 西北角
|
|
123
|
-
};
|
|
124
|
-
return corners;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* 根据实际距离(米)和像素距离(px)计算缩放比例
|
|
129
|
-
* @param {number} realMeters - 实际距离(米)
|
|
130
|
-
* @param {number} px - 对应的像素长度
|
|
131
|
-
* @returns {Object} 包含 metersPerPixel 和 pixelsPerMeter 的对象
|
|
132
|
-
*/
|
|
133
|
-
function calcScale(realMeters, px) {
|
|
134
|
-
if (realMeters <= 0 || px <= 0) {
|
|
135
|
-
throw new Error('实际距离和像素必须为正数');
|
|
136
|
-
}
|
|
137
|
-
var metersPerPixel = realMeters / px;
|
|
138
|
-
var pixelsPerMeter = px / realMeters;
|
|
139
|
-
return {
|
|
140
|
-
metersPerPixel: metersPerPixel,
|
|
141
|
-
// 每像素 = 多少米
|
|
142
|
-
pixelsPerMeter: pixelsPerMeter // 每米 = 多少像素
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=printUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"printUtils.js","names":["calcRectSize","west","south","east","north","latRef","arguments","length","undefined","R","degToRad","deg","Math","PI","latDiff","height","latRad","lonDiff","width","cos","metersToPixels","meters","scale","Number","pixelsToMeters","pixels","getCenter","bounds","Error","_bounds","_slicedToArray","centerLon","centerLat","corners","bottomLeft","bottomRight","topRight","topLeft","getCorners","_bounds2","calcScale","realMeters","px","metersPerPixel","pixelsPerMeter"],"sources":["tools/Toolbox/MapSheetPrint/printUtils.js"],"sourcesContent":["/**\n * 计算矩形区域的实际宽度(东西向)和高度(南北向),单位米\n * @param {number} west - 西侧经度(度数)\n * @param {number} south - 南侧纬度(度数)\n * @param {number} east - 东侧经度(度数)\n * @param {number} north - 北侧纬度(度数)\n * @param {string} [latRef='mean'] - 宽度计算的参考纬度:'mean'(平均纬度),'south','north'\n * @returns {{width: number, height: number}} 宽度和高度(米)\n */\nexport function calcRectSize(west, south, east, north, latRef = 'mean') {\n const R = 6371000; // 地球平均半径(米)\n const degToRad = (deg) => deg * Math.PI / 180;\n\n // 南北方向高度(经线弧长),纬度差乘以每度弧长变化不大,直接用平均半径计算\n const latDiff = north - south;\n // 方法1:使用球面弧长公式,每度纬度对应的弧长近似为 R * (π/180) ≈ 111319.5 米,但更精确使用椭球修正可忽略。\n // 直接计算弧长:Δσ = Δ纬度(rad) ,弧长 = R * Δσ\n const height = R * degToRad(latDiff);\n\n // 东西方向宽度:经度差乘以该纬度处纬圈半径\n let latRad;\n if (latRef === 'mean') {\n latRad = degToRad((south + north) / 2);\n } else if (latRef === 'south') {\n latRad = degToRad(south);\n } else if (latRef === 'north') {\n latRad = degToRad(north);\n } else {\n latRad = degToRad((south + north) / 2);\n }\n const lonDiff = east - west;\n const width = R * Math.cos(latRad) * degToRad(lonDiff);\n\n return { width, height };\n}\n\n// 实际宽度(米) → 像素宽度\nexport function metersToPixels(meters, scale) {\n\n return Number(meters) / Number(scale);\n}\n\n// 像素宽度 → 实际宽度(米)\nexport function pixelsToMeters(pixels, scale) {\n return Number(pixels) * Number(scale);\n}\n\n/**\n * 根据矩形边界计算中心点和四个角点(左下、右下、右上、左上)\n * @param {Array<number>} bounds - [west, south, east, north] 顺序的边界坐标\n * @returns {Object} 包含 center 和 corners 的对象\n */\nexport function getCenter(bounds) {\n if (!bounds || bounds.length !== 4) {\n throw new Error('边界数组必须包含 [west, south, east, north] 四个数值');\n }\n const [west, south, east, north] = bounds;\n\n // 中心点\n const centerLon = (west + east) / 2;\n const centerLat = (south + north) / 2;\n\n // 四个角点(左下、右下、右上、左上)\n const corners = {\n bottomLeft: [west, south], // 西南角\n bottomRight: [east, south], // 东南角\n topRight: [east, north], // 东北角\n topLeft: [west, north] // 西北角\n };\n\n return [centerLon, centerLat]\n}\nexport function getCorners(bounds) {\n if (!bounds || bounds.length !== 4) {\n throw new Error('边界数组必须包含 [west, south, east, north] 四个数值');\n }\n const [west, south, east, north] = bounds;\n\n // 中心点\n const centerLon = (west + east) / 2;\n const centerLat = (south + north) / 2;\n\n // 四个角点(左下、右下、右上、左上)\n const corners = {\n bottomLeft: [west, south], // 西南角\n bottomRight: [east, south], // 东南角\n topRight: [east, north], // 东北角\n topLeft: [west, north] // 西北角\n };\n\n return corners\n}\n\n/**\n * 根据实际距离(米)和像素距离(px)计算缩放比例\n * @param {number} realMeters - 实际距离(米)\n * @param {number} px - 对应的像素长度\n * @returns {Object} 包含 metersPerPixel 和 pixelsPerMeter 的对象\n */\nexport function calcScale(realMeters, px) {\n if (realMeters <= 0 || px <= 0) {\n throw new Error('实际距离和像素必须为正数');\n }\n const metersPerPixel = realMeters / px;\n const pixelsPerMeter = px / realMeters;\n return {\n metersPerPixel, // 每像素 = 多少米\n pixelsPerMeter // 每米 = 多少像素\n };\n}"],"mappings":"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","ignoreList":[]}
|