Show Mars and Mercury planets


I am the owner of is a 3d map to show Nasa satellites & Astros like Moon and I would like to show Mars & Mercury but they are too far from the Earth. Mars is about 350 millions of km from the Earth and Mercury distance is 150Mkm from the Earth depending on the orbit. Now it is not possible to show objects more than 2Million of Km in cesium. It would be possible in the future? and if the answer is yes When?



Welcome to the Cesium community!

Thank you for sharing your project using Cesium. It looks great!

Regarding your question about showing other planets, I believe this is possible as this application has done it. You can also create ellipsoids and texture them to look like the corresponding planet. Regarding the distance, you may not be able to position the planets at their actual distance from Earth (and this would make them really tiny if you’re viewing the whole Solar System at once), but you can create a ratio between the actual distance and distances in your Cesium app.

There is a similar conversation here and here.

I believe this is possible as this application has done it.

That was awesome! I’m assuming it’s tiled resources in the project, but a streaming with the latest datasets (from NASA or equivalant) would be a total killer. What an awesome Cesium app!



1 Like


I understand you. I would like to do something similar to this

With Mars & Mercury. If I divide the distance for a factor, satellites like the ISS appear inside the Earth.

I would be able to do another app for planets, but the Moon would appear inside the Earth.

Thanks for your support.

I am experimenting with planets in cesium in Sandcastle.

I found a great source of planetary maps, but I can’t understand how to display multiple ellipsoids with texture:

To use a map:
Select “get capabilities” in above site for your map;
You will get a link like this (for Mars, cylindrical map):

Remove the final “&request=GetCapabilities” and use it as “url” parameter in imageryLayers.addImageryProvider():

url : ''

in the “getCapabilities” window, look for “” to find the names of available layers; in this example:

layers : 'THEMIS',

You will get something like:

var imageryLayers = viewer.imageryLayers;
imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
    url : '',
    layers : 'THEMIS',
    parameters : {
        transparent : true,
        format : 'image/png'
    tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: ellipsoidMars }),
    tileWidth: 512,
    tileHeight: 512
1 Like