A quick and dirty way to identify a separate but connected body of water would be to shrink all water bodies and see if gaps appear.

In the example above I think that removing all water tiles which have 2 or less water tiles connected to them (marked red) would provide you with the desirable result plus some edge noise. After you have labeled the bodies, you can "flow" the water to its original state and reclaim the removed tiles for the now separate bodies.



Again, this is a quick and dirty solution, it might not be good enough for the later stages of production but it will suffice to "get this working for now" and move on to some other feature.

How can I detect connected (but logically distinct) bodies of water in a 2D map?
I thought that I read a paper making this claim a few months ago, but now I can't find it.  If the answer is yes, is there a nice way to go from the presentation of the right-angled coxeter group to a presentation of its right-angled artin subgroup?  Thanks.
