mirror of
https://github.com/jiawanlong/Cesium-Examples.git
synced 2025-07-05 07:37:31 +00:00
GIS客户端:相交分析
This commit is contained in:
parent
128d766d03
commit
3325f5f6f1
94
examples/cesiumEx/8.1.1、叠加分析.html
Normal file
94
examples/cesiumEx/8.1.1、叠加分析.html
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<!--********************************************************************
|
||||||
|
* by jiawanlong
|
||||||
|
*********************************************************************-->
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="stylesheet" href="./../../cesium/Cesium1.98/Widgets/widgets.css">
|
||||||
|
<script type="text/javascript" src="./../../cesium/Cesium1.98/Cesium.js"></script>
|
||||||
|
<script src="./turf.min.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin: 0; overflow: hidden; background: #fff; width: 100%; height: 100%; position: absolute; top: 0">
|
||||||
|
<div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3ZjQ5ZGUzNC1jNWYwLTQ1ZTMtYmNjYS05YTY4ZTVmN2I2MDkiLCJpZCI6MTE3MTM4LCJpYXQiOjE2NzY0NDUyODB9.ZaNSBIfc1sGLhQd_xqhiSsc0yr8oS0wt1hAo9gbke6M'
|
||||||
|
const viewer = new Cesium.Viewer('map', {});
|
||||||
|
|
||||||
|
// Cesium地形
|
||||||
|
viewer.terrainProvider = Cesium.createWorldTerrain({
|
||||||
|
requestWaterMask: true, // 请求水体效果所需要的海岸线数据
|
||||||
|
requestVertexNormals: true// 请求地形照明数据
|
||||||
|
});
|
||||||
|
// 深度监测
|
||||||
|
viewer.scene.globe.depthTestAgainstTerrain = true;
|
||||||
|
|
||||||
|
let arr1 = [
|
||||||
|
[117.182288, 31.854164],
|
||||||
|
[117.210254, 31.878324],
|
||||||
|
[117.238229, 31.855796],
|
||||||
|
[117.242307, 31.826109],
|
||||||
|
[117.177277, 31.821475],
|
||||||
|
[117.182288, 31.854164]
|
||||||
|
]
|
||||||
|
|
||||||
|
let arr2 = [
|
||||||
|
[117.267046, 31.842971],
|
||||||
|
[117.20963, 31.840323],
|
||||||
|
[117.230646, 31.787122],
|
||||||
|
[117.28833, 31.799624],
|
||||||
|
[117.267046, 31.842971]
|
||||||
|
]
|
||||||
|
|
||||||
|
let redPolygon = viewer.entities.add({
|
||||||
|
polygon: {
|
||||||
|
hierarchy: Cesium.Cartesian3.fromDegreesArray(arr1.flat()),
|
||||||
|
material: Cesium.Color.RED.withAlpha(0.5),
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let redPolygon2 = viewer.entities.add({
|
||||||
|
polygon: {
|
||||||
|
hierarchy: Cesium.Cartesian3.fromDegreesArray(arr2.flat()),
|
||||||
|
material: Cesium.Color.GREEN.withAlpha(0.5),
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var poly1 = turf.polygon([arr1]);
|
||||||
|
var poly2 = turf.polygon([arr2]);
|
||||||
|
|
||||||
|
var intersection = turf.intersect(poly1, poly2);
|
||||||
|
|
||||||
|
var promise = Cesium.GeoJsonDataSource.load(intersection, {
|
||||||
|
clampToGround: true,
|
||||||
|
fill: Cesium.Color.BLUE
|
||||||
|
});
|
||||||
|
promise.then(function (dataSource) {
|
||||||
|
viewer.dataSources.add(dataSource);
|
||||||
|
});
|
||||||
|
|
||||||
|
var area = turf.area(intersection);
|
||||||
|
|
||||||
|
|
||||||
|
var hello = viewer.entities.add({
|
||||||
|
position: Cesium.Cartesian3.fromDegrees(117.225959, 31.835235),
|
||||||
|
label: {
|
||||||
|
color: Cesium.Color.WHITE,
|
||||||
|
font: '18px',
|
||||||
|
outlineColor: Cesium.Color.WHITE,
|
||||||
|
text: '相交部分\n'+area+'M²',
|
||||||
|
verticalOrigin: Cesium.VerticalOrigin.TOP,
|
||||||
|
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||||
|
disableDepthTestDistance: Number.POSITIVE_INFINITY,
|
||||||
|
outlineWidth: 2,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
viewer.flyTo(promise);
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -1033,37 +1033,49 @@ var exampleConfig = {
|
|||||||
name: "8、可视化",
|
name: "8、可视化",
|
||||||
name_en: "8、可视化",
|
name_en: "8、可视化",
|
||||||
content: {
|
content: {
|
||||||
"map11cddd3233231": {
|
"map11cddd3111233231": {
|
||||||
name: "8.1、可视化1",
|
name: "8.1、GIS客户端",
|
||||||
name_en: "8.1、可视化1",
|
name_en: "8.1、GIS客户端",
|
||||||
content: [
|
content: [
|
||||||
{
|
{
|
||||||
name: "8.1.1、kriging",
|
name: "8.1.1、叠加分析",
|
||||||
name_en: "8.1.1、kriging",
|
name_en: "8.1.1、叠加分析",
|
||||||
|
thumbnail: "8.1.1、叠加分析.jpg",
|
||||||
|
fileName: "8.1.1、叠加分析"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"map11cddd3233231": {
|
||||||
|
name: "8.2、可视化1",
|
||||||
|
name_en: "8.2、可视化1",
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
name: "8.2.1、kriging",
|
||||||
|
name_en: "8.2.1、kriging",
|
||||||
thumbnail: "8.1.1、kriging.jpg",
|
thumbnail: "8.1.1、kriging.jpg",
|
||||||
fileName: "8.1.1、kriging"
|
fileName: "8.1.1、kriging"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "8.1.2、海流",
|
name: "8.2.2、海流",
|
||||||
name_en: "8.1.2、海流",
|
name_en: "8.2.2、海流",
|
||||||
thumbnail: "8.1.2、海流.jpg",
|
thumbnail: "8.1.2、海流.jpg",
|
||||||
fileName: "8.1.2、海流"
|
fileName: "8.1.2、海流"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "8.1.3、3d热力图",
|
name: "8.2.3、3d热力图",
|
||||||
name_en: "8.1.3、3d热力图",
|
name_en: "8.2.3、3d热力图",
|
||||||
thumbnail: "8.1.3、3d热力图.jpg",
|
thumbnail: "8.1.3、3d热力图.jpg",
|
||||||
fileName: "8.1.3、3d热力图"
|
fileName: "8.1.3、3d热力图"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "8.1.4、风场",
|
name: "8.2.4、风场",
|
||||||
name_en: "8.1.4、风场",
|
name_en: "8.2.4、风场",
|
||||||
thumbnail: "8.1.4、风场.jpg",
|
thumbnail: "8.1.4、风场.jpg",
|
||||||
fileName: "8.1.4、风场"
|
fileName: "8.1.4、风场"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "8.1.5、等值面",
|
name: "8.2.5、等值面",
|
||||||
name_en: "8.1.5、等值面",
|
name_en: "8.2.5、等值面",
|
||||||
thumbnail: "8.1.5、等值面.jpg",
|
thumbnail: "8.1.5、等值面.jpg",
|
||||||
fileName: "8.1.5、等值面"
|
fileName: "8.1.5、等值面"
|
||||||
},
|
},
|
||||||
|
BIN
examples/cesiumEx/img/8.1.1、叠加分析.jpg
Normal file
BIN
examples/cesiumEx/img/8.1.1、叠加分析.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.5 KiB |
Loading…
Reference in New Issue
Block a user