I'm looking for a method to split linestrings based on their curvature, more precisely if part of them could be considered a street corner. For example in the screenshot below, I'd need to split the two red linestrings in half, roughly at their middle:
At the same time, I'd like to preserve linestrings such as the ones around Starr King Way (to the east) as they're smoother.
The idea I have in mind is to check each subpart of the linestrings for important azimuth changes over a short distance, but I'm afraid it might be tedious or slow. Are there different, more straightforward approaches for this?