Tutorial de SuperMap iClient3D para WebGL - Análisis del horizonte del horizonte
Un horizonte, también conocido como silueta de ciudad o panorama, es la línea que separa el cielo de la superficie del suelo y los elementos que rodean un punto de observación. La función de análisis del horizonte puede generar la línea divisoria entre el borde superior del edificio y el cielo en la ventana de escena actual según el punto de observación, que se utiliza principalmente para la planificación arquitectónica urbana y otras escenas
## iClient3D para WebGL Extrae Skyline
1. Cree un objeto de análisis de horizonte, puede establecer parámetros de atributos de visualización relacionados
// Cree un objeto de análisis de horizonte
var skyline = new Cesium(scene);
//Establece el color
skyline.color = Cesium.Color.CYAN;
//Establece el horizonte. modo de visualización, DisplayMode .LINE representa el modo de línea del horizonte
2.LINE representa el modo de línea del horizonte, DisplayMode.FACE representa el modo de superficie del horizonte
// El valor predeterminado es el modo de línea
skyline.displayStyle=Cesium.Skyline.displayMode.LINE
2. Establezca los parámetros del punto de observación y ejecútelo (tome la posición actual de la escena como ejemplo , puede configurarlo según sea necesario)
// Obtener la posición actual de la cámara de la escena
var cartographic = scene.camera.positionCartographic
var longitude; = Cesium.Skyline.displayMode.LINE;
3.Math.toDegrees(cartographic.longitude);
var latitude = Cesium.viewPosition = [longitud, latitud, altura];
//Establezca el tono en grados Ángulo, el rango de valores es de 0 a 90
skyline.pitch = Cesium.Math.toDegrees(scene.camera.pitch);
// Obtiene o configura la cámara y el ángulo de dirección norte verdadero entre ellos. Unidad: grados, rango 0-360
skyline.direction = Cesium.Math.toDegrees(scene.camera.heading);
// El radio de análisis del horizonte se establece en 10 000 metros, unidad: metro. El valor predeterminado es -1,0, que es infinito
skyline.radius = 10000
// Realizar análisis del horizonte
skyline.build(); p >
De esta manera podemos ver el horizonte en la escena
Arriba, hemos mostrado el horizonte en la escena.
Aplicación Skyline Analytics
Aplicación Skyline Analytics
Aplicación Skyline Analytics
Aplicación Skyline Analytics
Aplicación Skyline Analytics
Aplicación de análisis de horizonte
Aplicación de análisis de horizonte
Aplicación de análisis de horizonte var object = horizonte.
var object = skyline.getSkyline2D() ;
//Obtener el objeto del horizonte 3D
var ubicaciones = skyline.getSkyline3D()
<; p>
var myChart = echarts.init(document.getElementById("map"));
p>var opción = {
fondoColor: "rgba(73, 139, 156, 0.9)",
título.{
texto: "Horizonte 2D" p>
},
información sobre herramientas: {
disparador: "eje"
},
calculable: verdadero,
xAxis: [
{
tipo: "categoría",
borderGap: false,
datos: object.x,
show: false
}
],
yAxis: [
{
tipo."valor",
min: 0,
max: 1
}
],
Serie: [
{
nombre: "",
tipo: "línea",
datos: objeto.y
}
]
};
myChart.setOption(opción); > //Escuche el evento de clic, obtenga el punto correspondiente y dibújelo en la escena
myChart.on('click', function(params){
visor.entities. removeAll()
visor.entities.add({
posición: Cesium.Cartesian3.fromDegrees(ubicaciones.x[params.dataIndex], ubicaciones. y[params.dataIndex], ubicaciones.z[params.dataIndex]),
cartelera: {
// horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
imagen: './images /mapa.png',
>
pixelOffset: nuevo Cesium.Cartesian2(0, -32),
}
})
})
}