# [PowerShell], <s>88</s> <s>82</s> <s>80</s> <s>74</s> 71 bytes
<sup>-8 bytes thanks to Mazzy</sup>  
<sup>-6 bytes thanks to AdmBorkBork and Mazzy</sup>  
<sup>-3 bytes thanks to AdmBorkBork</sup>

<!-- language-all: lang-powershell -->

    param($n,$d)$n..1|%{' '*($_,($n-$_))[$d]+($y='/\|'[$d])," $y"[$_%2],$y}

[Try it online!][TIO-jsytp0q8]

[PowerShell]: https://github.com/TryItOnline/TioSetup/wiki/Powershell
[TIO-jsytp0q8]: https://tio.run/##K8gvTy0qzkjNyfmvkmZb/b8gsSgxV0MlT0clRVMlT0/PsEa1Wl1BXUtDJV4HKKyrEq@pGa2SEqutoVJpq64fU6MO4mnqKCmoVCpFq8SrGsXqqFTW/q/lUlNJUzBVMOJSV4cyDRBMQxjTTMHwPwA "PowerShell – Try It Online"

Uses [0,1,2] for NW, NE, N. Uses `d` as a list index twice to first get the spacing method (Drops off the list when using 2 which returns 0) and then which character to use when drawing the lines. Appends a list to the string of spaces (which innately has spaces between the members when appended as such) which builds the road. Also swaps between an open lane or a dash based on modulo math.