Nice!
If I re-engineered your algorithm correctly, it tries to find the single largest circle within a grid of streets.
This, unfortunately doesn't work well for a river that isn't frequently broken up by bridges.
E.g. the whole area of Treptower Park, Insel der Jugend, Stralau and Rummelsburger Bucht doesn't have a Rueckzugsort next to the water (there is only a big one in Plaenterwald for that whole part of the Spree).
Nice work, though. I'd be interested in a version of this that maximizes walking or biking time without crossing streets!