Hello:
Would anyone know of a way to use an Arcade Attribute Expression that was created in the General 'Configure Pop-up' window inside of the 'Configure Clustering Popup' Window Custom Attribute Display? What I am attempting to do is to use an Arcade attribute expression to provide meaningful names for the point classes of some address points. For Example, instead of 'Residential - Single Structure', below. I would like for the class to read 'Residential Structure' or 'House' (See Figure 1). I am able to do this for in the Popups for individual address points. However, I am unable to do this for Popups depicting clusters of address points.
Figure 1
The problem that I am running into is that I am unable to access any of the arcade expressions that I created inside of the General 'Configure Pop-up' Window (See Figure 2).
Figure 2
Please let me know if I can provide any additional information that might help.
Thanks
Nico
Solved! Go to Solution.
Hi Nico Kroes ,
The cluster window does not have the possibility to use Arcade functions to change the pop-up window. However, you can use an Arcade expression for the symbology and change the names as you want them to appear and that will be used in the cluster pop-up window.
Let's take a small example. I have a set of points that I symbolize on a field called CLASE_USO. There are a couple of values that contain the word "ESTRATO":
Which makes the cluster pop-up to appear like this:
If I want the text "ESTRATO" to be replaced by "LEVEL" I can create an expression for the symbology:
This expression in my case will just have a replace to change the text:
This will change the visualization (the legend actually):
If you go into the configuration of the cluster pop-up you will see that it is using an expression with a strange kong name. This is the expression based on your expression used for the symbology:
The result will like like this:
Hi Nico Kroes ,
The cluster window does not have the possibility to use Arcade functions to change the pop-up window. However, you can use an Arcade expression for the symbology and change the names as you want them to appear and that will be used in the cluster pop-up window.
Let's take a small example. I have a set of points that I symbolize on a field called CLASE_USO. There are a couple of values that contain the word "ESTRATO":
Which makes the cluster pop-up to appear like this:
If I want the text "ESTRATO" to be replaced by "LEVEL" I can create an expression for the symbology:
This expression in my case will just have a replace to change the text:
This will change the visualization (the legend actually):
If you go into the configuration of the cluster pop-up you will see that it is using an expression with a strange kong name. This is the expression based on your expression used for the symbology:
The result will like like this:
Thanks Xander Bakker. This solution worked for my needs. In addition to what you stated above, I added the Replace Functions inside several if statements to ensure that I was changing each point class name was changed exactly to what I needed. Without doing this, I was only able to replace one or two point class names at a time. Please correct me if I am wrong in this assertion.
Thank you for your help with this.
Nico
Hi Nico Kroes ,
Could you provide the code as text (just copy and paste in this thread) so I can actually see what the input and output values are? Based on that I can provide you with a more condensed expression to do the job.
Thanks!
Yes, certainly. Here is the code for the arcade expression:
if ($feature.PtClass == 'Commercial - Single Structure') {
return Replace($feature['PtClass'],'Commercial - Single Structure','Commercial Structure')
}
if ($feature.PtClass == 'Commercial - Suite') {
return Replace($feature['PtClass'],'Commercial - Suite','Office Suite')
}
if ($feature.PtClass == 'Educational - Library') {
return Replace($feature['PtClass'],'Educational - Library','Library')
}
if ($feature.PtClass == 'Educational - School (Private)') {
return Replace($feature['PtClass'],'Educational - School (Private)','Private School')
}
if ($feature.PtClass == 'Educational - School (Public)') {
return Replace($feature['PtClass'],'Educational - School (Public)','Public School')
}
if ($feature.PtClass == 'Emergency - Fire') {
return Replace($feature['PtClass'],'Emergency - Fire','Fire Department Facility')
}
if ($feature.PtClass == 'Emergency - Hospital') {
return Replace($feature['PtClass'],'Emergency - Hospital','Hospital')
}
if ($feature.PtClass == 'Emergency - Police') {
return Replace($feature['PtClass'],'Emergency - Police','Police Department Facility')
}
if ($feature.PtClass == 'Government Office - Local') {
return Replace($feature['PtClass'],'Government Office - Local','Local Government Facility')
}
if ($feature.PtClass == 'Nonbuilding Structure - Cell Tower') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Cell Tower','Cellular Tower')
}
if ($feature.PtClass == 'Nonbuilding Structure - City Govt Asset') {
return Replace($feature['PtClass'],'Nonbuilding Structure - City Govt Asset','City Government Asset')
}
if ($feature.PtClass == 'Nonbuilding Structure - Detention Pond') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Detention Pond','Detention Pond')
}
if ($feature.PtClass == 'Nonbuilding Structure - Electrical') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Electrical','Electrical Structure')
}
if ($feature.PtClass == 'Nonbuilding Structure - Electrical Box') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Electrical Box','Electrical Box')
}
if ($feature.PtClass == 'Nonbuilding Structure - Monument/Sign') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Monument/Sign','Monument or Sign')
}
if ($feature.PtClass == 'Nonbuilding Structure - Parking') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Parking','Parking Structure')
}
if ($feature.PtClass == 'Nonbuilding Structure - Phone Cabinet') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Phone Cabinet','Phone Cabinet')
}
if ($feature.PtClass == 'Nonbuilding Structure - Trash Compactor') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Trash Compactor','Trash Compactor')
}
if ($feature.PtClass == 'Nonbuilding Structure - Water Meter') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Water Meter','Water Meter')
}
if ($feature.PtClass == 'Nonbuilding Structure - Cable Box') {
return Replace($feature['PtClass'],'Nonbuilding Structure - Cable Box','Cable Box')
}
if ($feature.PtClass == 'Recreational/Cultural - Private') {
return Replace($feature['PtClass'],'Recreational/Cultural - Private','Private Recreational/Cultural Structure')
}
if ($feature.PtClass == 'Recreational/Cultural - Public') {
return Replace($feature['PtClass'],'Recreational/Cultural - Public','Public Recreational/Cultural Structure')
}
if ($feature.PtClass == 'Religious/Spiritual') {
return Replace($feature['PtClass'],'Religious/Spiritual','Religious Structure')
}
if ($feature.PtClass == 'Residential - Apartment') {
return Replace($feature['PtClass'],'Residential - Apartment','Apartment Unit')
}
if ($feature.PtClass == 'Residential - Apartment Building') {
return Replace($feature['PtClass'],'Residential - Apartment Building','Apartment Building')
}
if ($feature.PtClass == 'Residential - Common Area') {
return Replace($feature['PtClass'],'Residential - Common Area','Residential Common Area')
}
if ($feature.PtClass == 'Residential - Single Structure') {
return Replace($feature['PtClass'],'Residential - Single Structure','Residential Structure')
}
if ($feature.PtClass == 'Residential - Unit') {
return Replace($feature['PtClass'],'Residential - Unit','Residential Unit')
}
if ($feature.PtClass == 'Residential - Townhome') {
return Replace($feature['PtClass'],'Residential - Townhome','Townhome')
}
if ($feature.PtClass == 'Residential - Group Quarters') {
return Replace($feature['PtClass'],'Residential - Group Quarters','Group Living Facility')
}
if ($feature.PtClass == 'Residential - Condo') {
return Replace($feature['PtClass'],'Residential - Condo','Condominium')
}
Could you try this?
var in_text = $feature.PtClass;
return Decode(in_text, 'Commercial - Single Structure','Commercial Structure',
'Commercial - Suite','Office Suite',
'Educational - Library','Library',
'Educational - School (Private)','Private School',
'Educational - School (Public)','Public School',
'Emergency - Fire','Fire Department Facility',
'Emergency - Hospital','Hospital',
'Emergency - Police','Police Department Facility',
'Government Office - Local','Local Government Facility',
'Nonbuilding Structure - Cell Tower','Cellular Tower',
'Nonbuilding Structure - City Govt Asset','City Government Asset',
'Nonbuilding Structure - Detention Pond','Detention Pond',
'Nonbuilding Structure - Electrical','Electrical Structure',
'Nonbuilding Structure - Electrical Box','Electrical Box',
'Nonbuilding Structure - Monument/Sign','Monument or Sign',
'Nonbuilding Structure - Parking','Parking Structure',
'Nonbuilding Structure - Phone Cabinet','Phone Cabinet',
'Nonbuilding Structure - Trash Compactor','Trash Compactor',
'Nonbuilding Structure - Water Meter','Water Meter',
'Nonbuilding Structure - Cable Box','Cable Box',
'Recreational/Cultural - Private','Private Recreational/Cultural Structure',
'Recreational/Cultural - Public','Public Recreational/Cultural Structure',
'Religious/Spiritual','Religious Structure',
'Residential - Apartment','Apartment Unit',
'Residential - Apartment Building','Apartment Building',
'Residential - Common Area','Residential Common Area',
'Residential - Single Structure','Residential Structure',
'Residential - Unit','Residential Unit',
'Residential - Townhome','Townhome',
'Residential - Group Quarters','Group Living Facility',
'Residential - Condo','Condominium', in_text);
Xander Bakker. I used the code below to add an alias to my address point class names in the legend and in the clustering popup. I also removed some address point classes that I did not need. I appreciate your help on this.
var in_text = $feature.PtClass;
Decode(in_text, 'Residential - Group Quarters', 'Group Living Facility',
'Commercial - Suite', 'Office Suite',
'Commercial - Single Structure', 'Commercial Structure',
'Residential - Single Structure', 'House or Detached Housing',
'Residential - Apartment', 'Apartment Unit',
'Residential - Apartment Building', 'Apartment Building',
'Residential - Unit', 'Residential Unit',
'Residential - Townhome', 'Townhome',
'Residential - Condo', 'Condominium', in_text);
Nico
Hi Nico Kroes ,
It is not entirely clear to me if the code works for you now. Does it?
Yes it does work. Apologies for the misunderstanding.
Nico
Thanks for getting back. Glad to hear that it's working now!