Red de conocimiento informático - Problemas con los teléfonos móviles - Tutorial de SuperMap iClient3D para WebGL - Análisis del horizonte del horizonte

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"

},

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),

}

})

})

}