Исторически города строили по берегам реки из-за нескольких причин. Во-первых, река обеспечивала город водой для питья, орошения сельскохозяйственных угодий, а также для использования в быту и промышленности. Кроме того, река была важным путем сообщения и торговли, что способствовало развитию экономики города.
Что касается размещения кремлей на холмах, это было связано с оборонительными соображениями. Расположение кремля на холме обеспечивало лучший обзор и контроль над окружающей местностью, что делало город более устойчивым к нападениям и обеспечивало защиту от вражеских атак.
Таким образом, строительство городов по берегам реки и размещение кремлей на холмах было обусловлено как экономическими, так и оборонительными соображениями, что способствовало развитию и процветанию городов в древности.