1

I tried to connect CesiumJS to ArcGIS by using ArcGisImageServerTerrainProvider. This works OK if I have a map in simple format BUT:

  1. ArcGIS 10 now supplies data in LERC compression and Cesium can't read it (see http://github.com/Esri/LERC).
  2. From the code I can see that ArcGisImageServerTerrainProvider is deprecated and will be removed in future version.' ArcGisImageServerTerrainProvider` will be removed in 1.32 due to missing TIFF support in web browsers. see https://cesiumjs.org/Cesium/Build/Documentation/ArcGisImageServerTerrainProvider.html How can I provide terrain data from ArcGIS 10 to CesiumJS now?
3

Here's the issue where it was decided to deprecate ArcGisImageServerTerrainProvider. The reasons given (by one of Cesium's core terrain/imagery developers) are quoted here:

We probably should have removed ArcGisImageServerTerrainProvider prior to the 1.0 release, because it is unfortunately nearly impossible to actually use. The problem is that ArcGIS image servers can return height data in a number of ways, but none of them really work for our purposes. If the heightmap is returned as a floating point TIFF, web browsers (and therefore Cesium) are unable to decode it. If the heightmap is returned as a PNG or JPG, the heights are discretized to a value from 0-255, creating a lousy terrain representation.

The workaround that ArcGisImageServerTerrainProvider expects (and this is not well documented) is the use of a special proxy. The proxy requests heightmap images from ArcGIS as TIFF files, and then re-encodes them as PNG files to serve to the browser and Cesium. Rather than a simple grayscale PNG like the one ArcGIS produces itself, the transcoding proxy uses the red, green, and blue channels to effectively represent a 24-bit integer. This gives us much more height precision than we get from the standard ArcGIS PNGs.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.