I'm working on some 3D model data and want to use the scenelayer's renderer to reflect the 3D model's attribute changes.
So I published hosted scene layers from ArcGIS Pro directly to ArcGIS Server( NOT the .slpk way, and enabled feature edit before Share As Web Layer ), then 3 new items appeared in ArcGIS Portal and ArcGIS Server REST Services Directory, like this:
ArcGIS Portal:
ArcGIS Server:
Everything's OK, right?
Now I can successfully applyEdits to the FeatureService from JS API, and view the changed attributes through the sceneview popup.
The only problem is, I have set UniqueValueRenderer for the scene layer, but the renderer style is still the same. I'm sure the value of the field which has been used in UniqueValueRenderer has changed. It seems that scene service has cached a copy of feature service's attribute table and never update it.
Could you please explain to me the mechanism between the scene layer and it's linked feature layer, how they works, and how can I use the linked feature layer's attributes to set renderer for the scene layer ?
Thanks.
Solved! Go to Solution.
Hi,
The popup window is pulling the attribute information directly from the connected feature layer. The Unique Values renderer on the other hand is pulling the values from the statistics which is cached with the scene layer. You will need to recreate the scene layer cache in order to see those changes in the renderer. We are currently working on documentation to clarify this further.
Let me know if you have any additional questions.
thanks!
-Andrew
Hi,
The popup window is pulling the attribute information directly from the connected feature layer. The Unique Values renderer on the other hand is pulling the values from the statistics which is cached with the scene layer. You will need to recreate the scene layer cache in order to see those changes in the renderer. We are currently working on documentation to clarify this further.
Let me know if you have any additional questions.
thanks!
-Andrew
Then how to recreate the scene layer cache, can I do this in JavaScript API?
Unfortunately at Portal 10.5.1 you will need to republish the scene layer/feature layer manually. ArcGIS Online currently supports creating a scene layer from a feature layer and managing the cache when the feature layer is updated but that functionality is not in Portal 10.5.1. This workflow will be easier in the future as enhancements are added to both ArcGIS Online and Portal for ArcGIS.
Thanks. Finally I solved this by watching the sceneLayerView's 'updating' property and request the loaded feature's attributes manually from the feature service.
Thank you for your help!