Help for adding esa sentinel 1 satelite position to to Cesium like the cmlz example.

Goal is to in real time to be able to see where the Sentinel 1 sateline is positioned.

This post is more about finding out what the difficulties are in doing so, not writing teh actual czml. Its a topic that I dont know much about so sorry if these questions are really dumb.

But, can one calculate its position or estimate hereof, or will a source be needed for getting the position. What kind of information do I need to find on esa homepage to be able to calculate its position in real time.

Public satellite data is normally available as Two Line Element Sets (TLEs for short); which get released for satellites on a daily basis (some high-profile targets like, the ISS, get multiple TLEs released per day). You can generate estimated positional data (usually referred to as ephemeris) from the TLE. How long a TLE is good for really depends on the type of satellite and orbit; but you normally want to get a new one at least every 24 hours.

We normally don’t bring up other products, but the company that started Cesium and continues to employ most of the maintainers, AGI (, specializes in aerospace software, so this is actually really trivial with the tools we offer.

For example, you can already track Sentinel 1 in the Satellite Viewer demo on Just hit the x next to ComSpoc and then type Sentinel in the name, They’ll be 1 lonely green dot orbiting the earth at that point, you can click on it for information.

We also have a free version of our desktop product, (Systems Tool Kit, STK for short) that can generate positions from the TLE for you. Since it also has a scripting engine, it should be possible to write a simple script that generates a daily CZML file for Sentinel 1. (STK can actually retrieve the best TLE for you automatically from the internet as, so you don’t even have to worry about that part).

Obviously I’m biased towards using AGI tools to solve the problem, but hopefully that helps shed some light on the subject for you.

Thanks Matthew.

Thats more than fine. I just needed the information to bring it up in management. Then they can decide if its something to move further with.

We do build services and I am not so happy about maintaining something that depends on a desktop application, when it comes to doing the daily computations. But who can complain :slight_smile: its free software.

I will take a look at the satelliteviewer and see if I can put something together from that as a prototype.

One of our core skills are moving stuff to the cloud and we developed an algorithm platform that allows us easily to pack something down and make it available as a rest endpoint. (only requirement for the stuff we call algorithms is that it can be packaged down and distributed, less dependencies on system installed stuff is better, run with arguments without user interactions). So without knowing much about TLEs right now, it sounds like something that would be nice to have packed behind a rest endpoint. Is this what agi already offers? Would it have any interest in creating such endpoint, then feel free to get back to me.

For now I will do some investigation on the stuff you provided. Thanks.

Hi, guys!

I wasn’t working with Cesium for more than a half of year so I decided to ask here whether some new features related to tracking satellites are available in Cesium.

I wrote satellites’ tracking application on my previous job, and I had to write my own server side CGI scripts that download TLEs, calculate satellites’ orbits and generate CZML required to visualize satellites with Cesium. Now I have a similar work to do but I wonder how this can be simplified.

I found this topic where Matthew talks about Systems Tool Kit and its some scripting engine that can help somehow. I’m trying to register an AGI account right now but not sure that STK is really available for me. Also some people said that it’s even possible to drag’n’drop TLE file in some format on Cesium (Viewer?) and display a satellite on-the-fly. It’s seems so fantastic but I can’t find any reference to it. Is it possible to make such orbit calculations in browser with JavaScript only (that should reduce a performance, I guess)? Or do I still need to rely on some server side application that calculates an orbit and prepares CZML?

Thank you so much!

There is no still no TLE datasource option for Cesium, though I think that would be a really cool new datasource. I’ll fight for that when the next Roadmap discussions start :slight_smile: I want it too!

I made a case for it if you want to follow it’s progress, though I have absolutely no idea when it would be prioritized.

If you get motivated to make one yourself for Cesium I’m sure there would be people willing to help get it ready for official integration into Cesium.

It seems that if AGI is involved in the cesium effort, that it would be able to display the ephemeris (.e) and attitude (.a) file formats that AGI has used for years, but I can't find any mention of that in this forum or the cesium web pages. Can anyone provide additional insight on this?

Cesium cannot parse .e and .a files directly, which are proprietary formats. Instead, you can convert to CZML, which was designed to be a more browser-friendly, open format (JSON-based) while having most of the same capabilities (sampled CZML position is basically ephemeris, and sampled orientation is attitude)

STK Components (a commercial AGI product) has features to make it easy to produce CZML from .e and .a files (plus many other features, of course). See documentation:

STK Desktop will also soon be able to export CZML directly.