Completely offline

dear cesium team,

in your tutorial for adding datasets you said

Loading assets from a local server

3D Tilesets, terrain, and imagery can be loaded from any server, including localhost. To load assets completely offline, consider setting up a localhost to serve the data. The Url field can be filled with http://localhost:portNumber/path/to/asset.

If you are loading TMS imagery, the URL should point to the asset’s primary tilemapresource.xml file (e.g. http://localhost:portNumber/imageryAsset/tilemapresource.xml.)


i did create a local server that returns xml files and pngs and jpgs
and in unreal i changed the source from cesium ion to url
and i put the url like this : http://localhost:{my port}/home/me/Desktop/mymap/tilemapresource.xml

this is my xml

<?xml version="1.0" encoding="utf-8"?>
<GDAL_WMS>
  <Service name="TMS">
    <ServerUrl>http://localhost:8678/home/me/Desktop/mymap/z${z}/${y}/${x}.jpg</ServerUrl>
    <SRS>EPSG:3857</SRS>
    <ImageFormat>image/jpeg</ImageFormat>
    <Layer></Layer>
    <Style></Style>
    <TileSet>
      <SRS>EPSG:4326</SRS>
      <BoundingBox minx="-180.0" miny="-90.0" maxx="180.0" maxy="90.0"/>
      <Origin x="-180.0" y="-90.0"/>
      <TileFormat width="256" height="256" mime-type="image/jpeg" extension="jpg"/>
    </TileSet>
  </Service>
  <DataWindow>
    <UpperLeftX>-180.0</UpperLeftX>
    <UpperLeftY>90.0</UpperLeftY>
    <LowerRightX>180.0</LowerRightX>
    <LowerRightY>-90.0</LowerRightY>
  </DataWindow>
  <Projection>EPSG:3857</Projection>
  <BlockSizeX>256</BlockSizeX>
  <BlockSizeY>256</BlockSizeY>
  <BandsCount>3</BandsCount>
</GDAL_WMS>

but nothing is showing
how to load my imagerytiles completly offline

i teach my students in a class where wifi is very slow so i really need to load tiles offline.

thank you :slight_smile:

Maybe someone can provide further support here, but the first two debugging steps will likely be

  • What is shown in the Browser developer console (hitting F12 in Chrome or Firefox, looking at the console or the ‘Network’ tab)
  • Is the server logging any incoming requests and responses, and what does it print?

i am not using CesiumJS , i am using the cesium plugin for unreal engine, so there is no browser here.
and no there is no incoming requests and responses.

I see, I mixed up the forum section (thought that this was in the ‘CesiumJS’ section).

For ‘Cesium for Unreal’, you should be able to open the developer console via
“Window” Menu → Developer Tools → Output Log
And see whether this prints anything that involves the word “Cesium” and talks about outgoing requests and their responses. When the server does not even receive a request, then there should definitely be some error/warning message on the client side.

can you tell me the steps to load map tiles offline?
so i dont want to waste time fixing the errors i have if i hopefully find in my output log.
Thank you for your time.

Hi @annalamita, welcome to the community!

From your initial post, it sounds like you’re doing the right steps. That implies that this is a problem with the parameters you set on your overlay, or even on a data level. We would be able to diagnose this if you included any error messages or logs that are printed to the console (as Marco asked).

Please also share:

  1. The versions of Unreal Engine and Cesium for Unreal that you’re using. The version of Cesium for Unreal is included in the lower right corner of the Cesium editor panel.
  2. A screenshot of your settings on the Cesium Tile Map Service Raster Overlay.

Hi, annalamita
I wish to be helpful.
In order to show the map completely offline, you have to make both the 3Dtileset and its RasterOverlay component offline, since a Raster Overlay is an imagery layer draped over a tileset.
Since you can access xml files and pngs and jpgs from your local server, yet nothing is showing, then the problem is the 3Dtileset i.e Cesium World Terrain( if you name it this way). You may try any one of the following ways.
1.Select the Cesium World Terrain in the outliner, in details select the instance, Set the Cesium/source to From Ellipsoid (Cesium for Unreal need to be V2.11.0 above). OR
2.Select the Cesium World Terrain in the outliner, in details select the instance, Set the Cesium/source to From Url. Url should be a local layer.json for terrain 3DTiles , for example,file:///D:/Data/DEM/QD/layer.json