dymaptic / GeoBlazor

Core Components for the Dymaptic GeoBlazor Library
MIT License
108 stars 19 forks source link

Add ClassBreaksRenderer #209

Open seahro opened 1 year ago

seahro commented 1 year ago

Create ClassBreaks Renderer https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-ClassBreaksRenderer.html

Can implement using the WCSLayer sample or other layer samples.

TimPurdum commented 1 year ago

This was originally scoped to Pro in our roadmap, however, since it would be consumed by the WCS Layer, it might need to be implemented in Core instead.

morehavoc commented 1 year ago

Doesn't the ClassBreaksRenderer apply to all layers? And it's one of the complicated ones to configure?

TimPurdum commented 1 year ago

Doesn't the ClassBreaksRenderer apply to all layers? And it's one of the complicated ones to configure?

Yes, it seems to apply to many layers. When we scoped out Pro vs. Core features, we put this in Pro, but we might not be able to do that and consume them with the Core layer types. Especially since we discovered that ClassBreaksRenderer and RasterStretchRenderer do not inherit from Renderer in ArcGIS. Granted, we could theoretically create our own interface for supporting all renderers, and then pass in Pro types to that, but it might not be worth the extra effort to avoid putting this into Core.

morehavoc commented 1 year ago

I believe there are basically two types of renderers, ones for feature type layers and one for image type layers (although I'm not sure how that works out as far as inheritance).

A class break renderer needs to work with all the layer types. I think it's fine to promote this to core if it simplifies code, but we may have to deal with this type of thing other places too.