It's easy to understand why a settlement would be formed on the shore of an ocean or a large lake, but what determined the location of cities on rivers? If a river has, say, a 100 or 200 km portion of fairly uniform landscape, what was it that made settlers decide that yes, our city is going to go here and not 10 km further up or down? In particular I'm curious about the new world where there was so much open space and no visible borders for the European settlers looking for a place to settle down.
The river settlements that grew into large cities usually had particular advantages: an easy place to ford, or a narrow place where a bridge could more easily be constructed, or a situation that controlled the river and so was the site of a fort. Probably the most important factor after 1800 in the New World was the possibility of connections with other forms of transport—creating what geographers call an entrepôt. A place where freight is transferred from one kind of transport to another—from boat to railroad, or riverboat to canal barge—is a great place to set up factories that add value to raw materials or semifinished goods.
Other factors that promoted one settlement over another were the presence nearby of minerals or forest resources, minor streams with rapids or waterfalls (for mill power) near their confluence with the main river, locations not threatened by seasonal flooding, and riverbank conditions that allowed riverboats to easily load and unload cargo.