One of the problems goes back to the reason cities are where they are to begin with. People settled where the farming was best. More people came to join them, the farms became settlements, the settlements towns, and the towns cities. Now all our best land has been paved and farmers are out trying to grow stuff on land that previous generations passed over as not sufficient.
Cities cannot be supported by the farms nearby and must be located near an easy place to ship goods. That was water for most of human history, until the train happened.
Small towns happen all over because of farming reasons, but even then access to trade was a consideration, but only secondary to close to farms. (which is to say if there was good farm land far from any way to trade there will still be a town someplace - you see this more with mines as mineral often are in places that are difficult to get to by trade, while farm countries implies enough water which implies rivers)