Arcgis js api 4.7 and CESIUM 4.7 js

Does Arcgis js api 4.7 and CESIUM 4.7 js work together in an html page?

What are you attempting to do? Cesium should be able to visualize any imagery, terrain, points, lines, polygons, etc.



Hi Gabby,

I am trying to add ElevationProfile, graphs plots, draw polygon, draw line, upload polygon file in cesium 1.46.
Is this possible to do in cesium js?

Any online or offline working example please…



You need to export ESRI’s proprietary data formats to open standards-based formats. Cesium out-of-the-box is NOT a “GIS data viewer”, especially ESRI’s formats.

The ArcGIS ArcToolbox “Export to JSON” with the “geoJSON” option creates files that fails QC checks. Delete the CRS element, and it may pass geojsonlint.

ArcToolbox Export to COLADA creates 3D models that can be converted to gltf format; gltf is compatible with Cesium, but the coordinate reference system’s origin is embedded by ESRI in an undocumented way, and the 3D models from ArcGIS are not correctly georeferenced when loaded into Cesium - essentially unusable.

It’s very disappointing trying to get data from ArcGIS into formats that will display in Cesium. You will need to write lots of code, and you should take a look at GDAL and OGR2OGR to convert shapefile and FGDB features into point and polygon datasources that Cesium will load.

GIS data coordinates MUST be converted to WGS84, you cannot do anything with GIS data in a projected coordinate system in CesiumJS (nor in Google Maps overlays).

Multipatch 3D shapefiles are unusable, there are no export or conversion possibilities.

A few people have managed to develop workflows for using Cesium to visualize 3D data created in ArcGIS. Unfortunately, I can’t point you to many specific threads containing examples here in Cesium-Dev.

search for “Geojson floating and shifting on the terrain”!searchin/cesium-dev/Geojson$20floating$20and$20shifting$20on$20the$20terrain%7Csort:date/cesium-dev/_CTYGr62DvY/jnzwQnzUBwAJ

2D data, Point and Polygon features, are a little easier.

The biggest obstacle remaining to GIS data visualization is Cesium’s lack-of-support for clamping Polylines to terrain. It is hopefully “coming soon”. Until Polylines support Cesium’s clampToGround option, even Polygons clamped-to-ground over 3D terrain have no visible polygon outlines. “Corridor” geometry is a clunky Cesium workaround that I quickly ruled-out for my use cases.

There is an un-finished Cesium project that was never merged into the Cesium core, which intended to add GPX files and Shapefiles as supported Cesium datasources. Look at the code in GitHub, and you can probably adapt it to your needs.

But if you are an average ArcGIS user, walk away from Cesium now, with your sanity intact. The amount of coding and conversion required to view GIS data in Cesium is not for the faint-of-heart.

good luck with your ESRI Javascript API projects-


Look at Andre Nunes work in GitHub: “Native GPX and Shapefile support”!msg/cesium-dev/Ov014I88lMA/lrA-Vf6T8osJ;context-place=msg/cesium-dev/_CTYGr62DvY/jnzwQnzUBwAJ

Also look at TerriaJS, which originally developed for Australia’s National Map.

Kevin Ring has posted some good info regarding TerriaJS in cesium-dev, most recently under a topic “Arcgis feature server vs map server?”!profile/cesium-dev/APn2wQdDf8J2kNnhMkqr9zuD_pygdVUnsj_Ry_fyJdzzNnQ1nVxZA0EUyytOfBuqM3VR6JSBsHGH/cesium-dev/YJVt_-U9bxo/2DNmI77DAQAJ

Dear Left Gully,
I am working on avalanche hazard project.

My objective is to report an avalanche i.e. draw avalanche polygon on cesium globe then save it to postgresql server.

Could you please help me…

I am trying to use clickevent to draw polygon and then save it to localhost server…


Hi Akshay,

What you’re doing sounds like it can be accomplished fairly straightforwardly in Cesium. There are many examples of drawing polygons and polylines in Cesium if you search around the forum, for example here’s one thread. Then you can retrieve the positions for that polygon and make a request to web server to save the information back to your database.

Polylines on terrain are a fairly complex problem, but that feature is coming along nicely and will most likely be available in the next Cesium release.

For elevation profiles and graphs plots that don’t need to be displayed on the globe or map, I would recommend using some sort of JavaScript chart library, like D3.



Hi Gabby,

Thanks for the links

I tried provided links!searchin/cesium-dev/draw$20line$20click|sort:date/cesium-dev/AgbfqS_WGFg/LxtM8c-dEAAJ

However its not working. some issue may be with code…

Now i am trying for drawing but its not working on 3d terrain. Polygons are not overlaying on 3d terrain data.

Could you please send me any working app link that has drawing addon.

I am trying to develop feather like on this site… then go to Report and avalanche… here polygone is drawn freely with the help of mouse on terrain…

I don’t have source code for a full working application. You could always try contacting the developers of the application you’ve linked to and ask them, or asking more specific questions here.

For polygons on the terrain, take a look at the Ground Clamping example.