learning_cesium/coordinates.html

74 lines
3.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>坐标系转换</title>
<script src="./Build/Cesium/Cesium.js"></script>
<link href="./Build/Cesium/Widgets/widgets.css" rel="stylesheet" />
<style>
@import url(./Build/Cesium/Widgets/widgets.css);
html,
body,
#cesiumContainer {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
<!-- <script src="https://cesium.com/downloads/cesiumjs/releases/1.68/Build/Cesium/Cesium.js"></script> -->
<!-- <link href="https://cesium.com/downloads/cesiumjs/releases/1.68/Build/Cesium/Widgets/widgets.css" rel="stylesheet"> -->
</head>
<body>
<div id="cesiumContainer"></div>
<script>
// Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZjRjNTZkNC01NDYxLTRhMjQtOGEwZC1kZjA3YzQ5YTJlZDkiLCJpZCI6MjYwODQsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1ODcxOTMwODN9.prGsSKyAW_9Ow5zHYPhbm3LsQL-ApQw5-5PNJkDaHi8';
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZjRjNTZkNC01NDYxLTRhMjQtOGEwZC1kZjA3YzQ5YTJlZDkiLCJpZCI6MjYwODQsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1ODcxOTMwODN9.prGsSKyAW_9Ow5zHYPhbm3LsQL-ApQw5-5PNJkDaHi8";
var viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: Cesium.createWorldTerrain(),
});
// Cesium.Cartesian3.fromDegrees(longitude, latitude, ?height, ?ellipsoid, ?result)
// height为大地高
const position = Cesium.Cartesian3.fromDegrees(-115.0, 37.0);
// Cesium.Cartesian3.fromDegreesArray(coordinates, ?ellipsoid, ?result)
// coordinates 格式为不带大地高的数组:[112.11 ,22.71 ,12.21 ,22.9]
const positions = Cesium.Cartesian3.fromDegreesArray([
-115.0, 37.0, -107.0, 33.0,
]);
// Cesium.Cartesian3.fromDegreesArrayHeights(coordinates, ?ellipsoid, ?result)
// coordinates 格式为带大地高的数组
const positions1 = Cesium.Cartesian3.fromDegreesArrayHeights([
-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0,
]);
const ellipsoid84 = Cesium.Ellipsoid.wgs84;
cartesianToCartographic(cartesian, result);
//笛卡尔空间坐标转WGS84弧度.
const position1 = new Cesium.Cartesian3(17832.12, 83234.52, 952313.73);
const cartographicPosition =
ellipsoid84.cartesianToCartographic(position);
// WGS84 转 笛卡尔空间坐标
const position2 = new Cesium.Cartographic(
Cesium.Math.toRadians(21),
Cesium.Math.toRadians(78),
5000
);
const cartesianPosition = ellipsoid84.cartographicToCartesian(position);
// let cartesian3 = viewer.scene.pickPosition(cartesian2)
// let cartesian3 = viewer.scene.globe.pick(viewer.camera.getPickRay(cartesian2),viewer.scene)
// let cartesian3 = viewer.scene.camera.pickEllipsoid(cartesian2)
// Cesium.SceneTra
</script>
</body>
</html>