Issue Working with Url Template for NOAA Earth In True Color Data

Hi, I'm new to Cesium (and relatively new to coding all together :slight_smile: ). I'm trying to visualize the Earth in True Color data from https://www.nnvl.noaa.gov/true.php as a WebMercatorProjection for the Central Database of Individualized Cloud Formations, a cloud appreciation mapping project I'm working on. I'm running Cesium on a local host with
the 'node server.js' command in Mac OSX Terminal.

I noticed that NOAA Global Data Explorer viewer references a tile set on their server which is organized in a similar way to the Natural Earth example in the docs, with a few caveats. here's a link to one of those images, which as you can see from the url has a Z column, an X column, and a Y column:

I've had some success using createTileMapServiceImageryProvider with a proxy to access the images, but it's projecting the Y column backwards due to the way they've organized their images. Here's my code:

var widget = new Cesium.CesiumWidget(‘cesiumContainer’, {
          imageryProvider : new Cesium.createTileMapServiceImageryProvider({
                url : ‘https://www.nnvl.noaa.gov/Portal/Tiles/TRUE/TRUE.daily.20170818.color/’,
                proxy: new Cesium.DefaultProxy(’/proxy/’),
                maximumLevel : 5,
                credit : ‘Imagery courtesy of the NOAA Environmental Visualization Laboratory’
          }),
          baseLayerPicker : false,
                timeline: true,
                infoBox: false,
                sceneModePicker: false,
                navigationHelpButton: false,
                fullscreenButton: false,
                animation: false,
                geocoder: false,
                homeButton: false,
                sceneMode : Cesium.SceneMode.SCENE2D,
                mapProjection : new Cesium.WebMercatorProjection()
        });

Does anyone have any tips one how to customize the way Cesium grabs those tiles? I've tried playing with the UrlTemplateImageryProvider's url string property (like this: 'https://www.nnvl.noaa.gov/Portal/Tiles/TRUE/TRUE.daily.20170818.color/{z}/{x}/{y}.png', but that prevents access to the images all together.

I've been working on this for several weeks, and even contacted the NOAA in email to ask for tips, but without much success. (The person I contacted there gave me a link to the ArcGis server for the images (https://gis.nnvl.noaa.gov/arcgis/rest/services/TRUE/TRUE_daily/ImageServer), but couldn't provide much information beyond that on how to access it. I of course tried Cesium's ArcGisMapServerImageryProvider to no success also.

Sorry for the long winded question, and thanks in advance for any tips, insight, or ideas to point me in the right direction! Excited to be a part of the Cesium community!

Hello and welcome to the community!

I’m having trouble getting the imagery to load in Sandcastle with or without the proxy. Maybe there is a CORS issue here: Perhaps ask who you contacted at NOAA if they can allow the proper headers. But I’m unable to load any imagery, so I’m having trouble reproducing the issue here.

Can you be more specific on the problem your encountering using UrlTemplateImageryProvider? That sounds like the way to go here. There is a {reverseY} keyword available to use.

You could write a custom Imagery Provider (a good reference for that would be this thread), but that seems overkill in this case.

Thanks,

Gabby