Oooh, this is something I know a little about. At university we were tasked with building software for estimating the usable area of a runway given its configuration and
obstacles.
Runways have 3-4 different defined areas, each with different properties and usable in different ways. For example, the grass at the sides is important for safety, must be cleared a certain distance back, must not rise above a certain level above the tarmac, etc, and all those rules are distinct from the rules that apply to the concrete at the ends of the runway, distinct from the rules regarding surrounding buildings and trees, and so on. The area managed as a runway can extend kilometers out on every side.
Now, if you have a plane break down at one end, or a support vehicle crash on the grass or something, you don't actually have to put the runway out of action, but you do have to re-declare the usable distance, and that's based on the location, size, and importantly height of the obstacle. You then need to plot the angle of landing/takeoff based on that height, accounting for the segment of the runway it's in, and the given runway's pre-approved angle (varies by city/terrain).
It was a fascinating project and a good example of how problems are often so much more complex and nuanced than they initially appear.