I would suggest approaching this as an organic problem solving task, and start with an empty trial landscape.
Build tools within your code base to let you 'paint things' while moving around in a stripped down version of your final project. Begin at a starting point, and expand out from there with various tasks in hand.
Take up your list of buildings and interaction types you want within your game, and then work through that list while trying to think as a player in various situations.
- You're at your 'house' or starting point, and now you want to get to the supermarket. Start traveling and laying down road markers, then place your supermarket somewhere that feels good.
- Where do you go from supermarket? Maybe you'll go find some other store, or an objective site. Look around your world, and decide where to put it.
- Keep things flexible. Keep moving around and placing 'sites of interest', and then modify roads to be more interesting but logical.
- Start to build up districts. Find things that don't work or feel awkward, and fix them.
Keep going over things and build up your world over time. Probably best to keep things as fairly vague placeholder building designs. Simple boxes with signs. Maybe build a tool to let you 'sketch' designs onto a texture in real time if you want to be able to have distinct and custom buildings. Fill in other spots with more generic buildings that can be churned out with minor adjustments.