Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cesium-frame
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jlc
cesium-frame
Commits
9948174a
Commit
9948174a
authored
Aug 01, 2024
by
yzh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:更新了经纬高与地固xyz坐标的转换
parent
6d207b02
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
153 additions
and
3 deletions
+153
-3
CodeMap.js
src/examples/CodeMap.js
+4
-1
FunctionMap.js
src/examples/FunctionMap.js
+4
-1
convertECEFtoWGS84-function.js
...gorithm/convertECEFtoWGS84/convertECEFtoWGS84-function.js
+17
-0
convertECEFtoWGS84.vue
...uiltInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84.vue
+50
-0
convertWGS84toECEF-function.js
...gorithm/convertWGS84toECEF/convertWGS84toECEF-function.js
+18
-0
convertWGS84toECEF.vue
...uiltInAlgorithm/convertWGS84toECEF/convertWGS84toECEF.vue
+49
-0
ElementMap.js
src/views/ElementMap.js
+11
-1
No files found.
src/examples/CodeMap.js
View file @
9948174a
...
@@ -51,7 +51,8 @@ import vueCodeWaterSurface from '@/examples/weather/waterSurface/waterSurface.vu
...
@@ -51,7 +51,8 @@ import vueCodeWaterSurface from '@/examples/weather/waterSurface/waterSurface.vu
// 内置算法
// 内置算法
import
vueCodeDistanceTwoPoints
from
'@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints.vue?raw'
import
vueCodeDistanceTwoPoints
from
'@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints.vue?raw'
import
vueCodeConvertECEFtoWGS84
from
'@/examples/builtInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84.vue?raw'
import
vueCodeConvertWGS84toECEF
from
'@/examples/builtInAlgorithm/convertWGS84toECEF/convertWGS84toECEF.vue?raw'
const
vueCodeMap
=
{
const
vueCodeMap
=
{
// 太空任务
// 太空任务
...
@@ -106,6 +107,8 @@ const vueCodeMap = {
...
@@ -106,6 +107,8 @@ const vueCodeMap = {
水面
:
vueCodeWaterSurface
,
水面
:
vueCodeWaterSurface
,
// 内置算法
// 内置算法
经纬高转地固
XYZ
:
vueCodeConvertWGS84toECEF
,
地固
XYZ
转经纬高
:
vueCodeConvertECEFtoWGS84
,
计算两点间距离
:
vueCodeDistanceTwoPoints
,
计算两点间距离
:
vueCodeDistanceTwoPoints
,
}
}
...
...
src/examples/FunctionMap.js
View file @
9948174a
...
@@ -50,9 +50,10 @@ import functionCodeFog from '@/examples/weather/fog/fog-function.js?raw'
...
@@ -50,9 +50,10 @@ import functionCodeFog from '@/examples/weather/fog/fog-function.js?raw'
import
functionCodeWaterSurface
from
'@/examples/weather/waterSurface/waterSurface-function.js?raw'
import
functionCodeWaterSurface
from
'@/examples/weather/waterSurface/waterSurface-function.js?raw'
// 内置算法
// 内置算法
import
functiionCodeConvertWGS84toECEF
from
'@/examples/builtInAlgorithm/convertWGS84toECEF/convertWGS84toECEF-function.js?raw'
import
functiionCodeConvertECEFtoWGS84
from
'@/examples/builtInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84-function.js?raw'
import
functionCodeDistanceTwoPoints
from
'@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints-function.js?raw'
import
functionCodeDistanceTwoPoints
from
'@/examples/builtInAlgorithm/distanceTwoPoints/distanceTwoPoints-function.js?raw'
const
functionCodeMap
=
{
const
functionCodeMap
=
{
// 太空任务
// 太空任务
月球轨道
:
functionCodeMoonTrack
,
月球轨道
:
functionCodeMoonTrack
,
...
@@ -106,6 +107,8 @@ const functionCodeMap = {
...
@@ -106,6 +107,8 @@ const functionCodeMap = {
水面
:
functionCodeWaterSurface
,
水面
:
functionCodeWaterSurface
,
// 内置算法
// 内置算法
经纬高转地固
XYZ
:
functiionCodeConvertWGS84toECEF
,
地固
XYZ
转经纬高
:
functiionCodeConvertECEFtoWGS84
,
计算两点间距离
:
functionCodeDistanceTwoPoints
,
计算两点间距离
:
functionCodeDistanceTwoPoints
,
}
}
...
...
src/examples/builtInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84-function.js
0 → 100644
View file @
9948174a
export
function
changeCoordinate
(
viewer
,
x
,
y
,
z
)
{
// 创建Cesium.Cartesian3对象
let
cartesian3
=
new
Cesium
.
Cartesian3
(
x
,
y
,
z
);
// 转换为WGS84弧度坐标
let
cartographic
=
Cesium
.
Ellipsoid
.
WGS84
.
cartesianToCartographic
(
cartesian3
);
// 转换弧度为度数
let
longitudeDegrees
=
Cesium
.
Math
.
toDegrees
(
cartographic
.
longitude
);
let
latitudeDegrees
=
Cesium
.
Math
.
toDegrees
(
cartographic
.
latitude
);
let
degreesLongitude
=
longitudeDegrees
.
toFixed
(
4
);
let
degreesLatitude
=
latitudeDegrees
.
toFixed
(
4
);
let
Height
=
cartographic
.
height
.
toFixed
(
4
);
// 输出WGS84坐标
console
.
log
(
"经度: "
+
degreesLongitude
+
"度"
);
console
.
log
(
"纬度: "
+
degreesLatitude
+
"度"
);
console
.
log
(
"海拔: "
+
Height
+
"米"
);
}
\ No newline at end of file
src/examples/builtInAlgorithm/convertECEFtoWGS84/convertECEFtoWGS84.vue
0 → 100644
View file @
9948174a
<
template
>
<div
id=
"cesiumContainer"
style=
"width: 100vw; height: 100vh"
></div>
<div
class=
"itemClass"
>
<div>
<input
type=
"string"
class=
"inputClass"
v-model=
"X"
placeholder=
"X:"
/>
<input
type=
"string"
class=
"inputClass"
v-model=
"Y"
placeholder=
"Y:"
/>
<input
type=
"string"
class=
"inputClass"
v-model=
"Z"
placeholder=
"Z:"
/>
</div>
<div>
<button
@
click=
"changeCoordinate(viewer, X, Y, Z)"
style=
"margin: 1px"
>
转换坐标
</button>
</div>
</div>
</
template
>
<
script
setup
>
import
{
onMounted
,
ref
}
from
"vue"
;
import
{
changeCoordinate
}
from
'./function'
let
viewer
;
const
X
=
ref
();
const
Y
=
ref
();
const
Z
=
ref
();
onMounted
(()
=>
{
const
script
=
document
.
createElement
(
'script'
);
script
.
src
=
'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js'
;
script
.
onload
=
()
=>
{
window
.
Cesium
.
Ion
.
defaultAccessToken
=
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE'
viewer
=
new
window
.
Cesium
.
Viewer
(
'cesiumContainer'
,
{
infoBox
:
false
,
});
};
document
.
head
.
appendChild
(
script
);
const
link
=
document
.
createElement
(
'link'
);
link
.
rel
=
'stylesheet'
;
link
.
href
=
'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css'
;
document
.
head
.
appendChild
(
link
);
});
</
script
>
<
style
scoped
>
.itemClass
{
position
:
absolute
;
top
:
10px
;
left
:
10px
;
}
</
style
>
\ No newline at end of file
src/examples/builtInAlgorithm/convertWGS84toECEF/convertWGS84toECEF-function.js
0 → 100644
View file @
9948174a
export
function
changeCoordinate
(
viewer
,
longitude
,
latitude
,
height
)
{
// let nums = []; //定义一个数组
// nums = input.value.split(","); //将输入框的字符串数据取出来放入数组中 在数组中的input数据做个分隔
let
longitude2
=
Cesium
.
Math
.
toRadians
(
longitude
);
//将经纬度转换为弧度
let
latitude2
=
Cesium
.
Math
.
toRadians
(
latitude
);
//将经纬度转换为弧度
let
height2
=
Number
(
height
);
let
cartesianPosition
=
Cesium
.
Cartesian3
.
fromRadians
(
longitude2
,
latitude2
,
height2
);
let
x
=
cartesianPosition
.
x
.
toFixed
(
4
);
//将需要输出的xyz坐标保留四位小数
let
y
=
cartesianPosition
.
y
.
toFixed
(
4
);
let
z
=
cartesianPosition
.
z
.
toFixed
(
4
);
let
Position
=
"X: "
+
x
+
", Y: "
+
y
+
", Z: "
+
z
;
console
.
log
(
Position
);
}
\ No newline at end of file
src/examples/builtInAlgorithm/convertWGS84toECEF/convertWGS84toECEF.vue
0 → 100644
View file @
9948174a
<
template
>
<div
id=
"cesiumContainer"
style=
"width: 100vw; height: 100vh"
></div>
<div
class=
"itemClass"
>
<div>
<input
type=
"string"
class=
"inputClass"
v-model=
"longitude"
placeholder=
"经度:"
/>
<input
type=
"string"
class=
"inputClass"
v-model=
"latitude"
placeholder=
"纬度:"
/>
<input
type=
"string"
class=
"inputClass"
v-model=
"height"
placeholder=
"高度:"
/>
</div>
<div>
<button
@
click=
"changeCoordinate(viewer, longitude, latitude, height)"
style=
"margin: 1px"
>
转换坐标
</button>
</div>
</div>
</
template
>
<
script
setup
>
import
{
onMounted
,
ref
}
from
"vue"
;
import
{
changeCoordinate
}
from
'./function.js'
const
longitude
=
ref
();
const
latitude
=
ref
();
const
height
=
ref
();
let
viewer
;
onMounted
(()
=>
{
const
script
=
document
.
createElement
(
'script'
);
script
.
src
=
'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js'
;
script
.
onload
=
()
=>
{
window
.
Cesium
.
Ion
.
defaultAccessToken
=
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE'
viewer
=
new
window
.
Cesium
.
Viewer
(
'cesiumContainer'
,
{
infoBox
:
false
,
});
};
document
.
head
.
appendChild
(
script
);
const
link
=
document
.
createElement
(
'link'
);
link
.
rel
=
'stylesheet'
;
link
.
href
=
'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css'
;
document
.
head
.
appendChild
(
link
);
});
</
script
>
<
style
scoped
>
.itemClass
{
position
:
absolute
;
top
:
10px
;
left
:
10px
;
}
</
style
>
src/views/ElementMap.js
View file @
9948174a
...
@@ -176,8 +176,17 @@ export const elementWeatherMap = {
...
@@ -176,8 +176,17 @@ export const elementWeatherMap = {
// 内置算法
// 内置算法
export
const
elementAlgorithmMap
=
{
export
const
elementAlgorithmMap
=
{
经纬高转地固
XYZ
:
{
title
:
'经纬高转地固XYZ'
,
pngUrl
:
'/src/assets/DistanceTwoPoints.png'
},
地固
XYZ
转经纬高
:
{
title
:
'地固XYZ转经纬高'
,
pngUrl
:
'/src/assets/DistanceTwoPoints.png'
},
计算两点间距离
:
{
计算两点间距离
:
{
title
:
'计算两点间距离'
,
title
:
'计算两点间距离'
,
pngUrl
:
'/src/assets/DistanceTwoPoints.png'
pngUrl
:
'/src/assets/DistanceTwoPoints.png'
}
},
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment