A Semantic Approach To Patch-Based Procedural Generation Of Urban Road Networks