|
POST
|
Looks the is a solution for changing a password and host name , but I am looking to update my connection into a new oracle user that is the same host but different Oracle user. Our old Oracle user got read only permission and in 10.6.1 such user is not supported (BUG). Why are Esri forcing us to have a user with read and write permission is another question. And the easiest solution as stated in the BUG is to give the user a full permission but this user is called by many other application indipendent of our ArcGIS server services. So given it a full permission is not an option. The quesion is, is it possible to change the user name (ofcurse different password but the same host name) of my ArcGIS server service connection? thanks!
... View more
01-18-2019
01:27 AM
|
0
|
0
|
4947
|
|
POST
|
Some time a go we have noticed that the following sql statement was executed frequently in our Oracle database. BEGIN /* ArcSDE plsql */ execute immediate 'create table tst_tab(id integer)';execute immediate 'drop table tst_tab';:sql_code := 0; EXCEPTION WHEN OTHERS THEN :sql_code := SQLCODE; :error_string := SQLERRM; END; The statement is executed frequently and it leads to a higher load in our database (exhausts resources - CPU and Memory). It also doesn't seem right because our service do not have edit or such capabilities to write or execute a statement to begin with. The common point of reference is the use of ArcGISServer 10.5.1 services. We Identified that the statement is executed by an ArcSOC.exe. Back then the workaround was to give the Oracle user a read only right and that solved the problem, but now we upgraded one of our ArcGIS Server to 10.6.1. As mentioned in this BUG an Oracle user with only read permission is not supported in 10.6.1 yet. The question is then why the above mentioned statement is executed in our Oracle database in the first place and what can we do to stop it from been executed if we are forced to give our Oracle user a read and wright permission again? Our environment is: ArcGIS for Server 10.5.1 Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 Thanks! Mehretab
... View more
01-10-2019
01:34 AM
|
0
|
4
|
1936
|
|
POST
|
The setTimeout certainly helped to wait till layerInfoParam.layer.legendResponse is resolved hence console.log(layerInfoParam.layer.legendResponse) statement is no more undefined, it is logging the appropriate information. But an attempt to change any properties under the legendResponse object do not appear to have an effect. Forexample: layerInfoParam.layer.legendResponse.layers[2].legend[0].label="layer label"; The reason seems still to be the timing issue. If you check off (hide) the layer in layer list widget and then check it on again the changes are taking effect. It seems the delay caused by the setTimeout, is making the legend widget to take the defualt value for layerInfos object, which is all layers in the map be displayed in the legend. Thanks again
... View more
10-17-2018
05:41 AM
|
0
|
0
|
3249
|
|
POST
|
The layerInfoParam.layer.legendResponse is a promise and it clearly seems the return layerInfoParam statement was processed before the promise was resolved. Any way I made a request and fetch the legend object and manipulated the response. Here is the working code: _getLayerInfosParam: function() {
var layerInfosParam;
var nls =this.nls
if(this.config.legend.layerInfos === undefined) {
// widget has not been configed.
layerInfosParam = legendUtils.getLayerInfosParam();
} else {
// widget has been configed, respect config.
layerInfosParam = legendUtils.getLayerInfosParamByConfig(this.config.legend);
}
filteredLayerInfosParam = layerInfosParam.filter(function(layerInfoParam) {
console.log(layerInfoParam);
if(layerInfoParam.title ==="Oberflächengewässer - Lage und Grenzen der Wasserkörper"){
layerInfoParam.hideLayers=[0,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
layerInfoParam.title="The legend title";
layerInfoParam.layer.layerInfos[3].name="Layer name";
//HERE REQUES IS MADE TO FETCH THE LEGEND OBJECT
if (layerInfoParam.layer.legendResponse===undefined){
//legendResponsRequest IS MADE A GOLOBAL VARIABLE TO AVOID MULTIPLE REQUEST ON OPEN AND CLOSE OF LEGEND WIDGET
legendResponsRequest.then(function(response) {
// console.log(response.layers);
layerInfoParam.layer.legendResponse=response;
//WE CAN THEN MANIPULATE THE LABEL AND OTHER PROPERTIES IN THE layerInfoParam.layer.legendResponse
layerInfoParam.layer.legendResponse.layers[2].legend[0].label="layer label";
//console.log(layerInfoParam.layer.legendResponse);
return layerInfoParam.layer.legendResponse;
});
}
return layerInfoParam;
}
});
return filteredLayerInfosParam;
}, But I am still looking for a means to access the legendResponse without making a request. Is it possible to make the script to wait till the legendResponse is resolved?
... View more
10-16-2018
06:38 AM
|
0
|
6
|
3249
|
|
POST
|
Hallo Robert I am back. Some thing caught my attention on the result of: console.log(layerInfoParam.layer) In Firefox it logs the legendResponse and all the property under it as you can see below, and I can see the legend label but cant access it in my script. But the same console.log(layerInfoParam.layer); doesn't log the legendResponse object in Internet Explorer. the _getLayerInfosParam() functions posted above is instantiated inside the onOpen function, if encase it is something to do with "timing issue" as you suggested. onOpen: function() {
this._jimuLayerInfos = LayerInfos.getInstanceSync();
var legendParams = {
arrangement: this.config.legend.arrangement,
autoUpdate: this.config.legend.autoUpdate,
respectCurrentMapScale: this.config.legend.respectCurrentMapScale,
map: this.map,
layerInfos: this._getLayerInfosParam()//HERE IT IS
};
this.legend = new Legend(legendParams, html.create("div", {}, this.domNode));
this.legend.startup();
this._bindEvent();
}, Thanks.
... View more
09-25-2018
08:41 AM
|
0
|
8
|
3248
|
|
POST
|
Hi Robert, layerInfoParam.layer.legendResponse;
layerInfoParam.title="This is the title";
layerInfoParam.layer.layerInfos[3].name ="This is the name"; The full code: _getLayerInfosParam: function() {
var layerInfosParam;
if(this.config.legend.layerInfos === undefined) {
// widget has not been configed.
layerInfosParam = legendUtils.getLayerInfosParam();
} else {
// widget has been configed, respect config.
layerInfosParam = legendUtils.getLayerInfosParamByConfig(this.config.legend);
}
filteredLayerInfosParam = layerInfosParam.filter(function(layerInfoParam) {
console.log(layerInfoParam.layer)
if(layerInfoParam.title === "Topografie und Bodenbedeckung"){
layerInfoParam.hideLayers=[0,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18]; //01234
//THE WAY I TRIED TO ACCESS THE legendResponse OBJECT
layerInfoParam.layer.legendResponse;
layerInfoParam.title="This is the title"
layerInfoParam.layer.layerInfos[3].name ="This is the name";
return layerInfoParam;
}
});
return filteredLayerInfosParam;
}, Thanks!
... View more
09-24-2018
08:14 AM
|
0
|
10
|
3248
|
|
POST
|
I am adding an ArcGISDynamicMapServiceLayer layer on run time in to a Web appbuilder application. So far I am able to manipulate/change the title and name of the layer on the legend widget but not the labels (marked in black) If you log the layerInfoParam.layer you can clearly see that the label is part of the legendResponse object (line 151), but trying to access this object results in to "undefined". Any idea why? The alternative to use esriRequest and fetch the legend object in json looks not a lightweight task so not an good option. console.log(layerInfoParam.layer) {…}
__coords_dx: 0
__coords_dy: 0
_active: <div style="position: absolute; width: 1136px; height: 333px; overflow: visible; transition: transform 500ms ease 0s;">
_addImage: function hitch()
_attrs: Object { "data-suspended": "", "data-hidden": "" }
_cleanUpRemovedImages: function hitch()
_ct: null
_defaultVisibleLayers: Array(15) [ 0, 1, 2, … ]
_displayLevels: undefined
_div: <div id="map_Topografie und Bodenbedeckung" style="position: absolute; width: 1136px; height: 333px; overflow: visible; transform: translate3d(0px, 0px, 0px); display: none;" data-suspended="" data-hidden="">
_errorHandler: function hitch()
_exclusionsPerZoom: null
_fireOnUpdate: false
_fireOnUpdateEvent: function hitch()
_hasMax: true
_hasMin: true
_hideDefaultSymbol: false
_infoTemplates: null
_inherited: Object { c: (), p: 3 }
_initLayer: function hitch()
_isRefLayer: false
_load: function hitch()
_loadCallback: undefined
_loadingList: null
_lowestLevel: 0
_lyrZEHandle: Object { remove: remove(), id: 11, receiveArguments: true, … }
_map: Object { _plugins: {…}, _internalLayerIds: (1) […], _layerSize: 6, … }
_multiple: 1
_noDom: 0
_onExtentChangeHandler_connect: null
_onPanHandler_connect: null
_onPanStartHandler_connect: null
_Handler_connect: Object { remove: remove(), id: 8, receiveArguments: true, … }
_onScaleHandler_connect: null
_onZoomHandler_connect: null
_onZoomStartHandler_connect: null
_opacityChangeHandler_connect: Object { remove: remove(), id: 0, receiveArguments: true, … }
_params: Object { }
_passives: Array []
_patchIE: false
_popTile: function hitch()
_removeList: null
_resamplingTolerance: undefined
_resumedOnce: true
_rrIndex: 0
_standby: null
_tileBounds: null
_tileErrorHandler: function hitch()
_tileH: 256
_tileIds: null
_tileLoadHandler: function hitch()
_tileMapCallback: function hitch()
_tileW: 256
_tiles: null
_titleForLegend: "Topografie und Bodenbedeckung"
_transitionEnd: function hitch()
_url: Object { path: "https://geoportal.bafg.de/arcgis3/rest/services/IKSR_WRRL_2015/k1_2000_de/MapServer", query: null }
_wakeTimer: null
_wrap: true
attributionDataUrl: ""
capabilities: "Map,Query,Data"
className: undefined
copyright: ""
credential: undefined
description: ""
exclusionAreas: undefined
fullExtent: Object { type: "extent", xmin: 389280.3733725788, ymin: 5822598.578892125, … }
hasAttributionData: false
id: "Topografie und Bodenbedeckung"
infoTemplates: null
initialExtent: Object { type: "extent", xmin: 389280.37337257876, ymin: 6256939.447573861, … }
isPNG32: false
isResampling: false
layerInfos: Array(15) [ {…}, {…}, {…}, … ]
legendResponse: Object { layers: (13) […], _ssl: undefined }
loaded: true
maxImageHeight: 4096
maxImageWidth: 4096
maxRecordCount: 1000
maxScale: 1128.497176
minScale: 591657527.591555
normalization: true
onFeatureReducti: function c()
onFeatureReductionRendererChange: function c()
"token punctuation">: function c()
onOpacityChange: function c()
onScaleRangeChange: function c()
onVisibilityChange: function c()
"onvisible-layers-change": function c()
refresh: function hitch()
refreshInterval: 0
resampling: false
resourceInfo: "{\"currentVersion\":10.51,\"serviceDescription\":\"\",\"mapName\":\"Layers\",\"description\":\"\",\"copyrightText\":\"\",\"supportsDynamicLayers\":true,\"layers\":[{\"id\":0,\"name\":\"rwseg_2000_anno_karte\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":[],\"minScale\":0,\"maxScale\":0},{\"id\":1,\"name\":\"cities_2000_anno\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":[],\"minScale\":0,\"maxScale\":0},{\"id\":2,\"name\":\"Rwseg_DATEN\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":3,\"name\":\"Grenze der 1-Meilenzone\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":4,\"name\":\"Isselmeer_Deich\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":5,\"name\":\"See_CHXX\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":6,\"name\":\"Flussgebietseinheit Rhein\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":7,\"name\":\"Uebergangsgewaesser_K1\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":8,\"name\":\"rwseg_Legende\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":9,\"name\":\"rwseg_chxx\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":10,\"name\":\"Kanal m Wesel Datteln Kanal\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":11,\"name\":\"Kanal\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":12,\"name\":\"Canal_NL\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":13,\"name\":\"Corine Land Cover 2006\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0},{\"id\":14,\"name\":\"gtopo30_hil\",\"parentLayerId\":-1,\"defaultVisibility\":true,\"subLayerIds\":null,\"minScale\":0,\"maxScale\":0}],\"tables\":[],\"spatialReference\":{\"wkid\":102100,\"latestWkid\":3857},\"singleFusedMapCache\":true,\"tileInfo\":{\"rows\":256,\"cols\":256,\"dpi\":96,\"format\":\"PNG\",\"compressionQuality\":0,\"origin\":{\"x\":-20037508.342787,\"y\":20037508.342787},\"spatialReference\":{\"wkid\":102100,\"latestWkid\":3857},\"lods\":[{\"level\":0,\"resolution\":156543.03392800014,\"scale\":591657527.591555},{\"level\":1,\"resolution\":78271.51696399994,\"scale\":295828763.795777},{\"level\":2,\"resolution\":39135.75848200009,\"scale\":147914381.897889},{\"level\":3,\"resolution\":19567.87924099992,\"scale\":73957190.948944},{\"level\":4,\"resolution\":9783.93962049996,\"scale\":36978595.474472},{\"level\":5,\"resolution\":4891.96981024998,\"scale\":18489297.737236},{\"level\":6,\"resolution\":2445.98490512499,\"scale\":9244648.868618},{\"level\":7,\"resolution\":1222.992452562495,\"scale\":4622324.434309},{\"level\":8,\"resolution\":611.4962262813797,\"scale\":2311162.217155},{\"level\":9,\"resolution\":305.74811314055756,\"scale\":1155581.108577},{\"level\":10,\"resolution\":152.87405657041106,\"scale\":577790.554289},{\"level\":11,\"resolution\":76.43702828507324,\"scale\":288895.277144},{\"level\":12,\"resolution\":38.21851414253662,\"scale\":144447.638572},{\"level\":13,\"resolution\":19.10925707126831,\"scale\":72223.819286},{\"level\":14,\"resolution\":9.554628535634155,\"scale\":36111.909643},{\"level\":15,\"resolution\":4.77731426794937,\"scale\":18055.954822},{\"level\":16,\"resolution\":2.388657133974685,\"scale\":9027.977411},{\"level\":17,\"resolution\":1.1943285668550503,\"scale\":4513.988705},{\"level\":18,\"resolution\":0.5971642835598172,\"scale\":2256.994353},{\"level\":19,\"resolution\":0.29858214164761665,\"scale\":1128.497176}]},\"initialExtent\":{\"xmin\":389280.37337257876,\"ymin\":6256939.447573861,\"xmax\":1330828.506468845,\"ymax\":7122763.679222325,\"spatialReference\":{\"wkid\":102100,\"latestWkid\":3857}},\"fullExtent\":{\"xmin\":389280.3733725788,\"ymin\":5822598.578892125,\"xmax\":1330828.5064688448,\"ymax\":7122763.679222326,\"spatialReference\":{\"wkid\":102100,\"latestWkid\":3857}},\"minScale\":591657527.591555,\"maxScale\":1128.497176,\"units\":\"esriMeters\",\"supportedImageFormatTypes\":\"PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP\",\"documentInfo\":{\"Title\":\"compath_2000_de.mxd\",\"Author\":\"\",\"Comments\":\"\",\"Subject\":\"\",\"Category\":\"\",\"AntialiasingMode\":\"None\",\"TextAntialiasingMode\":\"Force\",\"Keywords\":\"\"},\"capabilities\":\"Map,Query,Data\",\"supportedQueryFormats\":\"JSON, AMF, geoJSON\",\"exportTilesAllowed\":false,\"supportsDatumTransformation\":true,\"maxRecordCount\":1000,\"maxImageHeight\":4096,\"maxImageWidth\":4096,\"supportedExtensions\":\"WMSServer\"}"
scales: Array(20) [ 591657527.591555, 295828763.795777, 147914381.897889, … ]
setDefinitionExpression: function c()
setInfoTemplates: function c()
setLayerDefinitions: function c()
setRenderer: function c()
spatialReference: Object { wkid: 102100, latestWkid: 3857 }
supportsDynamicLayers: true
suspended: true
tileInfo: Object { rows: 256, cols: 256, dpi: 96, … }
units: "esriMeters"
updating: false
url: "https://xxxx/xxx/rest/services/xxx/xxx/MapServer"
version: 10.51
visible: false
visibleAtMapScale: true
visibleLayers: Array(15) [ 0, 1, 2, … ]
<prototype>: Object { declaredClass: "esri.layers.ArcGISTiledMapServiceLayer", _agolAttrs: (14) […], _isReference: false, … } Any hint would be appreciated !! Mehretab
... View more
09-24-2018
02:13 AM
|
0
|
12
|
4805
|
|
POST
|
It is a good workaround though it requires you to create webmaps and associated config files for each use case (the number of operational layers you need to show in individual URL ) It would have been great if the URL to services (operational layers) works directly like in the portal viewer. Robert Scheitlin, GISP, I wonder what is the dataSource object in the config.json all about? there is a url parameter and is indicating some sort of Layers... Mehretab
... View more
09-05-2018
02:45 AM
|
0
|
2
|
1275
|
|
POST
|
query.where = "(NAMETEXT NOT LIKE 'Havel')"; Worked perfectly. Thanks Robert!!!!
... View more
07-31-2018
06:36 AM
|
0
|
0
|
916
|
|
POST
|
Is all except query expression (<>) valid in the JavaScript API. I couldn't get a result of the query. query.where = "(NAMETEXT <> '"+valuefromcombo+"')" I am aware it can work with successive OR statements like query.where = "(NAMETEXT = '"+valuefromcombo+"') OR (NAMETEXT ='Havel')";
OR query.where = "NAMETEXT in ('xxx', 'yyyy')"; Note:valuefromcombo is a user impute variable and it is text to be clear if in case there is an issue of (<>) expression with text values?
... View more
07-31-2018
03:28 AM
|
0
|
2
|
916
|
|
POST
|
Here is the widget Robert Scheitlin, GISP , Ikbel Kachbouri The service are added to the map on run time so on the Widget.js file put the url's of your services. Note that my services are cached hence are introduced via ArcGISTiledMapServiceLayer layers. The widget in my case is offpanel and and if you want it to be inPanel change the "inPanel":false, property in the manifest.json The widget is also onScreen in my case, so if you want to include it with onScreen widgets insert the following piece of code in the widgetOnScreen part of the apps config.json (WebAppBuilderForArcGIS\server\apps\4\config.json) {
"uri": "widgets/BAFGWidget/Widget",
"version": "2.6",
"id": "widgets_BAFGWidget_Widget_xx",
"name": "BAFGWidget",
"IsController": false,
"position": {
"relativeTo": "map"
}
}, The Widget doesn't have a setting files to added dynamically layers instead of hard coded but that is what I have for now and good luck.
... View more
02-19-2018
06:34 AM
|
0
|
3
|
871
|
|
POST
|
I will upload it latest by Tuesday next week. Have a good weekend.
... View more
02-16-2018
06:18 AM
|
0
|
5
|
871
|
|
POST
|
I think It would be easy for me to share the widget than to explain it here . Give me some time though?
... View more
02-15-2018
06:27 AM
|
0
|
8
|
1511
|
|
POST
|
No I am clearing the previous maps and add the new group using the buttons.
... View more
02-15-2018
06:24 AM
|
1
|
0
|
1511
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-17-2019 07:01 AM | |
| 4 | 10-10-2023 02:09 AM | |
| 2 | 09-12-2023 03:03 AM | |
| 1 | 08-20-2019 02:28 AM | |
| 1 | 04-19-2022 01:18 AM |
| Online Status |
Offline
|
| Date Last Visited |
07-21-2025
07:02 AM
|