Viewshed/Sensor doesn't sense entities?

205 views
Skip to first unread message

sush

unread,
Jul 26, 2019, 7:27:28 AM7/26/19
to cesium-dev
1. A concise explanation of the problem you're experiencing.

Hi, i tried to build a polygon structure using cesium polygon entity and projected a sensor on that.

But i have observed that viewshed isn't sensing that there is a obstruction, while it senses other 3D Tiles beside it.

The Cesium version you're using, your operating system and browser.

Cesium version 1.55, Chrome 75

sush

unread,
Jul 29, 2019, 6:09:24 AM7/29/19
to cesium-dev

Omar Shehata

unread,
Aug 2, 2019, 9:35:27 PM8/2/19
to cesium-dev
Can you show a screenshot or video of the issue? Do you have a code example you can share so I can reproduce the issue?

sushmapriy...@gmail.com

unread,
Aug 7, 2019, 2:18:28 AM8/7/19
to cesium-dev
Hi Omar,

Thanks for replying, here posting a snap for your reference.

Viewshed on entities.PNG

Omar Shehata

unread,
Aug 7, 2019, 4:21:00 PM8/7/19
to cesium-dev
Can you show the code that constructs this sensor and the entities? Is it just the topmost box that is not being detected? What happens if you move it? (Either move the sensor or the box). 

sush

unread,
Aug 12, 2019, 3:22:29 AM8/12/19
to cesium-dev
Hi Omar,

Here attaching a snip, which contains 3D Tile and a block (build using cesium entity). so, here when i tried to project sensor on to the 3D Tile and Block(Entity : In Orange color) shows that sensor is sensing the 3D Tile resulting in the obstruction(red area) formed, where it is not sensing the Block(in orange color).

.
.
.
.
Viewshed3 on entities.PNG

Omar Shehata

unread,
Aug 12, 2019, 12:48:08 PM8/12/19
to cesium-dev
Can you provide the code you used to create this?

sush

unread,
Aug 13, 2019, 1:55:54 AM8/13/19
to cesium-dev
Hi Omar,
Below is the code used to create sensor,

 var rectangularSensor = {};
    rectangularSensor.radius = r;
    rectangularSensor.xHalfAngle = Cesium.Math.toRadians(25.0); //vertical:2x
    rectangularSensor.yHalfAngle = Cesium.Math.toRadians(30.0);
    rectangularSensor.portionToDisplay = portion;

    rectangularSensor.lateralSurfaceMaterial = new Cesium.GridMaterialProperty();
    rectangularSensor.lateralSurfaceMaterial.color = new Cesium.Color(0.0, 1.0, 0.0, 0.8);
    rectangularSensor.lateralSurfaceMaterial.cellAlpha = 1.0;
    rectangularSensor.lateralSurfaceMaterial.lineCount = {
        x: 10,
        y: 5
    };

    rectangularSensor.showLateralSurfaces = showLateralSurfaces;
    rectangularSensor.ellipsoidHorizonSurfaceMaterial = new Cesium.GridMaterialProperty();
    rectangularSensor.ellipsoidHorizonSurfaceMaterial.color = new Cesium.Color(0.6, 0.6, 0.6, 0.5);

    rectangularSensor.ellipsoidHorizonSurfaceMaterial.cellAlpha = 0.5;
    rectangularSensor.ellipsoidHorizonSurfaceMaterial.lineCount = {
        x: 12,
        y: 10
    };
    rectangularSensor.showEllipsoidHorizonSurfaces = showEllipsoidHorizonSurfaces;

    rectangularSensor.domeSurfaceMaterial = new Cesium.GridMaterialProperty();
    rectangularSensor.domeSurfaceMaterial.color = new Cesium.Color(1.0, 1.0, 0.0, 0.3);
    rectangularSensor.domeSurfaceMaterial.cellAlpha = 0.5;
    rectangularSensor.domeSurfaceMaterial.lineCount = {
        x: 5,
        y: 7
    };
    rectangularSensor.showDomeSurfaces = showDomeSurfaces;

    rectangularSensor.ellipsoidSurfaceMaterial = new Cesium.Color(1.0, 0.0, 1.0, 0.5);
    rectangularSensor.showEllipsoidSurfaces = showEllipsoidSurfaces;
    rectangularSensor.environmentConstraint = true;

    rectangularSensor.showEnvironmentOcclusion = true;
    rectangularSensor.environmentOcclusionMaterial = new Cesium.GridMaterialProperty();
    rectangularSensor.environmentOcclusionMaterial.color = new Cesium.Color(1.0, 0.0, 0.0, 1.0);
    rectangularSensor.environmentOcclusionMaterial.cellAlpha = 0.5;
    rectangularSensor.environmentOcclusionMaterial.lineCount = {
        x: 0,
        y: 0
    };
    rectangularSensor.showEnvironmentIntersection = false;
    rectangularSensor.environmentIntersectionWidth = 10.0;
    rectangularSensor.environmentIntersectionColor = new Cesium.Color(1.0, 0.0, 1.0, 0.3);

thanks.

sush

unread,
Aug 28, 2019, 1:12:00 AM8/28/19
to cesium-dev
Hi,
Any reply on this? 

Omar Shehata

unread,
Oct 3, 2019, 1:18:11 PM10/3/19
to cesium-dev
I think I may have replied to this over support email, but just to close the loop, the sensors will currently detect 3d models and 3d tiles, but not geometry created for entities. For now the workaround is to add what you're trying to test against as a 3D model. For support with the analytics SDK you can always reach out to support@cesium,com.
Reply all
Reply to author
Forward
0 new messages