Commit fa488e77 by jlc

update:基站代码结构的修改

parent 069e86b0
...@@ -3,85 +3,85 @@ export function addStation(viewer, info) { ...@@ -3,85 +3,85 @@ export function addStation(viewer, info) {
id: null, id: null,
show: true, show: true,
ellipsoid: { ellipsoid: {
show: true, show: true,
heightReference: undefined, heightReference: undefined,
radii: null, radii: null,
innerRadii: null, innerRadii: null,
minimumClock: 0.0, minimumClock: 0.0,
maximumClock: 2 * Cesium.Math.PI, maximumClock: 2 * Cesium.Math.PI,
minimumCone: 0.0, minimumCone: 0.0,
maximumCone: Cesium.Math.PI, maximumCone: Cesium.Math.PI,
fill: true, fill: true,
material: Cesium.Color.RED.withAlpha(0.3), material: Cesium.Color.RED.withAlpha(0.3),
outline: false, outline: false,
outlineColor: Cesium.Color.BLACK, outlineColor: Cesium.Color.BLACK,
outlineWidth: 1.0, outlineWidth: 1.0,
stackPartitions: 8, stackPartitions: 8,
slicePartitions: 8, slicePartitions: 8,
subdivisions: 128, subdivisions: 128,
shadows: undefined, shadows: undefined,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 200000.0), distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 200000.0),
}, },
model: { model: {
show:true, show:true,
uri: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/Station.glb', uri: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/Station.glb',
scale: 1, scale: 1,
minimumPixelSize: 30, minimumPixelSize: 30,
maximumScale: 500, maximumScale: 500,
incrementallyLoadTextures: true, incrementallyLoadTextures: true,
runAnimations: true, runAnimations: true,
clampAnimations: true, clampAnimations: true,
shadows: Cesium.ShadowMode.ENABLED, shadows: Cesium.ShadowMode.ENABLED,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
silhouetteColor: Cesium.Color.RED, silhouetteColor: Cesium.Color.RED,
silhouetteSize: 0.0, silhouetteSize: 0.0,
color: Cesium.Color.WHITE, color: Cesium.Color.WHITE,
colorBlendMode: Cesium.ColorBlendMode.HIGHLIGHT, colorBlendMode: Cesium.ColorBlendMode.HIGHLIGHT,
colorBlendAmount: 0.5, colorBlendAmount: 0.5,
imageBasedLightingFactor: new Cesium.Cartesian2(1.0, 1.0), imageBasedLightingFactor: new Cesium.Cartesian2(1.0, 1.0),
lightColor: undefined, lightColor: undefined,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 250000.0), distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 250000.0),
nodeTransformations: undefined, nodeTransformations: undefined,
articulations: undefined, articulations: undefined,
clippingPlanes:undefined, clippingPlanes:undefined,
}, },
label: { label: {
show: true, show: true,
text: null, text: null,
font: '30px sans-serif', font: '30px sans-serif',
style: Cesium.LabelStyle.FILL, style: Cesium.LabelStyle.FILL,
scale: 0.5, scale: 0.5,
showBackground: false, showBackground: false,
backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.8), backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.8),
backgroundPadding: new Cesium.Cartesian2(7, 5), backgroundPadding: new Cesium.Cartesian2(7, 5),
pixelOffset:new Cesium.Cartesian2(15,0), pixelOffset:new Cesium.Cartesian2(15,0),
eyeOffset: Cesium.Cartesian3.ZERO, eyeOffset: Cesium.Cartesian3.ZERO,
horizontalOrigin:Cesium.HorizontalOrigin.LEFT, horizontalOrigin:Cesium.HorizontalOrigin.LEFT,
verticalOrigin:Cesium.VerticalOrigin.TOP, verticalOrigin:Cesium.VerticalOrigin.TOP,
heightReference: Cesium.HeightReference.NONE, heightReference: Cesium.HeightReference.NONE,
fillColor:Cesium.Color.WHITE, fillColor:Cesium.Color.WHITE,
outlineColor:Cesium.Color.BLACK, outlineColor:Cesium.Color.BLACK,
outlineWidth:1.0, outlineWidth:1.0,
translucencyByDistance:null, translucencyByDistance:null,
pixelOffsetScaleByDistance:null, pixelOffsetScaleByDistance:null,
scaleByDistance:null, scaleByDistance:null,
distanceDisplayCondition:new Cesium.DistanceDisplayCondition(0.0, 250000.0), distanceDisplayCondition:new Cesium.DistanceDisplayCondition(0.0, 250000.0),
disableDepthTestDistance :null, disableDepthTestDistance :null,
}, },
point: { point: {
id:null, id:null,
show: true, show: true,
pixelSize: 10, pixelSize: 10,
heightReference: Cesium.HeightReference.NONE, heightReference: Cesium.HeightReference.NONE,
color: Cesium.Color.RED, color: Cesium.Color.RED,
outlineColor: Cesium.Color.BLACK, outlineColor: Cesium.Color.BLACK,
outlineWidth: 0, outlineWidth: 0,
scaleByDistance: undefined, scaleByDistance: undefined,
translucencyByDistance: undefined, translucencyByDistance: undefined,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(250000.0, 99999999999999), distanceDisplayCondition: new Cesium.DistanceDisplayCondition(250000.0, 99999999999999),
disableDepthTestDistance: undefined, disableDepthTestDistance: undefined,
} }
} }
let { id, position } = { ...SITE, ...info } let { id, position } = { ...SITE, ...info }
let { ...label } = { ...SITE.label, ...info.label } let { ...label } = { ...SITE.label, ...info.label }
......
export function addStationCoordinate(viewer, info) { export function addStationCoordinate(viewer, info) {
const SITE = { const SITE = {
id: null, id: null,
show: true,
ellipsoid: {
show: true, show: true,
heightReference: undefined, ellipsoid: {
radii: null, show: true,
innerRadii: null, heightReference: undefined,
minimumClock: 0.0, radii: null,
maximumClock: 2 * Cesium.Math.PI, innerRadii: null,
minimumCone: 0.0, minimumClock: 0.0,
maximumCone: Cesium.Math.PI, maximumClock: 2 * Cesium.Math.PI,
fill: true, minimumCone: 0.0,
material: Cesium.Color.RED.withAlpha(0.3), maximumCone: Cesium.Math.PI,
outline: false, fill: true,
outlineColor: Cesium.Color.BLACK, material: Cesium.Color.RED.withAlpha(0.3),
outlineWidth: 1.0, outline: false,
stackPartitions: 8, outlineColor: Cesium.Color.BLACK,
slicePartitions: 8, outlineWidth: 1.0,
subdivisions: 128, stackPartitions: 8,
shadows: undefined, slicePartitions: 8,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 200000.0), subdivisions: 128,
}, shadows: undefined,
model: { distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 200000.0),
show:true, },
uri: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/Station.glb', model: {
scale: 1, show:true,
minimumPixelSize: 30, uri: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/Station.glb',
maximumScale: 500, scale: 1,
incrementallyLoadTextures: true, minimumPixelSize: 30,
runAnimations: true, maximumScale: 500,
clampAnimations: true, incrementallyLoadTextures: true,
shadows: Cesium.ShadowMode.ENABLED, runAnimations: true,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, clampAnimations: true,
silhouetteColor: Cesium.Color.RED, shadows: Cesium.ShadowMode.ENABLED,
silhouetteSize: 0.0, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
color: Cesium.Color.WHITE, silhouetteColor: Cesium.Color.RED,
colorBlendMode: Cesium.ColorBlendMode.HIGHLIGHT, silhouetteSize: 0.0,
colorBlendAmount: 0.5, color: Cesium.Color.WHITE,
imageBasedLightingFactor: new Cesium.Cartesian2(1.0, 1.0), colorBlendMode: Cesium.ColorBlendMode.HIGHLIGHT,
lightColor: undefined, colorBlendAmount: 0.5,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 250000.0), imageBasedLightingFactor: new Cesium.Cartesian2(1.0, 1.0),
nodeTransformations: undefined, lightColor: undefined,
articulations: undefined, distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0.0, 250000.0),
clippingPlanes:undefined, nodeTransformations: undefined,
}, articulations: undefined,
label: { clippingPlanes:undefined,
show: true, },
text: null, label: {
font: '30px sans-serif', show: true,
style: Cesium.LabelStyle.FILL, text: null,
scale: 0.5, font: '30px sans-serif',
showBackground: false, style: Cesium.LabelStyle.FILL,
backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.8), scale: 0.5,
backgroundPadding: new Cesium.Cartesian2(7, 5), showBackground: false,
pixelOffset:new Cesium.Cartesian2(15,0), backgroundColor: new Cesium.Color(0.165, 0.165, 0.165, 0.8),
eyeOffset: Cesium.Cartesian3.ZERO, backgroundPadding: new Cesium.Cartesian2(7, 5),
horizontalOrigin:Cesium.HorizontalOrigin.LEFT, pixelOffset:new Cesium.Cartesian2(15,0),
verticalOrigin:Cesium.VerticalOrigin.TOP, eyeOffset: Cesium.Cartesian3.ZERO,
heightReference: Cesium.HeightReference.NONE, horizontalOrigin:Cesium.HorizontalOrigin.LEFT,
fillColor:Cesium.Color.WHITE, verticalOrigin:Cesium.VerticalOrigin.TOP,
outlineColor:Cesium.Color.BLACK, heightReference: Cesium.HeightReference.NONE,
outlineWidth:1.0, fillColor:Cesium.Color.WHITE,
translucencyByDistance:null, outlineColor:Cesium.Color.BLACK,
pixelOffsetScaleByDistance:null, outlineWidth:1.0,
scaleByDistance:null, translucencyByDistance:null,
distanceDisplayCondition:new Cesium.DistanceDisplayCondition(0.0, 250000.0), pixelOffsetScaleByDistance:null,
disableDepthTestDistance :null, scaleByDistance:null,
}, distanceDisplayCondition:new Cesium.DistanceDisplayCondition(0.0, 250000.0),
point: { disableDepthTestDistance :null,
id:null, },
show: true, point: {
pixelSize: 10, id:null,
heightReference: Cesium.HeightReference.NONE, show: true,
color: Cesium.Color.RED, pixelSize: 10,
outlineColor: Cesium.Color.BLACK, heightReference: Cesium.HeightReference.NONE,
outlineWidth: 0, color: Cesium.Color.RED,
scaleByDistance: undefined, outlineColor: Cesium.Color.BLACK,
translucencyByDistance: undefined, outlineWidth: 0,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(250000.0, 99999999999999), scaleByDistance: undefined,
disableDepthTestDistance: undefined, translucencyByDistance: undefined,
} distanceDisplayCondition: new Cesium.DistanceDisplayCondition(250000.0, 99999999999999),
disableDepthTestDistance: undefined,
}
} }
let { id, position } = { ...SITE, ...info } let { id, position } = { ...SITE, ...info }
let { ...label } = { ...SITE.label, ...info.label } let { ...label } = { ...SITE.label, ...info.label }
let { ...ellipsoid } = { ...SITE.ellipsoid, ...info.ellipsoid } let { ...ellipsoid } = { ...SITE.ellipsoid, ...info.ellipsoid }
let { ...model } = { ...SITE.model, ...info.model } let { ...model } = { ...SITE.model, ...info.model }
let{...point}={...SITE.point,...info.point} let{...point}={...SITE.point,...info.point}
ellipsoid.radii = new Cesium.Cartesian3(...ellipsoid.radii) ellipsoid.radii = new Cesium.Cartesian3(...ellipsoid.radii)
ellipsoid.innerRadii = new Cesium.Cartesian3(...ellipsoid.innerRadii) ellipsoid.innerRadii = new Cesium.Cartesian3(...ellipsoid.innerRadii)
ellipsoid.minimumClock = Cesium.Math.toRadians(ellipsoid.minimumClock) ellipsoid.minimumClock = Cesium.Math.toRadians(ellipsoid.minimumClock)
ellipsoid.maximumClock = Cesium.Math.toRadians(ellipsoid.maximumClock) ellipsoid.maximumClock = Cesium.Math.toRadians(ellipsoid.maximumClock)
ellipsoid.minimumCone = Cesium.Math.toRadians(ellipsoid.minimumCone) ellipsoid.minimumCone = Cesium.Math.toRadians(ellipsoid.minimumCone)
ellipsoid.maximumCone = Cesium.Math.toRadians(ellipsoid.maximumCone) ellipsoid.maximumCone = Cesium.Math.toRadians(ellipsoid.maximumCone)
label.text=`${id}` label.text=`${id}`
let site = viewer.entities.add({ let site = viewer.entities.add({
id: id, id: id,
position:Cesium.Cartesian3.fromDegrees(...position), position:Cesium.Cartesian3.fromDegrees(...position),
label: label, label: label,
ellipsoid: ellipsoid, ellipsoid: ellipsoid,
model: model, model: model,
point: point, point: point,
}) })
viewer.zoomTo(site).then(() => { viewer.zoomTo(site).then(() => {
viewer.trackedEntity = site; viewer.trackedEntity = site;
let matrix = site.computeModelMatrix(Cesium.JulianDate.fromIso8601('2019-08-28T04:00:00.00Z')); let matrix = site.computeModelMatrix(Cesium.JulianDate.fromIso8601('2019-08-28T04:00:00.00Z'));
// 通过调试的实体来绘制模型坐标轴 // 通过调试的实体来绘制模型坐标轴
viewer.scene.primitives.add( viewer.scene.primitives.add(
new Cesium.DebugModelMatrixPrimitive({ // 加载模型偏移矩阵的图元 new Cesium.DebugModelMatrixPrimitive({ // 加载模型偏移矩阵的图元
modelMatrix: matrix, // 设置偏移矩阵 modelMatrix: matrix, // 设置偏移矩阵
length: 100000, length: 100000,
width: 10 width: 10
}) })
); );
}).catch(error => { }).catch(error => {
console.error('Failed to zoom to entity:', error); console.error('Failed to zoom to entity:', error);
}); });
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment