POST
|
Are there any specific requirements for the terrain services that can be loaded in Cesium? I have successfully loaded the official terrain service using the following URL: https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer However, when I tried to load my own terrain service hosted on my server(arcgis server 10.6), the Cesium scene appeared as black and failed to load. There were two HTTP requests related to this service, and they seemed to be normal. One of the request URLs looked like this: {the domain}/arcgis/rest/services/{the service name}/ImageServer?f=json&token=xxxx and it returned the json data about the service itself. If compared to the official terrain service, this json data has a few fields that are different: my service "serviceDataType": "esriImageServiceDataTypeGeneric", "capabilities": "Image,Metadata,Mensuration", official service "serviceDataType": "esriImageServiceDataTypeElevation", "serviceSourceType": "esriImageServiceSourceTypeMosaicDataset", "capabilities": "Image,Tilemap,Mensuration", The 'SpatialReference' fields are the same. Are there any other information I should pay attention to? Thanks.
... View more
08-01-2023
07:43 AM
|
1
|
0
|
183
|
POST
|
I'm following this instruction(Using Bower for Custom Builds | ArcGIS API for JavaScript 4.6 ) to generate a custom build(RequireJS) of API, but this error occured: Running "requirejs:single" (requirejs) task ReferenceError: document is not defined In module tree: dojo/NodeList-dom dojo/dom-construct dojo/dom-attr dojo/dom-prop dojo/_base/connect dojo/on dojo/has { Error: ReferenceError: document is not defined In module tree: dojo/NodeList-dom dojo/dom-construct dojo/dom-attr dojo/dom-prop dojo/_base/connect dojo/on dojo/has at /Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:28326:19 at /Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:3059:39 at /Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:2999:25 at Function.prim.nextTick (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:28077:9) at Object.errback (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:2998:26) at Object.callback (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:2984:23) at Object.then (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:3038:23) at build (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:28283:12) at runBuild (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:30291:17) at Object.execCb (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:1946:33) at Module.check (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:1133:51) at Module.enable (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:1426:22) at Module.init (/Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:1038:26) at /Users/Nie/custom-jsapi/4.x/bower/requirejs/node_modules/requirejs/bin/r.js:1710:36 at _combinedTickCallback (internal/process/next_tick.js:131:7) at process._tickCallback (internal/process/next_tick.js:180:9) I'm working on a Mac and installed these tools: ➜ requirejs git:(master) ✗ node --version v9.1.0 ➜ requirejs git:(master) ✗ git --version git version 2.10.1 ➜ requirejs git:(master) ✗ grunt --version grunt-cli v1.2.0 grunt v1.0.2 ➜ requirejs git:(master) ✗ bower --version 1.8.2 ➜ requirejs git:(master) ✗ java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) After git clone from GitHub, I have executed 'npm install' and added these lines at the top of app/main.js: var dojoConfig = { baseUrl: '.', packages: [ 'app', 'dijit', 'dojo', 'dojox', 'dstore', 'dgrid', 'esri' ] }; Then this error occurred when execute 'npm run build'. Anyone has some clues?
... View more
03-18-2018
10:57 PM
|
0
|
1
|
6141
|
POST
|
I published the service from ArcGIS Pro, right click on the layer name and click 'Share As Web Layer'. Then three new service appeared in the REST Service Directory of ArcGIS Server, FeatureServer, MapServer and SceneServer. I need to open the popup programmatically, so I need to do some query first and prepare the features and location for the Popup. I have tested and successfully opened the popup window by using FeatureLayerView.queryExtent(). Thank you for explaining the mechanism to me. Both of you are so kind~
... View more
10-11-2017
08:18 PM
|
0
|
0
|
383
|
POST
|
The process is similar, the difference is, each time the extent change I set a new renderer for the scene layer. Maybe overriding the getSymbol() is a better way, let me try. Thank you for your reply, it really helped me a lot!
... View more
10-11-2017
07:44 PM
|
0
|
0
|
383
|
POST
|
For example, a scene layer named "buildings" has a field storing the usage info, then those building features are rendered with different color according to the usage field. What was expected is, change the usage field value and the renderer style will automatically refresh to "reflect" the field value change. Now I can applyEdits to the linked feature layer, but the scene layer's renderer style won't update. That's why I need to manually request attributes from the linked feature layer, and wonder if there're some options to force the API to do this.
... View more
10-11-2017
06:12 AM
|
0
|
2
|
1637
|
POST
|
I've just debugged the code, yes, you're right. When I set outFields to ["*"] several new request appear in the Network panel of Chrome Dev Tools. I didn't noticed that and thought LayerView.queryFeatures() is always client-side. You mentioned that there're probably some options for forcing the attributes fetch, is there some similar api to force the SceneLayer to fetch attributes from its linked FeatureLayer/FeatureService? I need to set the SceneLayer's renderer to reflect its attribute changes, but attributes stored in SceneLayer/SceneService and been used to render never change after the service has been published. I have asked about this (here), for now I have to watch the SceneLayerView's updating and request attributes from the connected FeatureService manually.
... View more
10-10-2017
07:00 PM
|
0
|
4
|
1637
|
POST
|
1. the code snippet is really simple, I just find the scenelayerview instance from sceneview's allLayerViews property and do the query: lyrVw = this.view.allLayerViews.find(l=>l.layer.title ==='LayerTitle')
let featureSet = await lyrVw.queryFeatures() featureSet.features has all the loaded features of this scenelayer currently in the scene, but there geometry property is null. 2. As soon as I got your reply, I changed the code and execute the query like this: let featureSet = await lyrVw.queryFeatures({outFields: ['*']}) this time the featureSet.features have all the field values! I'm confused here because the same code(leaving the queryFeatures's parameter blank) returns the expected result, the only difference is changing the LayerTitle to let the lyrVw equals an instance of FeatureLayerView. Is it a better practice to always set the Query params? 3. You said I can't get the SceneLayer feature's geometry, is this going to be supported in future? For now, I want to get the particular feature from query and open the popup, so I did wanted to pass the geometry as parameter to the Popup's open function to set the popup windows's location. I will try calculating the center point from the extent, it should work the same.
... View more
10-10-2017
10:26 AM
|
0
|
8
|
1637
|
POST
|
I mean the SceneLayerView, not the SceneLayer, so the queryFeatures function only do query at the client side, there's no such a process about sending something, am I right?
... View more
10-10-2017
09:43 AM
|
0
|
0
|
1637
|
POST
|
The similar functionality is SceneView.basemapTerrain.wireframe, but the opacity property you mentioned is much more useful to me !
... View more
10-10-2017
12:48 AM
|
0
|
0
|
426
|
POST
|
FeatureLayerView.queryFeatures() returns all the field values and the geometry, but using SceneLayerView.queryFeatures() I can get only the objectid.
... View more
10-09-2017
08:26 PM
|
0
|
13
|
2866
|
POST
|
Thanks, I solved using this Fullscreen API. It's easy enough.
... View more
09-22-2017
08:42 PM
|
0
|
0
|
366
|
POST
|
There's a Full Screen button in ArcGIS Portal Scene Viewer at the bottom right corner. Is there a similar function in ArcGIS JS API to switch SceneView to fullscreen mode?
... View more
09-21-2017
04:18 AM
|
0
|
2
|
496
|
POST
|
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!
... View more
08-29-2017
09:42 AM
|
0
|
0
|
692
|
POST
|
Then how to recreate the scene layer cache, can I do this in JavaScript API?
... View more
08-29-2017
04:18 AM
|
0
|
2
|
692
|
POST
|
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.
... View more
08-23-2017
05:34 AM
|
0
|
4
|
1073
|
Title | Kudos | Posted |
---|---|---|
1 | 08-01-2023 07:43 AM |
Online Status |
Offline
|
Date Last Visited |
08-09-2023
12:20 AM
|