Sensor Pyramid Intersection

I have seen in one of the examples showing rectangular pyramid for satellite / sensor orbiting. But how to get the area it grazed on ground (intersection of the pyramid on ground). I have noticed in several examples that though the satellite is shown orbiting, but the Earth underneath does not rotate simultaneously. I am saying this with reference to the 'isat' demo. Am I right?

I see that there is no response to my query. Probably I should put my query more descriptive. All that i wanted to ask was how get the intersection points (lat/longs on Earth) of the field of view (cone) rendered? or for that matter the even the sub satellite points for a satellite orbiting.

I request the developers to please let me know if I need to put the query in detail if required.

Thank you in advance.

N. Rama Kumar Acharyulu


Within Cesium, you can visualize the intersection of the sensor with the Earth by setting the “showIntersection” property on RectangularPyramidSensorVolume to true. In fact, it’s on by default. Is that not working for you?

We (AGI) also offer commercial products that make it easy to compute a sensor projection onto the Earth as well as to compute a satellite sub-point. Check out


Dear Kevin,

Thank you for that reply. Yes, i can visualize the intersection. But, as i mentioned earlier, i would like to know the intersections points (in lat/longs) as they would be useful. Can we log the intersection coordinates or a higher level polygon objects so that we can read them later. I request your guidance in this regard.

Thank you in advance.

N. Ram kumar


Cesium computes the sensor intersections graphically and on the GPU, so there’s no way to get the points back out, at least not without significant changes. I suggest you take a look at STK Components at the link in my previous email. It can do what you want quite easily.


Dear Kevin,

Thanks to you for that clarification. I understand by what you mentioned that Cesium is more of a graphics intensive visualization system. But, can we think of some kind of GIS functionality getting added later so that it could serve as a single platform with not just visualization of geospatial layers but get some basic GIS on to it?

Can you suggest some kind of a workaround for getting the coordinates? I would be grateful to you.

Anyway, Thanks to you again.

N. Ram Kumar.

The goal of Cesium is visualization. As far as I’m concerned, we have no desire to become a general purpose GIS toolkit. (I can’t speak for everyone else on the team).

As Kevin has already stated, rendering a sensor intersection on the GPU is extremely different than determining the intersections for further use/analysis. Even if we jumped through the hoops needed to pull the results back off the GPU, the numbers would useless because of precision issues and be dependent on whatever the last frame rendered (and the sensor intersection might have only been partially rendered or not rendered at all). We would need a completely different code-path for determining useful intersection results. So it’s not a lack of desire to help on you, we simply can’t give you what you are asking for with Cesium’s sensor implementation.

Your best bet is to find a tool that can perform the analysis you desire. Kevin linked you to AGI’s tools (and since AGI is a major backer of Cesium it’s what we recommend). I’m sure there may be some other tools out there as well; but they are all beyond the scope of Cesium’s goal.

Cesium’s purpose is to visualize the results of analysis, but consider where that analysis would best take place. Doing it in JavaScript on a thin client is almost always a poor choice, particularly within a framework that’s only designed to display graphics. You’ll get low performance and limited precision. You’re better off doing the heavy lifting on the server, and sending the results to Cesium across the network, in CZML or some other format. As Kevin mentioned, AGI sells the tools you need for this (Disclaimer, most of us work for AGI).


Dear Developers(AGI),

I thank all of you for clarifying me on my query. I was under the impression that there could be some property / API function that would read out the intersection coordinates. But, now realized that Cesium converts the world coordinates to view coordinates for graphics display and the graphics display part is exceptionally well when compared to other virtual globes. I would like to thank everyone involved in the project for the exceptional application developed and released as open source. Great job!

Thanks to all once again.

N. Ram Kumar.

It does intersects the globe. I have few gltf models and few shapes (polygons with extrudedHeight) in place. I want to intersect sensor with these models as well. How this could be achieved.


I have built a sensor using RectangularPyramidSensorVolume.