Jump to content

How to improve Spotfire WMS layer ArcGIS maps performance

TousifAhamed Nadaf

Recommended Posts

Hi Team, I am using wms arcgis map as mapping layer in my analysis, and it is functioning on client and web player as well.

However, the performance is poor. It takes time to load and if I am using the same wms link in another tab, even that map will start loading again. To be precise if I am moving from tab to tab, the map will start loading again.

Can we do something like if I login once to a wms link I should be allowed to access relevant maps in another tab, can we prevent wms loading after initial load

In another scenario, I am trying to plot contour lines, on map chart as a feature layer I have used the below-mentioned link as a reference: https://community.spotfire.com/modules/map-contour-plot-data-function-tibco... This is working but it takes a long time to get reflected. Could you please provide suggestions to improve performance Thanks and Regards, Tousif

Link to comment
Share on other sites

Hi Tousif,

My colleagues and I are considering your question. A quick response for the performance issue:


The data function is written to optimize final appearance, not execution speed.


There's an initial smoothing algorithm which is run once but I think the contouring part is run three times - basic contours, and then major and minor divisions. So there is room for making it faster.


Do you have the ability to work on the code for the data function, given this information


Regarding the map loading, I don't think we will have any control over that - it is likely a Spotfire feature. However, I am willing to be corrected on this - I will let my colleagues comment further.


Andrew (TIBCO Data Science)

Link to comment
Share on other sites

Hi Andrew,


I have gone through data function


In line number 81 I found below code,


bad = is.na(x) | is.na(x) | is.na(z) 


However, I feel it has to be as below:


bad = is. na (x) | is. na (y) | is. na (z)


It will be great if you help to simplify it as I am not getting enough information


 [[{"fid":"153616","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":false,"field_file_image_title_text[und][0][value]":false},"type":"media","field_deltas":{"1":{"format":"default","field_file_image_alt_text[und][0][value]":false,"field_file_image_title_text[und][0][value]":false}},"attributes":{"class":"media-element file-default","data-delta":"1"}}]]

Link to comment
Share on other sites

Hi Tousif, thanks for your observations and comments!

Thanks for finding my typo in the code, the check for missing values has a duplicated "x" whereas it should be checking x y and z as you noticed. This won't affect performance but it could cause odd behavior so I'll fix the typo and submit a new version shortly.

I checked the contouring data function - basically it does smoothing using loess() then calculates the convex hull, then calls contourLines(), one time only. Each step is pretty essential to the operation.

If your plots are slow perhaps you could downsample the part of the data being sent to the data function. Or if there are multiple points at the same location you might aggregate to gain some speed up.


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...