1

Using the ArcGIS Server JavaScript API version 4.18, how can I visually highlight areas with high concentrations of overlapping polygons, such as these historical cyclone tracks?

enter image description here

In addition I need to give higher weighting to more severe cylones based on a numerical attribute (HazardValue, as shown in the legend).

The ArcGIS Server JavaScript API contains a HeatMapRenderer, which looks promising but is only suitable for points.

If possible I would like to find a front-end solution rather than creating a raster on the server (I plan to add the ability to filter the polygons and would like the heatmap to regenerate dynamically based on the selection, which seems more suitable to front-end processing).

4
  • The last time I needed to do that, I wrote an SOE geoprocessing service in ArcObjects Java, and rigged the JS client to send it the request and render the result.
    – Vince
    Mar 2, 2021 at 3:49
  • 1
    @Vince thanks, I'm hoping to avoid needing to use the back-end but it's good to know you had it working if it comes to that Mar 2, 2021 at 4:45
  • I think you would either need to use opacity like in your photo or create a point layer from your polygons and then use HeatmapRenderer, since each polygon has its own value you can create a "csv" layer (like the one used in this example) from the points and the value and use the heatmap renderer.
    – Dror Bogin
    Mar 15, 2021 at 9:09
  • 1
    @DrorBogin there you go, proof that it works ;) Mar 17, 2021 at 2:50

1 Answer 1

2

In the end I wrote a Python script to create a mesh of points to represent each polygon, then used the aforementioned HeatMapRenderer to display them:

enter image description here

I was surprised to see the bright yellow hot-spot above Western Australia, which wasn't as apparent from the base polygons, even with a transparency. Which I guess demonstrates the benefit that this visualisation brings....

1
  • 1
    brilliant work Stephen Dec 21, 2022 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.