How can I stop public users adjusting layer Visibility Range in a public webmap

533
4
05-11-2020 10:05 AM
DataOfficer
Occasional Contributor III

I have a public webmap containing a single hosted view layer which holds wildlife records from a public survey. This webmap / single layer feeds in to a public dashboard. The layer visibility range is set so that the public can only see (in the dashboard) where wildlife records have been submitted up to a certain visibility range. This helps protect the location of those completing the survey, whilst still displaying the results on a map. The problem, is that if a public user manages to find the public webmap or view layer in ArcGIS Online, they can change the visibility range to any level, undermining the entire point of limiting the visibility range to the public.

I have tried setting the visibility range of the non-public layers which the public view layer is derived from but this seems to have no effect.

0 Kudos
4 Replies
BenTurrell
Occasional Contributor III

Hey Rob Ward‌,

You might want to consider hex binning your data. This will help to keep peoples locations private while still allowing you to have the data quality you need. I would keep the data that is coming in from survey123 private and generate a new layer using hexbins that can be shared with the general public.

If you need help with hexbins there are some great resources here:

https://www.esri.com/arcgis-blog/products/data-management/mapping/strategies-to-effectively-display-...  (Strategy 2 in this document)

https://www.esri.com/arcgis-blog/products/arcgis-pro/mapping/40-years-of-piracy/ 

Thanks,

Ben


If this answer was helpful please mark it as helpful. If this answer solved your question please mark it as the answer to help others who have the same question.

DataOfficer
Occasional Contributor III

Hi Ben, 

Thanks for your reply. We would like to achieve something along the lines of hex binning. However, we need the results output to be a live (dynamic) update, currently achieved through a hosted view layer. My understanding is that hex binning via aggregation would require the creation of a static layer. The only workaround to achieve the same output would be to create a separate hex / grid feature layer, and populate both the records and the hexagons with a common attribute that describes their spatial location. However there is no straightforward way of doing this for a live dataset. Happy to be corrected if there is a way around this.

Thanks,
Rob

0 Kudos
BenTurrell
Occasional Contributor III

Hey Rob Ward‌,

If you are using ArcGIS Pro 2.5 you could schedule a model builder to create and (I think!) publish the hex bin layer: Schedule Geoprocessing Tools and Models in ArcGIS Pro 2.5 

You could also potentially use python and schedule it to run.

Both of the above options should work however it would very much depend on how often you need to update the data and how long you are going to be running the service for! xkcd: Is It Worth the Time? 

One other idea is you could create a web application and set the maximum zoom level.

Happy to discuss further.

Ben

DataOfficer
Occasional Contributor III

Thank you Ben. That is very useful, and is a potential option. Yes we are running ArcGIS Pro 2.5.1 alongside ArcGIS Online. So, to clarify, we could (hopefully) access the feature service from ArcGIS Online via ArcGIS Pro, run the analysis in Pro at regular intervals using scheduling / python script, and then overwrite the results in to ArcGIS Online?

I will give the maximum zoom level in the web app a go. However, I can foresee that this will still leave the source webmap or layer vulnerable for the full zoom range through ArcGIS Online as it will need to be public to feature in a public webapp.

Many thanks,
Rob

0 Kudos