deeptwins-engine-3d 0.1.76 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
- package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
- package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
- package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
- package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
- package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
- package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
- package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
- package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
- package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
- package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
- package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
- package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
- package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
- package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
- package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
- package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
- package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
- package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
- package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
- package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
- package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
- package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
- package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
- package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
- package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
- package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
- package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
- package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
- package/dist/esm/analyze/SunLightAnalysis.js +1 -91
- package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
- package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
- package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
- package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
- package/dist/esm/cameraControl/Roam.js +1 -418
- package/dist/esm/cameraControl/Rotate.js +1 -134
- package/dist/esm/cameraControl/RotateInPlace.js +1 -99
- package/dist/esm/constant.d.ts +90 -0
- package/dist/esm/constant.js +1 -1287
- package/dist/esm/deepTwins/index.js +1 -121
- package/dist/esm/drawCommand/index.js +1 -3
- package/dist/esm/drawCommand/viewShed/Event.js +1 -142
- package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
- package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
- package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
- package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
- package/dist/esm/drawCommand/viewShed/config.js +1 -21
- package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
- package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
- package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
- package/dist/esm/drawer/algorithm.js +1 -314
- package/dist/esm/drawer/common.js +1 -965
- package/dist/esm/drawer/coordinate.js +1 -184
- package/dist/esm/drawer/index.js +1 -688
- package/dist/esm/drawer/plotUtil.js +1 -266
- package/dist/esm/drawer/shape/Assemble.js +1 -415
- package/dist/esm/drawer/shape/AttackArrow.js +1 -442
- package/dist/esm/drawer/shape/BaseShape.js +1 -383
- package/dist/esm/drawer/shape/Bow.js +1 -375
- package/dist/esm/drawer/shape/Circle.js +1 -461
- package/dist/esm/drawer/shape/Curve.js +1 -386
- package/dist/esm/drawer/shape/DragPoint.js +1 -211
- package/dist/esm/drawer/shape/Elliptic.js +1 -491
- package/dist/esm/drawer/shape/Formation.js +1 -395
- package/dist/esm/drawer/shape/PincerArrow.js +1 -445
- package/dist/esm/drawer/shape/Point.js +1 -131
- package/dist/esm/drawer/shape/Polygon.js +1 -368
- package/dist/esm/drawer/shape/Polyline.js +1 -325
- package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
- package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
- package/dist/esm/drawer/shape/Sector.js +1 -568
- package/dist/esm/drawer/shape/StraightArrow.js +1 -422
- package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
- package/dist/esm/drawer/types.js +1 -11
- package/dist/esm/drawer/utils.js +1 -381
- package/dist/esm/global.css +22 -1
- package/dist/esm/graphicLayer/BaseEntity.js +1 -51
- package/dist/esm/graphicLayer/BaseLayer.js +1 -730
- package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
- package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
- package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
- package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
- package/dist/esm/graphicLayer/BaseSource.js +1 -630
- package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
- package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
- package/dist/esm/graphicLayer/BoxEntity.js +1 -99
- package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
- package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
- package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
- package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
- package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
- package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
- package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
- package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
- package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
- package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
- package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
- package/dist/esm/graphicLayer/LabelEntity.js +1 -110
- package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
- package/dist/esm/graphicLayer/ModelEntity.js +1 -122
- package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
- package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
- package/dist/esm/graphicLayer/PointEntity.js +1 -94
- package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
- package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
- package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
- package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
- package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
- package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
- package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
- package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
- package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
- package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
- package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
- package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
- package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
- package/dist/esm/graphicLayer/WallEntity.js +1 -96
- package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
- package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +1 -175
- package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
- package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
- package/dist/esm/lowAltitude/FactorLayer.js +1 -199
- package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
- package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
- package/dist/esm/lowAltitude/GridDraw.js +1 -137
- package/dist/esm/lowAltitude/PoiLayer.js +1 -74
- package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
- package/dist/esm/lowAltitude/VisitLayer.js +1 -180
- package/dist/esm/map/Event.js +1 -377
- package/dist/esm/map/GroundSkyBox.js +1 -166
- package/dist/esm/map/Map.js +1 -881
- package/dist/esm/map/Property.js +1 -35
- package/dist/esm/material/AtmosphericDispersion.js +1 -569
- package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
- package/dist/esm/material/VolumeCloud.js +1 -115
- package/dist/esm/material/WeatherEffects.js +1 -351
- package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
- package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
- package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
- package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
- package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
- package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
- package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
- package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
- package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
- package/dist/esm/measure/Area.js +1 -220
- package/dist/esm/measure/BaseDraw.js +1 -105
- package/dist/esm/measure/Distance.js +1 -223
- package/dist/esm/measure/index.js +1 -266
- package/dist/esm/measure/types.js +1 -17
- package/dist/esm/measure/utils.js +1 -319
- package/dist/esm/particle/BaseParticle.js +1 -196
- package/dist/esm/particle/FireParticle.js +1 -65
- package/dist/esm/particle/FountainParticle.js +1 -80
- package/dist/esm/particle/SmokeParticle.js +1 -65
- package/dist/esm/particle/common.js +1 -23
- package/dist/esm/particle/index.js +1 -5
- package/dist/esm/property/PositionProperty.js +1 -56
- package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
- package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
- package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
- package/dist/esm/tileLayer/ImageryLayer.js +1 -44
- package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
- package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
- package/dist/esm/tileLayer/RasterLayer.js +1 -23
- package/dist/esm/tileLayer/WmsLayer.js +1 -26
- package/dist/esm/tileLayer/WmtsLayer.js +1 -23
- package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
- package/dist/esm/tool/Compass.js +1 -282
- package/dist/esm/tool/PrimitiveCluster.js +1 -706
- package/dist/esm/tool/TimerInterval.js +1 -58
- package/dist/esm/tool/common.js +1 -405
- package/dist/esm/tool/fetch.js +1 -222
- package/dist/esm/tool/heatmap.js +1 -631
- package/dist/esm/tool/utils.d.ts +1 -0
- package/dist/esm/tool/utils.js +1 -501
- package/dist/esm/toolTip/index.js +1 -79
- package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
- package/dist/esm/videoFusion/BaseVideo.js +1 -330
- package/dist/esm/videoFusion/VideoProject.js +1 -230
- package/dist/esm/videoFusion/VideoTexture.js +1 -163
- package/dist/esm/visualization/BaseHeatmap.js +1 -271
- package/dist/esm/visualization/BoundaryHighlight.d.ts +135 -0
- package/dist/esm/visualization/BoundaryHighlight.js +1 -0
- package/dist/esm/visualization/DynamicWater.js +1 -289
- package/dist/esm/visualization/Frustum.js +1 -248
- package/dist/esm/visualization/Heatmap2d.js +1 -97
- package/dist/esm/visualization/Heatmap3d.js +1 -281
- package/dist/esm/visualization/MigrationEffect.js +1 -397
- package/dist/esm/visualization/PointCluster.js +1 -220
- package/dist/esm/visualization/RadarScan.js +1 -333
- package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
- package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
- package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
- package/dist/esm/visualization/SampledTerrainWater.js +1 -0
- package/dist/esm/visualization/WindField.d.ts +72 -0
- package/dist/esm/visualization/WindField.js +1 -0
- package/dist/esm/visualization/windCore.d.ts +161 -0
- package/dist/esm/visualization/windCore.js +8 -0
- package/dist/umd/deeptwins-engine-3d.min.css +1 -1
- package/dist/umd/deeptwins-engine-3d.min.js +1 -1
- package/package.json +6 -4
|
@@ -1,184 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* 地图坐标相关方法
|
|
3
|
-
*/
|
|
4
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
5
|
-
/**
|
|
6
|
-
* 获取屏幕中心点坐标,参数传空返回笛卡尔坐标
|
|
7
|
-
* @param type "cartesian"-笛卡尔,"degree"-经纬度
|
|
8
|
-
* @returns {object} {x,y,z}
|
|
9
|
-
*/
|
|
10
|
-
var getCameraCentor = function getCameraCentor(viewer, type) {
|
|
11
|
-
var cartesian2 = new Cesium.Cartesian2(viewer.canvas.clientWidth / 2, viewer.canvas.clientHeight / 2);
|
|
12
|
-
var cartesian3 = getCatesian3FromPX(viewer, cartesian2);
|
|
13
|
-
return type === 'degree' ? transformCartesianToWGS84(cartesian3) : cartesian3;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* 经纬度转笛卡尔坐标
|
|
17
|
-
* @param position - { x, y, z }
|
|
18
|
-
* @returns {Object} Cartesian3
|
|
19
|
-
*/
|
|
20
|
-
var transformWGS84ToCartesian = function transformWGS84ToCartesian(position) {
|
|
21
|
-
return position ? Cesium.Cartesian3.fromDegrees(position.x, position.y, position.z, Cesium.Ellipsoid.WGS84) : Cesium.Cartesian3.ZERO;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* 笛卡尔坐标转经纬度
|
|
25
|
-
* @param cartesian Cartesian3
|
|
26
|
-
* @returns {Object} { x, y, z }
|
|
27
|
-
*/
|
|
28
|
-
var transformCartesianToWGS84 = function transformCartesianToWGS84(cartesian) {
|
|
29
|
-
var ellipsoid = Cesium.Ellipsoid.WGS84;
|
|
30
|
-
var cartographic = ellipsoid.cartesianToCartographic(cartesian);
|
|
31
|
-
var x = Cesium.Math.toDegrees(cartographic.longitude);
|
|
32
|
-
var y = Cesium.Math.toDegrees(cartographic.latitude);
|
|
33
|
-
var z = cartographic.height;
|
|
34
|
-
return {
|
|
35
|
-
x: x,
|
|
36
|
-
y: y,
|
|
37
|
-
z: z
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* 经纬度坐标由十进制度转度分秒
|
|
42
|
-
* @param position - { x, y, z }
|
|
43
|
-
* @returns - { x:[], y:[] }
|
|
44
|
-
*/
|
|
45
|
-
var transformWGS84ToDMS = function transformWGS84ToDMS(position) {
|
|
46
|
-
var x = transformDegreeToDMS(position.x);
|
|
47
|
-
var y = transformDegreeToDMS(position.y);
|
|
48
|
-
return {
|
|
49
|
-
x: x,
|
|
50
|
-
y: y
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* 经纬度坐标由度分秒转十进制度
|
|
55
|
-
* @param dms - { x:[], y:[] }
|
|
56
|
-
* @returns - { x, y }
|
|
57
|
-
*/
|
|
58
|
-
var transformDMSToWGS84 = function transformDMSToWGS84(dms) {
|
|
59
|
-
var x = transformDMSToDegree(dms.x);
|
|
60
|
-
var y = transformDMSToDegree(dms.y);
|
|
61
|
-
return {
|
|
62
|
-
x: x,
|
|
63
|
-
y: y
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* 十进制度转度分秒
|
|
68
|
-
* @param degree 十进制度坐标值
|
|
69
|
-
* @returns [ degrees, minutes, seconds ]
|
|
70
|
-
*/
|
|
71
|
-
var transformDegreeToDMS = function transformDegreeToDMS(degree) {
|
|
72
|
-
var value = degree.toString();
|
|
73
|
-
var i = value.indexOf('.');
|
|
74
|
-
var _degrees = i < 0 ? degree : Number(value.substring(0, i)); //获取度
|
|
75
|
-
var _minutes = 0;
|
|
76
|
-
var _seconds = 0;
|
|
77
|
-
if (i > 0) {
|
|
78
|
-
var minutes = Number(value.substring(i)) * 60;
|
|
79
|
-
var strMinutes = minutes.toString();
|
|
80
|
-
var n = strMinutes.indexOf('.');
|
|
81
|
-
_minutes = n < 0 ? minutes : Number(strMinutes.substring(0, n));
|
|
82
|
-
if (n > 0) {
|
|
83
|
-
var seconds = Number(strMinutes.substring(n)) * 60;
|
|
84
|
-
_seconds = Number(seconds.toFixed(2));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return [_degrees, _minutes, _seconds];
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* 度分秒转十进制度
|
|
91
|
-
* @param dms 度分秒坐标值
|
|
92
|
-
* @returns 十进制度坐标值
|
|
93
|
-
*/
|
|
94
|
-
var transformDMSToDegree = function transformDMSToDegree(dms) {
|
|
95
|
-
var _degrees = dms[0];
|
|
96
|
-
var _minutes = dms[1] ? dms[1] / 60 : 0;
|
|
97
|
-
var _seconds = dms[2] ? dms[2] / 3600 : 0;
|
|
98
|
-
var dmsResult = _degrees + _minutes + _seconds;
|
|
99
|
-
return dmsResult;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* 获取屏幕点的笛卡尔坐标
|
|
104
|
-
* @param viewer 三维场景viewer
|
|
105
|
-
* @param px 屏幕像素点
|
|
106
|
-
* @returns {Object} Cartesian3 | null
|
|
107
|
-
*/
|
|
108
|
-
var getCatesian3FromPX = function getCatesian3FromPX(viewer, px) {
|
|
109
|
-
var cartesian = null;
|
|
110
|
-
var isOn3dtiles = false;
|
|
111
|
-
var isOnTerrain = false;
|
|
112
|
-
// drillPick
|
|
113
|
-
var picks = viewer.scene.drillPick(px);
|
|
114
|
-
for (var i in picks) {
|
|
115
|
-
var pick = picks[i];
|
|
116
|
-
if (pick && pick.primitive instanceof Cesium.Cesium3DTileFeature || pick && pick.primitive instanceof Cesium.Cesium3DTileset || pick && pick.primitive instanceof Cesium.Model) {
|
|
117
|
-
//模型上拾取位置点
|
|
118
|
-
isOn3dtiles = true;
|
|
119
|
-
return viewer.scene.pickPosition(px);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
var noTerrain = viewer.terrainProvider instanceof Cesium.EllipsoidTerrainProvider; // 判断是否有地形
|
|
123
|
-
// 在地形上拾取位置点
|
|
124
|
-
if (!isOn3dtiles && !noTerrain) {
|
|
125
|
-
var ray = viewer.scene.camera.getPickRay(px);
|
|
126
|
-
if (!ray) return null;
|
|
127
|
-
isOnTerrain = true;
|
|
128
|
-
cartesian = viewer.scene.globe.pick(ray, viewer.scene);
|
|
129
|
-
}
|
|
130
|
-
// 在普通地球上拾取位置点
|
|
131
|
-
if (!isOn3dtiles && !isOnTerrain && noTerrain) {
|
|
132
|
-
cartesian = viewer.scene.camera.pickEllipsoid(px, viewer.scene.globe.ellipsoid);
|
|
133
|
-
}
|
|
134
|
-
return cartesian;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
/*
|
|
138
|
-
* 计算两点对于正北方向的朝向角度 [0,360]
|
|
139
|
-
* @param {*} start format:{'x': 130, 'y': 20 }
|
|
140
|
-
* @param {*} end
|
|
141
|
-
*/
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* 计算两点对于正北方向的朝向角度 [0,360]
|
|
145
|
-
* @param start format:{'x': 130, 'y': 20 }
|
|
146
|
-
* @param end format:{'x': 130, 'y': 20 }
|
|
147
|
-
* @returns
|
|
148
|
-
*/
|
|
149
|
-
var calculateAngle = function calculateAngle(start, end) {
|
|
150
|
-
var rad = Math.PI / 180,
|
|
151
|
-
lat1 = start.y * rad,
|
|
152
|
-
lat2 = end.y * rad,
|
|
153
|
-
lon1 = start.x * rad,
|
|
154
|
-
lon2 = end.x * rad;
|
|
155
|
-
var a = Math.sin(lon2 - lon1) * Math.cos(lat2);
|
|
156
|
-
var b = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1);
|
|
157
|
-
return radiansToDegrees(Math.atan2(a, b));
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
/*
|
|
161
|
-
* 弧度转换为角度
|
|
162
|
-
*/
|
|
163
|
-
function radiansToDegrees(radians) {
|
|
164
|
-
var degrees = radians % (2 * Math.PI);
|
|
165
|
-
return degrees * 180 / Math.PI < 0 ? 360 + degrees * 180 / Math.PI : degrees * 180 / Math.PI;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* 计算旋转矩阵
|
|
169
|
-
* @param cartesian 位置点(Cartesian3)
|
|
170
|
-
* @param hpr 旋转角:[heading, pitch, roll],单位度
|
|
171
|
-
* @returns
|
|
172
|
-
*/
|
|
173
|
-
var calculateOrientation = function calculateOrientation(cartesian, hpr) {
|
|
174
|
-
var heading = Cesium.Math.toRadians(hpr[0]);
|
|
175
|
-
//弧度的螺距分量。
|
|
176
|
-
var pitch = Cesium.Math.toRadians(hpr[1]);
|
|
177
|
-
//滚动分量(结果以弧度为单位)
|
|
178
|
-
var roll = Cesium.Math.toRadians(hpr[2]);
|
|
179
|
-
//HeadingPitchRoll旋转表示为航向,俯仰和滚动。围绕Z轴。节距是绕负y轴的旋转。滚动是关于正x轴。
|
|
180
|
-
var _hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
|
|
181
|
-
var orientation = Cesium.Transforms.headingPitchRollQuaternion(cartesian, _hpr);
|
|
182
|
-
return orientation;
|
|
183
|
-
};
|
|
184
|
-
export { calculateAngle, calculateOrientation, getCameraCentor, getCatesian3FromPX, transformCartesianToWGS84, transformDMSToDegree, transformDMSToWGS84, transformDegreeToDMS, transformWGS84ToCartesian, transformWGS84ToDMS };
|
|
1
|
+
(function(_0x29a269,_0xebf13){var _0x1fb46d=_0x5954,_0x1e0293=_0x29a269();while(!![]){try{var _0x3a0a2e=-parseInt(_0x1fb46d(0x95))/0x1+-parseInt(_0x1fb46d(0x96))/0x2*(parseInt(_0x1fb46d(0x89))/0x3)+parseInt(_0x1fb46d(0x9f))/0x4*(-parseInt(_0x1fb46d(0xa3))/0x5)+-parseInt(_0x1fb46d(0x9b))/0x6+-parseInt(_0x1fb46d(0x8a))/0x7+-parseInt(_0x1fb46d(0x9c))/0x8+-parseInt(_0x1fb46d(0x98))/0x9*(-parseInt(_0x1fb46d(0x97))/0xa);if(_0x3a0a2e===_0xebf13)break;else _0x1e0293['push'](_0x1e0293['shift']());}catch(_0x54c472){_0x1e0293['push'](_0x1e0293['shift']());}}}(_0x32f3,0xcac1f));function _0x5954(_0x2c2793,_0x2a6b58){_0x2c2793=_0x2c2793-0x83;var _0x32f378=_0x32f3();var _0x595499=_0x32f378[_0x2c2793];if(_0x5954['nWxHDX']===undefined){var _0x1f8505=function(_0x44ecd8){var _0x2cd38b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x36b0cb='',_0x4f3b37='';for(var _0x4d8759=0x0,_0x48c08b,_0x578478,_0x59fce2=0x0;_0x578478=_0x44ecd8['charAt'](_0x59fce2++);~_0x578478&&(_0x48c08b=_0x4d8759%0x4?_0x48c08b*0x40+_0x578478:_0x578478,_0x4d8759++%0x4)?_0x36b0cb+=String['fromCharCode'](0xff&_0x48c08b>>(-0x2*_0x4d8759&0x6)):0x0){_0x578478=_0x2cd38b['indexOf'](_0x578478);}for(var _0x12a99f=0x0,_0x3037c8=_0x36b0cb['length'];_0x12a99f<_0x3037c8;_0x12a99f++){_0x4f3b37+='%'+('00'+_0x36b0cb['charCodeAt'](_0x12a99f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f3b37);};_0x5954['jfugoe']=_0x1f8505,_0x5954['ZVshVg']={},_0x5954['nWxHDX']=!![];}var _0x41a12c=_0x32f378[0x0],_0x345722=_0x2c2793+_0x41a12c,_0x46b2de=_0x5954['ZVshVg'][_0x345722];return!_0x46b2de?(_0x595499=_0x5954['jfugoe'](_0x595499),_0x5954['ZVshVg'][_0x345722]=_0x595499):_0x595499=_0x46b2de,_0x595499;}import*as _0x36b0cb from'deeptwins-cesium';var getCameraCentor=function getCameraCentor(_0x4f3b37,_0x4d8759){var _0x3d2a6c=_0x5954,_0x48c08b=new _0x36b0cb['Cartesian2'](_0x4f3b37[_0x3d2a6c(0x8b)][_0x3d2a6c(0x9e)]/0x2,_0x4f3b37[_0x3d2a6c(0x8b)]['clientHeight']/0x2),_0x578478=getCatesian3FromPX(_0x4f3b37,_0x48c08b);return _0x4d8759==='degree'?transformCartesianToWGS84(_0x578478):_0x578478;},transformWGS84ToCartesian=function transformWGS84ToCartesian(_0x59fce2){var _0x4f74b0=_0x5954;return _0x59fce2?_0x36b0cb[_0x4f74b0(0x94)][_0x4f74b0(0xa2)](_0x59fce2['x'],_0x59fce2['y'],_0x59fce2['z'],_0x36b0cb['Ellipsoid'][_0x4f74b0(0x8e)]):_0x36b0cb['Cartesian3']['ZERO'];},transformCartesianToWGS84=function transformCartesianToWGS84(_0x12a99f){var _0x80a020=_0x5954,_0x3037c8=_0x36b0cb['Ellipsoid'][_0x80a020(0x8e)],_0x2fe973=_0x3037c8[_0x80a020(0x87)](_0x12a99f),_0x14c149=_0x36b0cb['Math']['toDegrees'](_0x2fe973['longitude']),_0x31e9bc=_0x36b0cb['Math']['toDegrees'](_0x2fe973['latitude']),_0x41e085=_0x2fe973[_0x80a020(0x90)];return{'x':_0x14c149,'y':_0x31e9bc,'z':_0x41e085};},transformWGS84ToDMS=function transformWGS84ToDMS(_0x446883){var _0x3d57bc=transformDegreeToDMS(_0x446883['x']),_0x34edcb=transformDegreeToDMS(_0x446883['y']);return{'x':_0x3d57bc,'y':_0x34edcb};},transformDMSToWGS84=function transformDMSToWGS84(_0x53c502){var _0x2c826c=transformDMSToDegree(_0x53c502['x']),_0x1c4ee9=transformDMSToDegree(_0x53c502['y']);return{'x':_0x2c826c,'y':_0x1c4ee9};},transformDegreeToDMS=function transformDegreeToDMS(_0x7dd3ff){var _0x16c8e6=_0x5954,_0x23acd1=_0x7dd3ff['toString'](),_0x142395=_0x23acd1['indexOf']('.'),_0x12a95d=_0x142395<0x0?_0x7dd3ff:Number(_0x23acd1['substring'](0x0,_0x142395)),_0x203b9a=0x0,_0x27a235=0x0;if(_0x142395>0x0){var _0xb25152=Number(_0x23acd1['substring'](_0x142395))*0x3c,_0x14ca5a=_0xb25152['toString'](),_0x447706=_0x14ca5a['indexOf']('.');_0x203b9a=_0x447706<0x0?_0xb25152:Number(_0x14ca5a[_0x16c8e6(0x92)](0x0,_0x447706));if(_0x447706>0x0){var _0x4a5463=Number(_0x14ca5a[_0x16c8e6(0x92)](_0x447706))*0x3c;_0x27a235=Number(_0x4a5463['toFixed'](0x2));}}return[_0x12a95d,_0x203b9a,_0x27a235];},transformDMSToDegree=function transformDMSToDegree(_0x4ac223){var _0x4b7904=_0x4ac223[0x0],_0x24930c=_0x4ac223[0x1]?_0x4ac223[0x1]/0x3c:0x0,_0x158a3d=_0x4ac223[0x2]?_0x4ac223[0x2]/0xe10:0x0,_0x5bc99c=_0x4b7904+_0x24930c+_0x158a3d;return _0x5bc99c;},getCatesian3FromPX=function getCatesian3FromPX(_0x266f0b,_0x41fa01){var _0x13af43=_0x5954,_0x3f486e=null,_0x79e576=![],_0x4cff6f=![],_0x524af5=_0x266f0b['scene'][_0x13af43(0x85)](_0x41fa01);for(var _0x2b9820 in _0x524af5){var _0x44f450=_0x524af5[_0x2b9820];if(_0x44f450&&_0x44f450['primitive']instanceof _0x36b0cb[_0x13af43(0x99)]||_0x44f450&&_0x44f450[_0x13af43(0x91)]instanceof _0x36b0cb['Cesium3DTileset']||_0x44f450&&_0x44f450['primitive']instanceof _0x36b0cb['Model'])return _0x79e576=!![],_0x266f0b[_0x13af43(0x8d)][_0x13af43(0x83)](_0x41fa01);}var _0x265404=_0x266f0b[_0x13af43(0xa1)]instanceof _0x36b0cb['EllipsoidTerrainProvider'];if(!_0x79e576&&!_0x265404){var _0x4a00d2=_0x266f0b[_0x13af43(0x8d)][_0x13af43(0x8f)][_0x13af43(0x9a)](_0x41fa01);if(!_0x4a00d2)return null;_0x4cff6f=!![],_0x3f486e=_0x266f0b[_0x13af43(0x8d)]['globe'][_0x13af43(0x88)](_0x4a00d2,_0x266f0b['scene']);}return!_0x79e576&&!_0x4cff6f&&_0x265404&&(_0x3f486e=_0x266f0b['scene']['camera']['pickEllipsoid'](_0x41fa01,_0x266f0b[_0x13af43(0x8d)]['globe'][_0x13af43(0x8c)])),_0x3f486e;},calculateAngle=function calculateAngle(_0x5b487e,_0x49ded9){var _0x2b82da=_0x5954,_0x4857c6=Math['PI']/0xb4,_0x752997=_0x5b487e['y']*_0x4857c6,_0x1c3617=_0x49ded9['y']*_0x4857c6,_0x24dcd6=_0x5b487e['x']*_0x4857c6,_0x3d8758=_0x49ded9['x']*_0x4857c6,_0x3df765=Math['sin'](_0x3d8758-_0x24dcd6)*Math['cos'](_0x1c3617),_0x580d8d=Math['cos'](_0x752997)*Math[_0x2b82da(0x93)](_0x1c3617)-Math['sin'](_0x752997)*Math[_0x2b82da(0x84)](_0x1c3617)*Math[_0x2b82da(0x84)](_0x3d8758-_0x24dcd6);return radiansToDegrees(Math[_0x2b82da(0x9d)](_0x3df765,_0x580d8d));};function radiansToDegrees(_0x430557){var _0x563b50=_0x430557%(0x2*Math['PI']);return _0x563b50*0xb4/Math['PI']<0x0?0x168+_0x563b50*0xb4/Math['PI']:_0x563b50*0xb4/Math['PI'];}var calculateOrientation=function calculateOrientation(_0x2eb0ab,_0x1b0c6d){var _0x567727=_0x5954,_0x445a5e=_0x36b0cb[_0x567727(0xa0)][_0x567727(0x86)](_0x1b0c6d[0x0]),_0x364747=_0x36b0cb[_0x567727(0xa0)][_0x567727(0x86)](_0x1b0c6d[0x1]),_0x3fab8d=_0x36b0cb[_0x567727(0xa0)]['toRadians'](_0x1b0c6d[0x2]),_0x5a45c4=new _0x36b0cb['HeadingPitchRoll'](_0x445a5e,_0x364747,_0x3fab8d),_0x546b5d=_0x36b0cb['Transforms']['headingPitchRollQuaternion'](_0x2eb0ab,_0x5a45c4);return _0x546b5d;};export{calculateAngle,calculateOrientation,getCameraCentor,getCatesian3FromPX,transformCartesianToWGS84,transformDMSToDegree,transformDMSToWGS84,transformDegreeToDMS,transformWGS84ToCartesian,transformWGS84ToDMS};function _0x32f3(){var _0x207ab0=['odyYA25sr2jL','mJaZmfL1yvnxzW','mtCZndu3wNv4thb0','q2vZAxvTm0ruAwXLrMvHDhvYzq','z2v0ugLJA1jHEq','nJu2nda0mNrxB2PgCa','ntq3ndmYu1jXzhfM','yxrHBJi','y2XPzw50v2LKDgG','otiZodq4vK16tfHS','twf0Aa','DgvYCMfPBLbYB3zPzgvY','zNjVBurLz3jLzxm','nu9vA0zKwq','CgLJA1bVC2L0Aw9U','y29Z','zhjPBgXqAwnR','Dg9sywrPyw5Z','y2fYDgvZAwfUvg9dyxj0B2DYyxbOAwm','CgLJAW','mtqWn2fYC2T2rq','nZy1ntuZnLbxBMDVsW','y2fUDMfZ','zwXSAxbZB2LK','C2nLBMu','v0Dtodq','y2fTzxjH','AgvPz2H0','ChjPBwL0AxzL','C3vIC3rYAw5N','C2LU','q2fYDgvZAwfUmW','mZKYnZm5CNzxsgv5'];_0x32f3=function(){return _0x207ab0;};return _0x32f3();}
|