洛阳地居古代中国“天下之中”,四方交通荟萃之地。西周周公经营洛邑,作为镇抚“东土”的大本营,就因为它“在于土中”,“诸侯四方纳贡职,道里均矣”。东汉光武帝刘秀定都洛阳,与他极力要控制河北有关。曹丕舍弃了其父曹操经营了多年的邺都,而改都洛阳,北魏孝文帝自平城南迁,一度也曾想都邺城,最终定都洛阳,显然都是着眼其地理位置,曹魏为了对付西南的蜀汉和东南的孙吴,北魏为了并吞南朝,洛阳的位置显然有优于长安。
隋唐时期建都长安,但隋炀帝、唐高宗都另建洛阳为东都,经常往来于两都间,而炀帝更居洛阳为常,成为实际上的首都。其原因则主要是当时开了南北大运河后,自洛阳东北取道永济渠可通达王朝东北边境上的涿郡即幽州(今北京),东南取道通济渠可到达富庶的江淮地区。
洛阳城内的含嘉仓、城东洛水入河口的洛口仓,成为储藏天下粮食最丰富的国家粮库。如果西运长安,不仅还要走上千里路程,更主要的是要经过黄河的三门峡,常有覆舟之患。五代前期定都洛阳,后期定都开封,就是因为选择其水运交通枢纽的地位。
邺城背靠山西高原,面对经济发达的华北大平原,地处太行山东麓南北交通大道,又是从太行山滏口陉进入华北平原的要隘,是东西、南北陆路交通的枢纽,战略地位十分重要。所以商汤后七迁,最后盘庚定都安阳(邺的前身),273年更不迁都。战国时期魏国在邺城附近开凿了引漳十二渠,邺地由此富饶。
东汉以来河北地区在军事战略上日益重要,欲奄有黄河流域,必先控制河北,而邺是最理想的地方。所以东汉末年邺开始成为河北平原的政治中心,曹操都邺,并开凿了白沟、利漕渠,使邺城为河北平原水运枢纽。后赵、前燕、东魏、北齐占有黄河流域东部地区,邺当然是最理想的建都所在。
曹丕舍邺而都洛阳,北魏自平城南迁一度也想定都邺城,理由是“邺城平原千里。漕运四通”,但最后还是定都洛阳,这是因为两个政权都想经营南方,而邺偏在河北,就不方便了。杨坚毁邺,从此一蹶不振,以后漳水泛滥,邺地被沙所淹,当然无可能再度兴起了。
北宋建都开封,是因为赵宋政权接受唐末以来藩镇割据的教训,推行强本弱枝政策,削弱地方兵权,在首都开封驻扎了数十万禁军以自卫,而当时江南经济发达已超过黄河流域,政府各部门和禁军所需各种给养全赖每年从江淮转运,故非都距江淮地区较近和水运发达的开封不可,故开封替代长安、洛阳和邺成为都城的首选,是历史自然和人文地理形势发展的必然。