[Qgis-user] (re)colloring overlapping parts of multipolygons

Charles Dixon-Paver charles at kartoza.com
Sat Jun 19 16:22:15 PDT 2021


One idea is that you can use a data defined fill color with an aggregate
expression. Unfortunately this would only work over the entire geometry and
not just a specific section, but combined with opacity, blending modes, or
preprocessing it could possibly be of utility, or at least some interest.

Basically my suggestion would be to use an expression like
color_hsv(aggregate(@layer,aggregate:='count',expression:="id",filter:=intersects($geometry,geometry(@parent)))*40,100,100)

This would give you different colors for each feature based on how many
intersections it has, making the overlapping sections more easily
differentiated. The hue needs to be within a range of 360 though, so using
*40 would have a maximum expected number of 9 intersections and will create
a maximum color difference. Using a smaller multiplier will make colour
changes more subtle.

I don't think splitting/ cracking features in the geometry generator will
be possible (I think the union is a typical set union), but it might be a
handy concept for styling a processed output, so I figured I'd leave it
here in case its helpful.

On Sat, 19 Jun 2021, 22:24 Richard Duivenvoorde, <rdmailings at duif.net>
wrote:

> Thanks all for the tips,
>
> I was indeed hoping I could stick to geometry generation only and then in
> one way or another split up the parts of the multipolygons...
>
> But receiving the actual setup now (see attached), my conclusion is now
> indeed to do some processing steps, either vector or raster based... (
> though doing the geometry generation was fun ;-) )
>
> Again, thanks all for the input!
>
> Richard
>
> On 6/19/21 4:45 PM, Richard Duivenvoorde wrote:
> >
> >
> > Hi List,
> >
> > I'm experimenting to create 'flower'-shaped polygons for a point layer,
> denoting the signal coverage of several directional radio transmitters on a
> pole (fyi: to find/locate bats with small transmitters).
> >
> > After some fiddling I came to the attached result for a point with 3
> (but dynamic from attribute) transmitters using the following expression:
> >
> >  collect_geometries(
> >  array_foreach( string_to_array("azimuths"),
> >  make_circle( make_point(
> >               $x + "bereik_m"/2 * cos(radians(@element)),
> >               $y + "bereik_m"/2* sin(radians(@element))), "bereik_m" )
> >               ))
> >
> > The result being a multipolygon with overlapping parts.
> >
> > In this work the overlapping area'a are (apparently) the most
> interesting, as there the 'location' accuracy is highest.
> >
> > So my question: is there a way to give the overlapping area's really
> different colors.
> > I've been playing with the layer rendering options, but ideally the
> area's in which there is no, 2 parts, 3 parts, and 4 parts overlapping
> should be differently colored..
> >
> > I could try to create more advanced expressions (or probably I would go
> for some python) for that, but I was hoping maybe there is another
> trick/idea to use current multi-polygons, without adding 'parts'
> >
> > Any help/tip is appreciated.
> >
> > Regards & TIA,
> >
> > Richard Duivenvoorde
> >
> >
> > _______________________________________________
> > Qgis-user mailing list
> > Qgis-user at lists.osgeo.org
> > List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
> >
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20210620/c028e099/attachment.html>


More information about the Qgis-user mailing list