了解这个问题需要熟知中国的地理知识,从地图上看,中国北方是华北平原,一马平川,沃野千里,是无险可守的。故中原王朝占据一旦占领华北平原,都会力图占领华北平原的北面的战略要地,即幽云十六州,这样才能在燕山山脉依据地势形成一道稳固的防线。
如上图所示,幽云十六州就是今天的北京一带,地势险峻,是拱卫华北要地的关键。
幽云十六州在五代十国时期,由著名的儿皇帝石敬瑭于936年献给了契丹人。此后,草原的骑兵无山川阻拦,一旦入侵就像是入无人之地。后周、宋朝都尝试收复幽云十六州,著名的杨令公就死于北宋攻幽云之战中。两宋屡屡求和,主要原因就是没有幽云十六州的庇护,草原骑兵可数日内直接包围宋的首都。
幽云十六州在中原王朝丢失455年后,由明朝大将徐达收回。此后幽云一带成了明朝防备蒙古人的军事重地。
朱元璋定都南京,这个选择不可谓不好。但是纵观中国历史,定都南方的王朝,一般是两种,一是中原分裂,偏安南方的政权,比如南北朝的宋齐梁陈。二是被灭国,残余势力跑路到南方,比如两晋和两宋。
而因为这两种原因定都于南方的政权,都丧失了收复失地的动力。毕竟,南方物产丰富,各类资源很多,都不愿意再去北方再受苦。所谓直把杭州作汴州,并不是妄言。
虽然南方政权不愿意北伐,但是北方政权却一直想着去南下,攻占江南。原因在于,华北平原一带由于黄河,极容易泛滥,而华北平原的人民,在洪水的威胁下,是需要南方进行财政支援,帮助北方人民。故如果草原帝国一旦占领了华北,都必须继续南下,不然占领的华北就是一个巨大的包袱。
回到朱棣时期,明朝定都南京,但是国防前线却在北京,需要大量抽调南方的赋税去支援前线。但是由于京师在南京,怎么能说服南方去支援千里之外的北京?朱棣的办法就是迁都,把首都定为国防前线,那南方支援北方就是理所当然的。
如果朱棣不迁都,南方对于北方的支援会慢慢减少,直到北方忍受不了投蒙古或者自己造反,这种先例就是北魏从大同迁都至洛阳,原代北军人从守国都变成守边境,待遇下降,酿成代北六郡起义。